Skip to content

setup-claude creates wrong config filename (.claude-mcp-config.json instead of .mcp.json) #23

@le-dawg

Description

@le-dawg

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:

  1. Wrong filename — must be .mcp.json, not .claude-mcp-config.json
  2. Wrong top-level key — must be "mcpServers", not "servers"
  3. 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():

  1. Change output filename from .claude-mcp-config.json.mcp.json
  2. Change top-level key from "servers""mcpServers"
  3. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions