Bug
adr-kit setup-claude creates .claude-mcp-config.json — a filename Claude Code does not recognize. Claude Code reads MCP server configuration from .mcp.json (project-level) only. The generated file is silently ignored, so the MCP server is never loaded after running the setup command.
Additionally, the generated config uses "servers" as the top-level key. Claude Code requires "mcpServers".
Steps to Reproduce
adr-kit setup-claude
# Creates: .claude-mcp-config.json ← wrong filename
# Claude Code needs: .mcp.json
Generated file (wrong)
.claude-mcp-config.json:
{
"servers": {
"adr-kit": {
"command": "/path/to/adr-kit",
"args": ["mcp-server"],
"tools": ["adr_init", "adr_query_related", "adr_validate", ...]
}
}
}
Three problems:
- Wrong filename — must be
.mcp.json, not .claude-mcp-config.json
- Wrong top-level key — must be
"mcpServers", not "servers"
- Stale tool list — the
tools array references old API names (adr_init, adr_query_related, adr_validate, adr_index, adr_export_lint_config, adr_render_site) that no longer exist in the MCP server. The actual v0.2.7 tools are: adr_analyze_project, adr_preflight, adr_create, adr_approve, adr_supersede, adr_planning_context.
Expected file (correct)
.mcp.json:
{
"mcpServers": {
"adr-kit": {
"command": "/path/to/adr-kit",
"args": ["mcp-server"]
}
}
}
Note: the tools array is not needed in .mcp.json — Claude Code discovers available tools by querying the running MCP server.
Proposed Fix
In cli.py, _setup_claude_impl():
- Change output filename from
.claude-mcp-config.json → .mcp.json
- Change top-level key from
"servers" → "mcpServers"
- Remove the stale hardcoded
tools array, or update it to reflect the current server API
Environment
- adr-kit version: 0.2.7
- Claude Code: current
- Verified by: manually creating
.mcp.json with mcpServers key — MCP server loads correctly after restart
Bug
adr-kit setup-claudecreates.claude-mcp-config.json— a filename Claude Code does not recognize. Claude Code reads MCP server configuration from.mcp.json(project-level) only. The generated file is silently ignored, so the MCP server is never loaded after running the setup command.Additionally, the generated config uses
"servers"as the top-level key. Claude Code requires"mcpServers".Steps to Reproduce
Generated file (wrong)
.claude-mcp-config.json:{ "servers": { "adr-kit": { "command": "/path/to/adr-kit", "args": ["mcp-server"], "tools": ["adr_init", "adr_query_related", "adr_validate", ...] } } }Three problems:
.mcp.json, not.claude-mcp-config.json"mcpServers", not"servers"toolsarray references old API names (adr_init,adr_query_related,adr_validate,adr_index,adr_export_lint_config,adr_render_site) that no longer exist in the MCP server. The actual v0.2.7 tools are:adr_analyze_project,adr_preflight,adr_create,adr_approve,adr_supersede,adr_planning_context.Expected file (correct)
.mcp.json:{ "mcpServers": { "adr-kit": { "command": "/path/to/adr-kit", "args": ["mcp-server"] } } }Note: the
toolsarray is not needed in.mcp.json— Claude Code discovers available tools by querying the running MCP server.Proposed Fix
In
cli.py,_setup_claude_impl():.claude-mcp-config.json→.mcp.json"servers"→"mcpServers"toolsarray, or update it to reflect the current server APIEnvironment
.mcp.jsonwithmcpServerskey — MCP server loads correctly after restart