Skills/npm/mcp-server

mcp-server@3.18.0

VERIFIED

Publisher claims: "AnyForge MCP Server — drive AnyForge (HIL approvals, initiatives, work items, crews) from Claude CLI, Cursor, and other MCP clients" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server) · listed in the official MCP RegistryPublisher anyforge · publishing for 167 daysInstalls 4,985Last detonated 5d ago
$claude mcp add mcp-server -- npx -y @anyforge/mcp-server
WatchReport an issue

Coverage

Server started and answered tools/list.
Tested
MCP initialize and tools/list · every tool description, for hidden instructions · every file read, file written and host contacted by what ran
Not tested
what the tools do when called with real credentials

Before you give it your token

It will ask for
ANYFORGE_API_TOKENConfiguration, not credentials: ANYFORGE_API_URL
Where it talks to
anyforge.ai (its own)
What the honeypot saw
no credential files read · no network
What we could not test
what the tools do when called with real credentials

Connect it with a scoped credential, under the guard. It asks for ANYFORGE_API_TOKEN and talks to anyforge.ai. Give the credential to the guard, not the server: the value never enters the server's environment and only travels to the host you bind.

$vet-skills run --secrets ANYFORGE_API_TOKEN=anyforge.ai -- npx -y @anyforge/mcp-server

Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios) on 2026-11-09 and scored it 90/100 (Verified). It did what it claims and nothing else we could detect: no undeclared network egress, no credential reads, no persistent instruction writes. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 25 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
5.1sprocessdependency install exit 0
25sclaimed242 tools: anyforge_branch_studio_session, anyforge_rewind_studio_session, anyforge_update_studio_review_finding, anyforge_get_studio_pr_comments, anyforge_get_studio_pr_jobs, anyforge_get_studio_pr_logs, anyforge_request_studio_review, anyforge_list_studio_crew_batches, anyforge_get_studio_crew_batch, anyforge_preview_studio_crew_batch, anyforge_cancel_studio_crew_batch, anyforge_retry_studio_crew_batch, anyforge_list_studio_sessions, anyforge_create_studio_session, anyforge_get_studio_usage, anyforge_get_studio_session, anyforge_update_studio_session, anyforge_get_studio_context, anyforge_add_studio_context, anyforge_list_studio_runs, anyforge_start_studio_run, anyforge_get_studio_run, anyforge_get_studio_run_events, anyforge_control_studio_run, anyforge_get_studio_changes
25sprocessscript backend runs setup only
25sprocessno install scripts to re-run

Static findings

MEDIUM
npx invocation of non-well-known packagedist/index.js:2 · npx invocation of non-well-known package — may execute untrusted code…ndpoint:i||r.endpoint||dt};throw new Error("No AnyForge credentials found. Run `npx @anyforge/control init` to authorise this machine, or set ANYFORGE_API_TOKEN (and optionally ANYF…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actiondist/index.js:3 · File type combined with upload action — agent may exfiltrate local data files…":re.getStore()}:{}},...r!==void 0?{body:JSON.stringify(r)}:{}}),u;try{u=await y.json()}catch{throw new f("invalid_response",y.status,`non-JSON response from ${p}`)}if(!y.ok||u.ok===!1){let h=typeof u.error=="string"?u.error:`http_${y.stat…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actiondist/index.js:7 · File type combined with upload action — agent may exfiltrate local data files…eads the repo tree for a checked-in coverage report (lcov.info, coverage-summary.json, cobertura, clover) and records the parsed %, so a repo that publishes coverage in git shows a number without a crew run or a manual upload. Runs in the …Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07

Cost to the agent

Instructions loaded
≈71 tok
1 file · 4 in bundle
Tool list per prompt
≈66,217 tok
242 tools · 274 per tool
Handshake
4899 ms
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 424

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

No advisories in OSV for @anyforge/mcp-server@3.18.0 as of 5d ago. This is the package itself, not its dependencies.