feat(mcp): add VS Code host to init-client config - #1770
Conversation
Add `vscode` to `gittensory-mcp init-client --print`. VS Code's native MCP support uses a `servers` map with an explicit `"type": "stdio"` transport (for `.vscode/mcp.json`), which differs from the shared `mcpServers` JSON shape used by claude/cursor/mcp — so it needs its own snippet rather than reusing the generic one. Tests assert the VS Code snippet uses the `servers`/`type` shape and not `mcpServers`.
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ Gittensory review result - approve/merge recommendedReview updated: 2026-06-29 22:16:08 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 5 non-blocking
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Summary
Adds
vscodetogittensory-mcp init-client --print. VS Code has native MCP support, but its config uses aserversmap with an explicit"type": "stdio"transport (for.vscode/mcp.json) — which is different from the sharedmcpServersJSON shape thatclaude/cursor/mcpemit. So it gets its own snippet rather than reusing the generic one:{ "servers": { "gittensory": { "type": "stdio", "command": "gittensory-mcp", "args": ["--stdio"] } } }This fills a real gap — VS Code is a primary MCP host and was previously rejected as an unsupported client.
Scope
packages/gittensory-mcp/bin/gittensory-mcp.js—vscodebranch inclientSnippet()(the VS Codeservers/typeshape), plus theinit-client"missing arg" error, theclientSnippet"unsupported" error, and the--helpusage line.test/unit/mcp-cli-basics.test.ts— assert the VS Code snippet uses theservers/typeshape and notmcpServers.packages/gittensory-mcp/README.md— listvscodeand add a short "Client config" note on the per-host shapes.Packages-only; no
src/**, no UI, no schema/migration/OpenAPI changes. The agent-profile option composes withvscodeautomatically (no extra wiring).Validation
Run locally on Node v24.18.0 (engine floor is 22):
npm run build:mcp→ passnpm run typecheck→ pass, 0 errors (full project, deps installed)npx vitest run test/unit/mcp-cli-basics.test.ts→ 19/19 pass, including the updatedprints MCP client snippetscasenpm pack --workspace @jsonbored/gittensory-mcp --dry-run→ package file list unchanged (only the already-allowed files; no new files, no secrets)init-client --print vscodeemits the shape above;--print otherstill errors as unsupportedNote:
npm run test:mcp-packcouldn't run on my Windows box (its harness callsspawnSync("npm", …), which can't resolvenpm.cmdwithout a shell) — verified the package contents directly withnpm pack --dry-runinstead. It passes on CI (Linux).Safety
No auth, cookie, CORS, GitHub App output, identity, contributor-evidence, or scoring changes. No secrets/wallets/hotkeys/trust/reward terms anywhere. The generated snippet contains only the static command/args already documented for the other hosts.