Skip to content
secure-mcp
Esc
navigateopen⌘Jpreview
On this page

Client compatibility

Verified MCP client configuration shapes for secure-mcp 2.x, which requires protocol revision 2026-07-28 and rejects legacy handshakes.

Protocol requirement

secure-mcp 2.x is a strict MCP v2 server: it serves protocol revision 2026-07-28 over stdio and rejects legacy 2025-era initialize openings. Do not use this server with a client that cannot negotiate 2026-07-28. The repository’s protocol tests verify the server against the official MCP SDK v2 client; client-side support is controlled by each client’s release.

The config shapes below follow each client’s current official documentation and use absolute paths. SECURE_MCP_ALLOWED_ROOTS is always required.

Client Installer support Config location Notes
OpenAI Codex Automated ~/.codex/config.toml [mcp_servers.secure-mcp] table with command, args, env
Cursor Automated ~/.cursor/mcp.json mcpServers object; stdio entries accept command, args, env
Claude Desktop Manual claude_desktop_config.json mcpServers object
Claude Code Manual .mcp.json or claude mcp add --transport stdio mcpServers object; project trust approval applies
VS Code / GitHub Copilot Manual .vscode/mcp.json or VS Code user settings.json Top-level servers shape, not mcpServers
pi Automated ~/.pi/agent/mcp.json mcpServers object with pi lifecycle fields
Grok Build TUI Unsupported ~/.grok/config.toml Requests MCP 2025-11-25 (initialize); this server only speaks 2026-07-28
Generic stdio MCP client Manual Client-specific Must send server/discover and support 2026-07-28

OpenAI Codex

Codex stores MCP configuration in ~/.codex/config.toml (or a trusted project .codex/config.toml). The installer writes this table:

[mcp_servers.secure-mcp]
command = "node"
args = ["/absolute/path/to/secure-mcp/dist/index.js"]

[mcp_servers.secure-mcp.env]
SECURE_MCP_ALLOWED_ROOTS = "/absolute/path/to/repositories"

Reference: OpenAI Codex MCP documentation.

Cursor

Cursor reads global ~/.cursor/mcp.json or project .cursor/mcp.json. Stdio entries use command, args, and env:

{
  "mcpServers": {
    "secure-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/secure-mcp/dist/index.js"],
      "env": {
        "SECURE_MCP_ALLOWED_ROOTS": "/absolute/path/to/repositories"
      }
    }
  }
}

Reference: Cursor MCP documentation.

Claude Desktop

Claude Desktop reads claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):

{
  "mcpServers": {
    "secure-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/secure-mcp/dist/index.js"],
      "env": {
        "SECURE_MCP_ALLOWED_ROOTS": "/absolute/path/to/repositories"
      }
    }
  }
}

Reference: MCP connect to local servers.

Claude Code

Add a local stdio server with:

claude mcp add --transport stdio secure-mcp -- node /absolute/path/to/secure-mcp/dist/index.js

Or use a .mcp.json with the mcpServers shape above. Project .mcp.json servers require workspace trust before they connect. Reference: Claude Code MCP documentation.

VS Code / GitHub Copilot

VS Code reads .vscode/mcp.json for repository-scoped servers or the user settings.json for personal configuration. It uses a top-level servers key, not mcpServers:

{
  "servers": {
    "secure-mcp": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/secure-mcp/dist/index.js"],
      "env": {
        "SECURE_MCP_ALLOWED_ROOTS": "/absolute/path/to/repositories"
      }
    }
  }
}

Reference: GitHub Docs: use MCP in your IDE.

pi

pi reads ~/.pi/agent/mcp.json. The installer writes the mcpServers entry plus the pi fields that expose canonical tool names:

{
  "mcpServers": {
    "secure-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/secure-mcp/dist/index.js"],
      "env": {
        "SECURE_MCP_ALLOWED_ROOTS": "/absolute/path/to/repositories"
      },
      "lifecycle": "lazy",
      "directTools": true,
      "toolPrefix": "none"
    }
  }
}

Grok Build TUI (unsupported)

Grok is not supported until it speaks MCP protocol revision 2026-07-28. Current Grok Build TUI sessions request 2025-11-25 and open with initialize. This server answers that opening with the SDK unsupported-protocol-version error (-32022) and does not fall back. The installer does not write ~/.grok/config.toml. Do not add a Grok MCP entry until the client negotiates 2026-07-28 via server/discover.

Generic stdio clients

Any stdio MCP client that negotiates protocol revision 2026-07-28 can connect to node /absolute/path/to/secure-mcp/dist/index.js with SECURE_MCP_ALLOWED_ROOTS set. The client must open with server/discover; the server rejects claim-less initialize openings with the unsupported-protocol-version error.

Was this page helpful?