Unblock plugin installs in Claude / Codex / Gemini / Copilot / Cursor / VS Code
Problem
The plugin scaffolding in this repo (.claude-plugin/, .codex-plugin/, .cursor-plugin/, gemini-extension.json, mcp.json) all reference an npm package that doesn't exist:
"command": "npx",
"args": ["-y", "documentdb-mcp-server"]
$ npm view documentdb-mcp-server
npm error 404 Unpublished on 2025-04-17T14:13:45.796Z
So the plugin installs are broken in every client today. v2 will publish to npm under a scoped name; this issue tracks the interim fix so customers can use the plugins now.
Approach
Switch every plugin config from the dead npm name to the public-GitHub spec that npx understands natively:
"args": ["-y", "github:microsoft/documentdb-mcp#v1.0.0"]
This requires microsoft/documentdb-mcp to be public first — tracked in microsoft/documentdb-mcp#TBD.
Tasks (in order)
Validation matrix — gate before announcing
Install the plugin end-to-end in each client at least once and confirm list_databases works:
| Client |
Pass? |
Notes |
Claude Code (/plugin install) |
☐ |
Most likely to choke on cold-start TS compile under npx |
Claude Desktop (claude_desktop_config.json) |
☐ |
|
| Codex CLI |
☐ |
|
| Cursor (deep-link install badge) |
☐ |
|
| GitHub Copilot CLI |
☐ |
|
| VS Code (deep-link install badge) |
☐ |
|
| Gemini CLI |
☐ |
|
If cold-start under npx is too slow (> 60 s) in any client, escalate v2 npm publish — see microsoft/documentdb-mcp#TBD.
Pinning: tag vs branch
Pin to #v1.0.0 (the tag), not #main. Tag pinning prevents customers from breaking when main moves; hotfixes can ship as v1.0.1 etc.
Out of scope
- npm publish (tracked separately as v2)
- Org transfer to
Azure/ (tracked separately)
Done when
- All four+ plugin configs reference the tagged public GitHub spec
- All six clients in the validation matrix install + work
- Pinned discussion is up
- agent-kit
v1.0.0 tag exists
Unblock plugin installs in Claude / Codex / Gemini / Copilot / Cursor / VS Code
Problem
The plugin scaffolding in this repo (
.claude-plugin/,.codex-plugin/,.cursor-plugin/,gemini-extension.json,mcp.json) all reference an npm package that doesn't exist:So the plugin installs are broken in every client today. v2 will publish to npm under a scoped name; this issue tracks the interim fix so customers can use the plugins now.
Approach
Switch every plugin config from the dead npm name to the public-GitHub spec that
npxunderstands natively:This requires
microsoft/documentdb-mcpto be public first — tracked in microsoft/documentdb-mcp#TBD.Tasks (in order)
microsoft/documentdb-mcpto be made public and taggedv1.0.0mcp.json.claude-plugin/plugin.json(if it duplicates the command — currently inherits frommcp.json).codex-plugin/configs.cursor-plugin/configsgemini-extension.jsonREADME.mdinstall snippetsAGENTS.md/GEMINI.md/CLAUDE.mdif any hardcode a commandv1.0.0after merge so marketplaces have a stable refValidation matrix — gate before announcing
Install the plugin end-to-end in each client at least once and confirm
list_databasesworks:/plugin install)npxclaude_desktop_config.json)If cold-start under
npxis too slow (> 60 s) in any client, escalate v2 npm publish — see microsoft/documentdb-mcp#TBD.Pinning: tag vs branch
Pin to
#v1.0.0(the tag), not#main. Tag pinning prevents customers from breaking whenmainmoves; hotfixes can ship asv1.0.1etc.Out of scope
Azure/(tracked separately)Done when
v1.0.0tag exists