Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

fix: add MCP server detection for Copilot/Codex with grouped UI #509

Copy link
Copy link
@breaking-brake

Description

@breaking-brake
Issue body actions

Summary

Extend MCP Node to detect MCP server configurations from multiple AI coding tools (Copilot, Codex), similar to the Skills detection implemented in #508.

Background

Currently, MCP Node only reads MCP server configurations from Claude Code paths:

  • <workspace>/.mcp.json (project)
  • ~/.mcp.json (user)
  • ~/.claude.json (legacy)

According to AI Coding Tools Configuration Reference, other AI tools also have MCP configurations:

Tool Project Path User/Global Path Format
Claude Code ./.mcp.json ~/.claude.json JSON (mcpServers key)
VSCode Copilot ./.vscode/mcp.json VS Code profile JSON (servers key)
Copilot CLI ./.copilot/mcp-config.json ~/.copilot/mcp-config.json JSON (mcpServers key)
Codex CLI - ~/.codex/config.toml TOML (mcp_servers.*)

Proposed Changes

1. Backend: Extend MCP Config Reader

File: src/extension/services/mcp-config-reader.ts

  • Add reading from Copilot paths:
    • ./.vscode/mcp.json (project, servers key)
    • ~/.copilot/mcp-config.json (user)
  • Add reading from Codex path:
    • ~/.codex/config.toml (user, TOML format)
  • Add source field to McpServerConfig ('claude' | 'copilot' | 'codex')
  • Normalize different key names (serversmcpServers)

2. Frontend: Grouped UI with Jump Navigation

File: src/webview/src/components/dialogs/McpNodeDialog.tsx (or related MCP UI)

Similar to SkillBrowserDialog (#508):

  • Group MCP servers by source (Claude Code / Copilot / Codex)
  • Add jump navigation buttons when multiple sources exist
  • Display section headers with AIProviderBadge

3. Type Updates

File: src/shared/types/mcp-node.ts

interface McpServerReference {
  // ... existing fields
  source?: 'claude' | 'copilot' | 'codex';
}

Implementation Notes

JSON Key Differences

// Claude Code / Copilot CLI
{ "mcpServers": { ... } }

// VSCode Copilot
{ "servers": { ... } }

Codex TOML Format

[mcp_servers.server-name]
enabled = true
command = "npx"
args = ["-y", "package-name"]

Will need a TOML parser (e.g., @iarna/toml or smol-toml).

Acceptance Criteria

  • MCP servers from Copilot paths are detected
  • MCP servers from Codex path are detected (TOML parsing)
  • Each server includes source field
  • UI groups servers by source with jump navigation
  • Backward compatible (servers without source treated as claude)

Related

Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.