mcp@0.3.81
VERIFIED· not startedPublisher claims: "Pharaoh developer install for Claude Code, Codex and Claude Desktop: architecture tools, shell queries and agent workflows." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Not started: dependency install failed; the server itself was not observed.- Tested
- the dependency install step · every file read, file written and host contacted by what ran
- Not tested
- server startup · the tool list · tool behavior
What this means for the label: Verified here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
- It will ask for
- no credential variables read in the code
- Where it talks to
- pharaoh.so (its own)Also claude.com, microsoft.com, chatgpt.com, openclaw.dev — not the publisher's domain; check what for before connecting.
- What the honeypot saw
- no credential files read · no network
- What we could not test
- server startup · the tool list · tool behavior
Connect it under the guard. Not started: dependency install failed; the server itself was not observed. The code names no credential variable and talks to pharaoh.so, its own; the guard pins the network to what the honeypot saw and logs every call.
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; not started: dependency install failed; the server itself was not observed) on 2026-11-11 and scored it 85/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 6 s · 2 scenarios · 0 deviationsStatic findings
/** Explicit setup works in a terminal or a script; tool commands keep the base NPX command. */Fix: Pin versions and sources; vendor anything fetched at install time.* error we explicitly close() the transport to kill EventSource, thenFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.const RECOVERY = "npx @pharaoh-so/mcp@latest install";Fix: Pin versions and sources; vendor anything fetched at install time.const RECOVERY = "npx @pharaoh-so/mcp@latest install --migrate-legacy";Fix: Pin versions and sources; vendor anything fetched at install time.export const NPX_COMMAND = "npx @pharaoh-so/mcp";Fix: Pin versions and sources; vendor anything fetched at install time.* to `npx @pharaoh-so/mcp@<this version>`, and write it back. Creates the fileFix: Pin versions and sources; vendor anything fetched at install time.export declare const NPX_COMMAND = "npx @pharaoh-so/mcp";Fix: Pin versions and sources; vendor anything fetched at install time.* kill the EventSource, then let the proxy's own backoff loop create a freshFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell./** The npx command users run to set up Pharaoh. Single source of truth for all output. */Fix: Pin versions and sources; vendor anything fetched at install time."To inspect project markers for Claude Code, run npx @pharaoh-so/mcp@latest --doctor --client claude-code from the repository root.",Fix: Pin versions and sources; vendor anything fetched at install time.* to `npx @pharaoh-so/mcp@<this version>`, and write it back. Creates the fileFix: Pin versions and sources; vendor anything fetched at install time.export const UPGRADE_COMMAND = `npx ${PACKAGE_NAME}@latest install`;Fix: Pin versions and sources; vendor anything fetched at install time.* kill the EventSource, then let the proxy's own backoff loop create a freshFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.…he interactive setup (`npx @pharaoh-so/mcp` in a terminal) asks once whether to add one line to `~/.claude/CLAUDE.md`: "In repos Pharaoh has mapped, before searching or reading files, ask Pharaoh …Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.…Claude Code plugin and OpenClaw skills", " --migrate-legacy Move plain pinned NPX connections to the managed runtime during install", " --skip-runtime Turn off runtime a…Fix: Pin versions and sources; vendor anything fetched at install time.// proxy finishing device flow, or `npx @pharaoh-so/mcp` in a terminal.Fix: Pin versions and sources; vendor anything fetched at install time.writeCredentials({ ...credentials, runtime_session: randomUUID() });Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose./** List only enabled plain NPX registrations eligible for explicit migration consent. */Fix: Pin versions and sources; vendor anything fetched at install time./** The npx command users run to set up Pharaoh. Single source of truth for all output. */Fix: Pin versions and sources; vendor anything fetched at install time.const COMMAND_MARKER_LINE = `${PHARAOH_COMMAND_MARKER} (rewritten by npx ${PACKAGE_NAME} on upgrade; rename this file to keep your own version)`;Fix: Pin versions and sources; vendor anything fetched at install time.// Non-fatal — explicitly close the transport to killFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.printLines("Pharaoh: install an owned local connection first with npx @pharaoh-so/mcp@latest install. Custom and disabled connections are kept.");Fix: Pin versions and sources; vendor anything fetched at install time.* `npx @pharaoh-so/mcp` command (extra arguments kept) and left alone when itFix: Pin versions and sources; vendor anything fetched at install time.export declare const INSTALL_COMMAND = "npx @pharaoh-so/mcp@latest install";Fix: Pin versions and sources; vendor anything fetched at install time.export declare const UPGRADE_COMMAND = "npx @pharaoh-so/mcp@latest install";Fix: Pin versions and sources; vendor anything fetched at install time./** Explicit setup works in a terminal or a script; tool commands keep the base NPX command. */Fix: Pin versions and sources; vendor anything fetched at install time.…cal connection, get_blast_radius also analyzes saved worktree files. The active NPX hook supplies the checkout reference for local analysis. Hosted scope queries the de…Fix: Pin versions and sources; vendor anything fetched at install time."description": "Checkout reference from the active NPX hook. Omit without one.",Fix: Pin versions and sources; vendor anything fetched at install time.export const INSTALL_COMMAND = "npx @pharaoh-so/mcp@latest install";Fix: Pin versions and sources; vendor anything fetched at install time.metadata: { description: "Pharaoh's Claude Code plugin, installed by npx @pharaoh-so/mcp" },Fix: Pin versions and sources; vendor anything fetched at install time./** List only enabled plain NPX registrations eligible for explicit migration consent. */Fix: Pin versions and sources; vendor anything fetched at install time.const start = `<!-- pharaoh-mcp:start${addedNewline ? "+nl" : ""} (managed by npx ${PACKAGE_NAME}; --clean or --logout removes it) -->`;Fix: Pin versions and sources; vendor anything fetched at install time.* error we explicitly close() the transport to kill EventSource, thenFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.* `npx @pharaoh-so/mcp` command (extra arguments kept) and left alone when itFix: Pin versions and sources; vendor anything fetched at install time.write("Existing pinned NPX connections:");Fix: Pin versions and sources; vendor anything fetched at install time.return `Pharaoh: couldn't write ~/.claude/CLAUDE.md. ${byHand}`;Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.process.stderr.write(`Pharaoh: couldn't remove its line from ~/.claude/CLAUDE.md${code ? ` (${code})` : ""}. Delete the pharaoh-mcp block by hand.\n`);Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.Cost to the agent
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 @pharaoh-so/mcp@0.3.81 as of 3d ago. This is the package itself, not its dependencies.