2.home-manager/tests/modules/programs/claude-code/expected-mcp-plugin.json
Austin Horstman 4fcef56c15 claude-code: load MCP config via plugin dir
Claude Code rejects `--mcp-config` once the Home Manager wrapper injects
it around subcommands, which breaks commands like `claude mcp list`.
Claude Code 2.1.76 fixed `--plugin-dir` so it no longer consumes
following subcommands, so use that path for the generated MCP config
instead.

Generate a plugin directory with a manifest and `.mcp.json`, wrap
`claude` with `--plugin-dir` before user arguments, and snapshot that
wrapper directly in the tests. Keep the existing LSP support in the
generated plugin directory as well, and add coverage for the combined
MCP+LSP case plus the MCP integration merge path.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-18 23:58:36 -05:00

36 lines
744 B
JSON

{
"mcpServers": {
"customTransport": {
"customOption": "value",
"timeout": 5000,
"type": "websocket",
"url": "wss://example.com/mcp"
},
"database": {
"args": [
"-y",
"@bytebase/dbhub",
"--dsn",
"postgresql://user:pass@localhost:5432/db"
],
"command": "npx",
"env": {
"DATABASE_URL": "postgresql://user:pass@localhost:5432/db"
},
"type": "stdio"
},
"filesystem": {
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/tmp"
],
"command": "npx",
"type": "stdio"
},
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/"
}
}
}