Skip to content

Tool system: Dynamic MCP server discovery from ~/.config/mcp/ and project config #368

Description

@Delqhi

Problem

mcpclient.DefaultServers() is hard-coded. Users cannot add MCP servers without editing code. SOTA agents scan ~/.config/mcp/ or claude_desktop_config.json for servers.

What to do

  1. mcpclient.DiscoverConfigs() scans:
    • ~/.config/mcp/servers/*.json
    • ~/.config/claude/claude_desktop_config.json
    • ./.sin-code/mcp.json
    • ~/.opencode/opencode.json (mcpServers)
    • ~/.codex/config.json (mcpServers)
  2. Normalize each config to ServerConfig
  3. Add discovered servers to DefaultServers()
  4. sin-code mcp discover — list discovered servers
  5. sin-code mcp add <name> --command "..." --env KEY=VALUE — add to ~/.config/mcp/servers/<name>.json
  6. Deduplicate by name

Acceptance criteria

  • Scan standard MCP config locations
  • Add discovered servers at startup
  • sin-code mcp discover works
  • sin-code mcp add works
  • Deduplication works

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions