har (os-factory/har) is an MCP server listed on the M8ven Trust Index. It scores 61 out of 100, grade C. It declares 23 tools. No publisher has claimed this listing.

C
Caution
61/100

har

HAR: open agent harness (CLI + MCP) for coding agents. Isolated worktrees, deterministic verify, software factory workflows for Claude Code, Cursor, and Codex.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

os-factory

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Secret credentials may flow to a network call
1 flow detected: HAR_CLOUD_API_KEY. We can’t prove the destination matches the brand the credential belongs to.
⚠️
Known vulnerabilities in dependencies: 3 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
🔐
You'll be asked for 2 credentials: HAR_CLOUD_API_KEY, HAR_PORTAL_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes23 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

har_describe_project

Read manifest, stack hints, available scripts, and harness stages for a repository.

har_init_harness

Scaffold .har/ boilerplate for a coding agent to adapt. Docker is required (Mission Control container + harness infra); the response reports Docker availability.

har_maintain

Validate .har/ against the bundled templates: returns validation issues, drift, and a maintenance bundle report. Pass finalize=true (optionally with summary) to record a completed manual adaptation in .har/manifest.json.

har_add_plugin

Install a verification plugin (bundled id, local path, npm package, or git URL) that registers stages in .har/stages.json.

har_launch_environment

Start a FRESH agent session from the main checkout HEAD (switch that checkout to main first for a new unrelated task). Run BEFORE editing any file: returns workDir — ALL edits go there, never the main checkout. Occupied slots always block: call har_get_status, then har_complete_environment or har_te

har_add_work_unit_link

Append a related external link (PR, mirrored issue, alternate tracker) to an existing work unit.

har_recover_environment

Resume a failed or partial agent launch without replacing the worktree. Alias for har_launch_environment with resume=true.

har_preflight_environment

Readiness gate before launch: checks ports, foreign PM2, Docker conflicts, occupied slot, and untracked paths that will be missing from a session worktree. Returns canLaunch with actionable blockers and warnings. Call before har_launch_environment.

har_run_stage

Run one generic harness stage by id or kind.

har_run_verification

Run the project verification pipeline for an agent slot. Returns status, timing, and failed-step output (passing steps omit logs; stdout is not the raw JSON dump).

har_doctor

Validate the harness contract: harness.env schema, stages.json, stage scripts exist and are executable, lifecycle stages resolve, verificationStages ids resolve, port lanes are coherent, slot registry entries point at existing worktrees. Returns pass/fail with actionable findings.

har_get_status

Return structured slot status for one agent or all slots (same source as har env status/--json). Call BEFORE har_launch_environment when a slot may already be in use — shows worktree path, dirty state, branch, and readiness.

har_get_logs

Return recent logs for a slot/process.

har_teardown_environment

Stop a running agent environment slot. The session git branch is kept unless deleteBranch=true.

har_complete_environment

Finish a session when the work is done: reuses the last passing full validation for the current worktree (or re-runs verify when verify=true), tears the slot down, and KEEPS the session branch so the user can push it and open a PR.

har_list_artifacts

List result JSON, screenshots, traces, reports, or other files under .har/artifacts/.

har_list_runs

List persisted harness run records from .har/runs/.

har_get_run

Fetch one harness run record by runId.

har_control_up

Start local Mission Control (a single self-contained Docker container backed by SQLite) and sync all harness repositories that were scaffolded with har onboard or har_init_harness.

har_line_create

Scaffold a project-owned factory line at .har/lines/<id>/ (manifest, program, optional gate stage, README). A line is a multi-station program, not a verification plugin.

har_add_line

Install a factory line bundle (local id, path, npm package, or git URL). Registers the line's stages but NEVER adds them to verificationStages — default verify stays unchanged. Verification plugins use har_add_plugin instead.

har_line_status

Stations, cumulative gate progress derived from .har/runs/ records, and slots in flight for installed factory lines. Pure read — writes no run records.

har_run_line_gate

Run one station's cumulative gate: every gate stage tagged at that station or earlier. Runs through the normal stage runner and writes run records; does not call verify and does not widen the verify plan.

// known CVEs in dependencies3 high2 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

highjs-yaml@3.14.2GHSA-2883-xcg3-v3hh

js-yaml: maxTotalMergeKeys does not limit CPU use for empty merge sources

highjs-yaml@3.14.2GHSA-52cp-r559-cp3m

js-yaml: YAML merge-key chains can force quadratic CPU consumption

highjs-yaml@3.14.2GHSA-5p4m-2wfm-xmqj

JS-YAML: Quadratic CPU consumption in !!omap resolution (3.x and 4.x) — CVE-2026-59870 fix not backported

lowjs-yaml@3.14.2GHSA-h67p-54hq-rp68

JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases

lowesbuild@0.23.1GHSA-67mh-4wv8-2f99

esbuild enables any website to send any requests to the development server and read the response

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configAPI_URL
configBASE_URL
configDEVELOPER_DIR
configGOPATH
configGOROOT
configHAR_CLAUDE_PROJECTS_DIR
🔐 secretHAR_CLOUD_API_KEY
configHAR_CLOUD_API_URL
configHAR_CODEX_SESSIONS_DIR
configHAR_CONTROL_API_URL
configHAR_CONTROL_BUILD
configHAR_CONTROL_DISABLED
configHAR_CONTROL_IMAGE
configHAR_CONTROL_IMAGE_TAG
configHAR_CONTROL_REGISTRY_PATH
configHAR_CONTROL_SYNC_SELECTION_PATH
configHAR_CONTROL_VERBOSE
configHAR_CREDENTIALS_PATH
configHAR_EJECT_RUNTIME_SOURCE
configHAR_OTEL_HOOKS_HOME
configHAR_PACKAGE_VERSION
configHAR_PORTAL_SYNC_STATE_PATH
configHAR_PORTAL_TARGETS_PATH
🔐 secretHAR_PORTAL_TOKEN
configHAR_PORTAL_TRAJECTORY
configHAR_PORTAL_URL
configHAR_PREFERENCES_PATH
configHAR_ROOT
configHAR_SYNC_MAX_BATCH_BYTES
configHAR_SYNC_OVERLAP_MS
configHAR_TELEMETRY
configHAR_TELEMETRY_CONFIG_PATH
configHAR_WORKTREES_ROOT
configJAVA_HOME
configPW_SCREENSHOT
configPYTHON_BIN
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

23/23 tools missing one or more hints — har_describe_project (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); har_init_harness (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); har_maintain (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +20 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Shell command execution

17 calls in production code run through a shell (src/core/cleanup-service.ts:74, src/core/cleanup-service.ts:381, src/core/control-port.ts:47)

Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.

No arbitrary install scripts

Has postinstall/preinstall script — runs arbitrary code on npm install

Remove postinstall/preinstall hooks unless they’re essential.

Production dependencies are patched

0 critical, 3 high severity in production deps — js-yaml@3.14.2 (high), js-yaml@3.14.2 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Domain consistency

npm scope @osfactory doesn't match GitHub owner os-factory

Use the same org name across GitHub, npm, and your homepage so users can verify the publisher.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 6 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/os-factory/har?variant=verified)](https://m8ven.ai/mcp/os-factory/har)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: a4f3044025875464b5e57569823539987677941c
code hash: b3ac40bba284bff430b46e30471e9c8bf4bd787ca30d9c2f0b7e4e32bf2ca15b
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client