jcodemunch-mcp@1.108.428
VERIFIED· not startedPublisher claims: "MCP server that gives AI coding agents the exact function or class they asked for, not the whole file. Runs on your machine, 70+ languages. Free for non-commercial use; commercial use needs a one-time license." 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
GH_TOKENGITHUB_TOKENGROQ_API_KEYJCODEMUNCH_HTTP_TOKENJCODEMUNCH_LICENSE_KEYJCODEMUNCH_REDACT_RESPONSE_SECRETSConfiguration, not credentials: CODE_INDEX_PATH, GITHUB_REPOSITORY, GITHUB_RUN_ID, JCODEMUNCH_ALLOW_PAID_SUMMARIES, JCODEMUNCH_CLIENT_ID, JCODEMUNCH_ENFORCE, JCODEMUNCH_HEARTBEAT_SECONDS, JCODEMUNCH_NO_VERSION_HINT, JCODEMUNCH_ORG_ENDPOINT, JCODEMUNCH_ORG_ID, JCODEMUNCH_SUMMARIZER_PROVIDER, JCODEMUNCH_TOOL_SURFACE, OPENAI_API_BASE, PIPX_HOME, WATCHFILES_FORCE_POLLING- Where it talks to
- jcodemunch.com (its own)Also bford.info, groq.com, ffmpeg.org, gravelle.us — 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 with a scoped credential, under the guard, and read the third-party hosts first. The code names bford.info, groq.com, ffmpeg.org, gravelle.us as well as its own vendor. The guard injects GH_TOKEN, GITHUB_TOKEN, GROQ_API_KEY, JCODEMUNCH_HTTP_TOKEN, JCODEMUNCH_LICENSE_KEY, JCODEMUNCH_REDACT_RESPONSE_SECRETS only into requests to jcodemunch.com (and its subdomains) and refuses the rest.
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-09 and scored it 83/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 · 0 s · 2 scenarios · 0 deviationsStatic findings
p = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.out = subprocess.check_output(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.out = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.subprocess.run(["git", "worktree", "remove", "--force", str(wt)], cwd=REPO)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.--benchmark BENCH.json --pr N [--post] [--summary FILE]`Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.p = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.p = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.Prevents path traversal attacks (e.g., ../../etc/passwd) andFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.flagged; an actual credential file (``.env``, ``*.pem``, ``secrets/db.yaml``,Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.p = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.return subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.existing = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.head = subprocess.check_output(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out."""Write ./AGENTS.md with the plan_turn(model=...) directive.Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.r = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.proc = subprocess.Popen(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.out = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.r = subprocess.run(pip_args, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out."Write .github/hooks/hooks.json with a jcodemunch postToolUse rule",Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.hooks.json already exists, the postToolUse rule is appended only ifFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.answer would kill a live client's server."""Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.idle timeout killed it and the kill read as a crash.Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.``benchmarks/schema_baseline.json`` -- compute, never quote.Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why."""Append the Code Exploration Policy to CLAUDE.md.Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.logger.debug("chmod failed for %s", path, exc_info=True)Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out."""Whether a Copilot hooks.json rule is OUR postToolUse rule.Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.r = subprocess.run(init_cmd, check=False, env=dict(os.environ, **{UPGRADE_REFRESH_ENV: "1"}))Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out."""Base exception for watcher errors that should not kill the embedding process."""Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.return subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.out = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.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 jcodemunch-mcp@1.108.428 as of 5d ago. This is the package itself, not its dependencies.