originator or investor). You can register both at the same time under different names.
Connection details
Every client needs the same three things:
You can also send the role as an
x-9squid-role: originator | investor header. If both are present, the role query parameter wins. A missing or unrecognized role exposes zero tools.
Your Clerk API key is sent as a bearer token on every request and forwarded by the MCP server to the Platform API for validation. The key is never stored on the MCP server.
Claude Code
Register via CLI
Replace<your-api-key> with your 9squid API key.
--scope user to make the server available in all projects, or --scope project to write it to the project’s .mcp.json.
Register via project config file
Create or edit.mcp.json in your project root. Claude Code expands ${NINE_SQUID_API_KEY} from your environment, so the key stays out of source control.
Verify the connection
/mcp. You should see 9squid-originator and/or 9squid-investor listed as connected.
Remove a registration
Claude Desktop
Claude Desktop’s config file launches local (stdio) servers, so use themcp-remote bridge to reach the hosted server. This requires Node.js 18 or later.
Open your Claude Desktop config file (Settings → Developer → Edit Config):
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
mcpServers:
The header value is passed through
env because some platforms mangle spaces inside args. Keep Authorization:${AUTH_HEADER} exactly as written, with no space after the colon.Cursor
Edit~/.cursor/mcp.json for all projects, or .cursor/mcp.json in a project root:
VS Code (GitHub Copilot)
Create.vscode/mcp.json in your workspace, or run MCP: Open User Configuration from the Command Palette for a global config. VS Code uses a top-level servers key and can prompt for the key once, then store it securely:
Codex CLI
Edit~/.codex/config.toml and bridge to the hosted server with mcp-remote:
codex and run /mcp to confirm the servers and their tools are loaded.
Other MCP clients
Any client that supports remote MCP servers over Streamable HTTP with custom headers can connect using the connection details above. For clients that only launch local stdio servers, use themcp-remote pattern shown for Claude Desktop.
ChatGPT and other header-restricted connectors: the 9squid MCP server requires the API key in an
Authorization header. Connectors that cannot send custom headers (such as ChatGPT custom connectors) are not supported yet.Switching roles
The role is fixed per registration. To switch, register a second server with the other role (for example9squid-investor alongside 9squid-originator), or edit the role query parameter and x-9squid-role header of an existing entry and restart or reconnect the client.
What tools you get per role
See the Tools Reference for a complete listing with parameters.
Troubleshooting
No tools visible after connecting The role is missing or invalid. Verify the URL includes?role=originator or ?role=investor exactly. Missing or unrecognized roles intentionally expose zero tools.
Authentication error
Confirm the Authorization: Bearer <your-api-key> header is present and the key has no extra spaces or quotes. The MCP server only checks that a token exists. The Platform API validates whether the key is authorized.
Claude Desktop or Codex shows the server as failed
Check that Node.js 18+ is installed and npx is on your PATH. Claude Desktop logs are in ~/Library/Logs/Claude/mcp*.log (macOS) or %APPDATA%\Claude\logs\ (Windows).
Server not responding
Check the health endpoint: