{"_id":"@aletheia-works/vivarium-mcp","_rev":"5-468a75ecf52bbccd526afcd9ca203d98","name":"@aletheia-works/vivarium-mcp","dist-tags":{"latest":"0.2.1"},"versions":{"0.0.1":{"name":"@aletheia-works/vivarium-mcp","version":"0.0.1","keywords":["mcp","model-context-protocol","vivarium","bug-reproduction","catalogue","ai-tools"],"license":"Apache-2.0","_id":"@aletheia-works/vivarium-mcp@0.0.1","maintainers":[{"name":"jambalaya56562","email":"jambalaya.pyoncafe@outlook.jp"}],"homepage":"https://github.com/aletheia-works/vivarium/tree/main/packages/mcp-server","bugs":{"url":"https://github.com/aletheia-works/vivarium/issues"},"bin":{"vivarium-mcp":"dist/index.js"},"dist":{"shasum":"f55d6cc45d0643165f403ff55d0d2969f50b8647","tarball":"https://registry.npmjs.org/@aletheia-works/vivarium-mcp/-/vivarium-mcp-0.0.1.tgz","fileCount":45,"integrity":"sha512-QAgVqU3A/+u+4EK8ymRydKgrrAb6RecnUWRhfoM9uYFHR2eVc30FBUROKpMTw3tcAFAEO6nADEX87FAZatLkOQ==","signatures":[{"sig":"MEUCIB00Jx0IYMwSvUY4zNXC9NZhOLI9nMDH8+UZORr0jXusAiEAk/rOvbH2CBTFPSdquXKzaCVdxGOb+5WStr43QFOmVlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129952},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"bun":">=1.2.0","node":">=24"},"scripts":{"test":"bun test","build":"tsc","prepublishOnly":"bun run build"},"_npmUser":{"name":"jambalaya56562","email":"jambalaya.pyoncafe@outlook.jp"},"repository":{"url":"git+https://github.com/aletheia-works/vivarium.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"11.13.0","description":"MCP server exposing the Vivarium reproduction catalogue (list_recipes, get_recipe, lookup_verdict, match_error, verify_branch_fix) to AI agent clients (Claude Code, Cline, Cursor, Continue, etc.).","directories":{},"_nodeVersion":"26.1.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","typescript":"^6.0.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/vivarium-mcp_0.0.1_1778345672687_0.39603545236150195","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@aletheia-works/vivarium-mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","vivarium","bug-reproduction","catalogue","ai-tools"],"license":"Apache-2.0","_id":"@aletheia-works/vivarium-mcp@0.1.0","maintainers":[{"name":"jambalaya56562","email":"jambalaya.pyoncafe@outlook.jp"}],"homepage":"https://github.com/aletheia-works/vivarium/tree/main/packages/mcp-server","bugs":{"url":"https://github.com/aletheia-works/vivarium/issues"},"bin":{"vivarium-mcp":"dist/index.js"},"dist":{"shasum":"62b25ba3bd336c3303b23f8defd31a1edd9972bf","tarball":"https://registry.npmjs.org/@aletheia-works/vivarium-mcp/-/vivarium-mcp-0.1.0.tgz","fileCount":45,"integrity":"sha512-IkOjYqTt8N2ikHbczh9huR8lgD6IOVDNx81sHDW01avArwCYv+JaZFqVwt0ZN7j98P4QbksgkCzkueTdBbJrag==","signatures":[{"sig":"MEUCIA5nt7ZrZfqxetUDC+MwdLLvgnNjsLUpblQhNuzRnQwDAiEApJ8S2wKh6Kz9mPNYRbAWeuJkUFZbSFTEVFeLN6CCB1A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-works%2fvivarium-mcp@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":129952},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"bun":">=1.2.0","node":">=24"},"gitHead":"3ec88168850440e414f7e97372f2c2321e4b7b3f","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:119d5382-d0d8-494c-b9d6-971bda16732d"}},"repository":{"url":"git+https://github.com/aletheia-works/vivarium.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"11.14.1","description":"MCP server exposing the Vivarium reproduction catalogue (list_recipes, get_recipe, lookup_verdict, match_error, verify_branch_fix) to AI agent clients (Claude Code, Cline, Cursor, Continue, etc.).","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","typescript":"^6.0.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/vivarium-mcp_0.1.0_1778346875516_0.619830846430067","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aletheia-works/vivarium-mcp","version":"0.1.1","keywords":["mcp","model-context-protocol","vivarium","bug-reproduction","catalogue","ai-tools"],"license":"Apache-2.0","_id":"@aletheia-works/vivarium-mcp@0.1.1","maintainers":[{"name":"jambalaya56562","email":"jambalaya.pyoncafe@outlook.jp"}],"homepage":"https://github.com/aletheia-works/vivarium/tree/main/packages/mcp-server","bugs":{"url":"https://github.com/aletheia-works/vivarium/issues"},"bin":{"vivarium-mcp":"dist/index.js"},"dist":{"shasum":"93ab899bfbef9c5edba83bf7359bfec99db680af","tarball":"https://registry.npmjs.org/@aletheia-works/vivarium-mcp/-/vivarium-mcp-0.1.1.tgz","fileCount":49,"integrity":"sha512-VehFHZU6iFOtlIQTDAL5YLjaYGRFJhkFJr0Y/b7HICtb3H1FenBMClT/d9GKK0oS1ynSFUKdo7YyFTnBdYDHSQ==","signatures":[{"sig":"MEUCICYPRQbHD4AWqr7eA3ywqc3pktd9bJLPfxRKR0rEkHMzAiEAn3e4pQE0mGFIYlHgVBR6hWY6aHCsYfAChnWWmdQEE7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-works%2fvivarium-mcp@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":149715},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"bun":">=1.2.0","node":">=24"},"gitHead":"a11cfbf041d557330558b9acb0ae8bb72be4e987","scripts":{"test":"bun run sync:bundled && bun test","build":"bun run sync:bundled && tsc","sync:bundled":"mkdir -p src/bundled && cp ../../docs/public/api/recipes.json src/bundled/recipes.json","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:119d5382-d0d8-494c-b9d6-971bda16732d"}},"repository":{"url":"git+https://github.com/aletheia-works/vivarium.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"11.14.1","description":"MCP server exposing the Vivarium reproduction catalogue (list_recipes, get_recipe, lookup_verdict, match_error, verify_branch_fix, prepare_new_recipe, prepare_fix_candidate) to AI agent clients (Claude Code, Cline, Cursor, Continue, etc.).","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","typescript":"^6.0.3","@types/node":"^25.6.2"},"_npmOperationalInternal":{"tmp":"tmp/vivarium-mcp_0.1.1_1778440584493_0.32124874330078934","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@aletheia-works/vivarium-mcp","version":"0.1.4","keywords":["mcp","model-context-protocol","vivarium","bug-reproduction","catalogue","ai-tools"],"license":"Apache-2.0","_id":"@aletheia-works/vivarium-mcp@0.1.4","maintainers":[{"name":"jambalaya56562","email":"jambalaya.pyoncafe@outlook.jp"}],"homepage":"https://github.com/aletheia-works/vivarium/tree/main/packages/mcp-server","bugs":{"url":"https://github.com/aletheia-works/vivarium/issues"},"bin":{"vivarium-mcp":"dist/index.js"},"dist":{"shasum":"61948350941ba67655ef85573dadd95382b6fb98","tarball":"https://registry.npmjs.org/@aletheia-works/vivarium-mcp/-/vivarium-mcp-0.1.4.tgz","fileCount":57,"integrity":"sha512-cg920SjG8BESAvHyh6pWyMAvYm+cbO7zCb78b8AmBebSIk1ewT4mD0fhx6tvTIrt/e8J7NZBFSPm3T94+9aZkg==","signatures":[{"sig":"MEUCIGH65QdBI3BT40/DI55tYj+ubPV82cRDanisinlNd9ROAiEAzLJHWyJQT+Zw3VIiEyqJ0EmHcIiEK2L5d7AUiEsJxx8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-works%2fvivarium-mcp@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":194949},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"bun":">=1.2.0","node":">=24"},"gitHead":"928482956f5ce9f54fc9e720fd4a0d18710e3636","scripts":{"test":"bun run sync:bundled && bun test","build":"bun run sync:bundled && tsc","sync:bundled":"mkdir -p src/bundled && cp ../../docs/site/public/api/recipes.json src/bundled/recipes.json","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:119d5382-d0d8-494c-b9d6-971bda16732d"}},"repository":{"url":"git+https://github.com/aletheia-works/vivarium.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"11.14.1","description":"MCP server exposing the Vivarium reproduction catalogue (list_recipes, get_recipe, lookup_verdict, match_error, search_upstream_issues, verify_branch_fix, verify_and_report_fix, prepare_new_recipe, prepare_fix_candidate) to AI agent clients (Claude Code, ","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","typescript":"^6.0.3","@types/node":"^25.6.2"},"_npmOperationalInternal":{"tmp":"tmp/vivarium-mcp_0.1.4_1779002289624_0.5093122460324104","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aletheia-works/vivarium-mcp","version":"0.2.1","description":"MCP server exposing the Vivarium reproduction catalogue (list_recipes, get_recipe, lookup_verdict, match_error, search_upstream_issues, verify_branch_fix, verify_and_report_fix, prepare_new_recipe, prepare_fix_candidate, create_fork_pr) to AI agent client","license":"Apache-2.0","homepage":"https://github.com/aletheia-works/vivarium/tree/main/packages/mcp-server","bugs":{"url":"https://github.com/aletheia-works/vivarium/issues"},"repository":{"type":"git","url":"git+https://github.com/aletheia-works/vivarium.git","directory":"packages/mcp-server"},"type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"vivarium-mcp":"dist/index.js"},"scripts":{"sync:bundled":"mkdir -p src/bundled && cp ../../docs/site/public/api/recipes.json src/bundled/recipes.json","build":"bun run sync:bundled && tsc","test":"bun run sync:bundled && bun test","prepublishOnly":"bun run build"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"devDependencies":{"@types/bun":"^1.3.13","@types/node":"^25.6.2","typescript":"^6.0.3"},"engines":{"node":">=24","bun":">=1.2.0"},"keywords":["mcp","model-context-protocol","vivarium","bug-reproduction","catalogue","ai-tools"],"publishConfig":{"access":"public","provenance":true},"gitHead":"6dd66ec958e75e0986179ce221bdf2405d7e6923","_id":"@aletheia-works/vivarium-mcp@0.2.1","_nodeVersion":"20.20.2","_npmVersion":"11.14.1","dist":{"integrity":"sha512-2yAYoVsF3fZQ0kMnqs1O9Dzba/bmUIDQReEY0m8VyEF9ycK7KDCESwwZvpmWiUw95dMM3LtDvGRva12GHimvTw==","shasum":"1b04e60df29707530db202738114238ac1d8aec5","tarball":"https://registry.npmjs.org/@aletheia-works/vivarium-mcp/-/vivarium-mcp-0.2.1.tgz","fileCount":69,"unpackedSize":266271,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-works%2fvivarium-mcp@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDfDKcUovt1cFYVbCBOImBnbgWO9JQ7VpG+Um5aNBd+owIhANLSWk3grmGtyLqUNTgTPZ4iTFQEiEj1IAmkhqnjp8p9"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:119d5382-d0d8-494c-b9d6-971bda16732d"}},"directories":{},"maintainers":[{"name":"jambalaya56562","email":"jambalaya.pyoncafe@outlook.jp"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vivarium-mcp_0.2.1_1779008992682_0.3908446315363492"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-09T16:54:32.626Z","modified":"2026-05-17T09:09:53.182Z","0.0.1":"2026-05-09T16:54:32.848Z","0.1.0":"2026-05-09T17:14:35.698Z","0.1.1":"2026-05-10T19:16:24.636Z","0.1.4":"2026-05-17T07:18:09.789Z","0.2.1":"2026-05-17T09:09:52.899Z"},"bugs":{"url":"https://github.com/aletheia-works/vivarium/issues"},"license":"Apache-2.0","homepage":"https://github.com/aletheia-works/vivarium/tree/main/packages/mcp-server","keywords":["mcp","model-context-protocol","vivarium","bug-reproduction","catalogue","ai-tools"],"repository":{"type":"git","url":"git+https://github.com/aletheia-works/vivarium.git","directory":"packages/mcp-server"},"description":"MCP server exposing the Vivarium reproduction catalogue (list_recipes, get_recipe, lookup_verdict, match_error, search_upstream_issues, verify_branch_fix, verify_and_report_fix, prepare_new_recipe, prepare_fix_candidate, create_fork_pr) to AI agent client","maintainers":[{"name":"jambalaya56562","email":"jambalaya.pyoncafe@outlook.jp"}],"readme":"# `@aletheia-works/vivarium-mcp`\n\n[Model Context Protocol](https://modelcontextprotocol.io) server that\nexposes the [Vivarium](https://github.com/aletheia-works/vivarium)\nreproduction catalogue to AI agent clients (Claude Code, Cline, Cursor,\nContinue, etc.).\n\nVivarium is the universal bug-reproduction platform of the\n[`aletheia-works`](https://github.com/aletheia-works) organisation —\n\"reproduce any bug, in any language, any environment, at any scale.\"\nThis package is the agent-callable surface that lets AI tools\n*discover* what reproductions exist, look up their metadata, and read\ndeployed verdict snapshots, without scraping the docs site.\n\n## Tools\n\n| Tool | Returns | Layer coverage |\n|---|---|---|\n| `list_recipes(layer?, project?, q?)` | Filtered list of catalogue entries. | All layers (1, 2, 3). |\n| `get_recipe(slug)` | Full metadata for one recipe (title, project, issue, page URL, verdict snapshot URL, GitHub source URL). | All layers. |\n| `lookup_verdict(slug)` | Layer 1 → `kind: \"live\"` + page URL (verdicts run in the browser). Layer 2/3 → `kind: \"snapshot\"` with the deployed `verdict.json` contents (verdict, exit code, image digest, stdout, stderr tail). | All layers (Layer 1 returns a stub). |\n| `match_error(text, limit?)` | Mechanical token-overlap ranking of recipes against a pasted error message or stack trace. Synonym table + bounded fuzzy match + multi-language stopwords. | All layers. |\n| `verify_branch_fix(slug, fix_url? \\| fix_source?)` | Scaffolding helper for the AI-slop verification loop. Layer 1 → Path A: a recipe-page `compare_url` with the fix pre-loaded. Layer 2/3 → Path B: a `/repro/compare` deep-link plus the `gh workflow run branch-fix-verdict.yml` command. NOT an execution engine — actual reproduction runs in the visitor's browser (Path A) or in GitHub Actions (Path B). | All layers. |\n| `prepare_new_recipe(project, issue, title, base_image?, repo_owner?, layer?)` | Scaffolding helper that bundles every artefact an agent needs to author a new recipe: validated slug, the exact `mise run recipes:new` and `mise run recipes:verify` commands, placeholder rows for `docs/site/_data/recipe-facets.json` and (if the project is new) `docs/site/_data/projects.json`, a commit-subject template, and a sequenced next-steps checklist. NOT an execution engine — the agent's shell tool runs the returned commands. | Layer 2 has the canonical scaffolder; Layer 1/3 fall back to copying from an existing recipe. |\n| `prepare_fix_candidate(slug, fork_url, branch, upstream_pr?, package?, purpose?)` | Scaffolding helper that registers a fix-candidate spec on an existing Layer 1 recipe so the page runs the fork branch's wheel side-by-side with the released build (per ADR-0040). Returns the `fix-candidate.json` content, the recommended commit subject + PR title, a ready-to-paste PR body (with AI-authorship disclosure tucked inside a `<details>` block), and the exact `gh` / `git` commands to fork-and-clone aletheia-works/vivarium, branch off main, drop the spec in, commit, push, and open the cross-repo PR. NOT an execution engine — the agent's shell tool runs the returned commands. | Layer 1 only (Layers 2/3 use `verify_branch_fix`). |\n\n## Install\n\nThe exact MCP-config file location varies by client (Claude Code:\n`~/.claude/mcp.json`; Cline: its VS Code settings; Cursor:\n`~/.cursor/mcp.json`).\n\n### npm (default for `npx`-based MCP launchers)\n\n```json\n{\n  \"mcpServers\": {\n    \"vivarium\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@aletheia-works/vivarium-mcp@latest\"]\n    }\n  }\n}\n```\n\n### JSR (Bun / Deno native install)\n\n```bash\nbunx jsr:@aletheia-works/vivarium-mcp\n# or\ndeno run --allow-net --allow-read jsr:@aletheia-works/vivarium-mcp\n```\n\n## Configuration\n\nThe server reads no environment variables and accepts no command-line\nflags in v1. It fetches the catalogue index from\n<https://aletheia-works.github.io/vivarium/api/recipes.json> with a\n5-minute in-process TTL, falling back to a build-time bundled snapshot\nwhen the network is unavailable.\n\n## Versioning\n\nThe MCP server's tool surface (the tools listed above and their input\nschemas) is locked at v1. Optional additive changes ship as minor\nrevisions; breaking changes require a v2 release.\n\nThe recipes index format consumed by this server is locked separately\nat `index = \"v1\"` — see\n<https://aletheia-works.github.io/vivarium/spec/recipes-index-v1>.\n\n## License\n\nApache-2.0 — see [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}