Onto MCP in any client

The server speaks standard MCP over stdio — the universal command works in any compatible host. For the major clients, we have dedicated step-by-step pages.

The command is always the same: npx -y @ontosdk/mcp@latest with ONTO_API_KEY in the env. Only each host's wrapper JSON differs.

Pick your client

ClientConfig schemaGuide
Claude CodemcpServers (CLI or ~/.claude.json)/mcp/claude-code
Claude DesktopmcpServers (claude_desktop_config.json)/mcp/claude-desktop
CursormcpServers (~/.cursor/mcp.json)/mcp/cursor
Cline (VS Code)mcpServers (cline_mcp_settings.json)/mcp/cline
Zedcontext_servers (settings.json)/mcp/zed
Continueexperimental.modelContextProtocolServers/mcp/continue
WindsurfmcpServers (Cascade settings)/mcp/windsurf
opencodemcp (opencode.jsonc, type: local)/mcp/opencode

Universal launch command

If your client supports MCP over stdio and isn't listed above, point its launcher at this command — that's all the server needs:

bash
npx -y @ontosdk/mcp@latest

with ONTO_API_KEY exposed in the environment. The server advertises six tools — see the tools reference for input schemas and example responses.

Schema cheatsheet

Most MCP clients use the same standard mcpServers wrapper — this block works as-is in Claude Code, Claude Desktop, Cursor, Cline, and Windsurf:

json
{
  "mcpServers": {
    "onto": {
      "command": "npx",
      "args": ["-y", "@ontosdk/mcp@latest"],
      "env": {
        "ONTO_API_KEY": "onto_sk_live_your_key_here"
      }
    }
  }
}
Three exceptions to memorize: Zed uses context_servers with a nested command object, Continue uses an experimental.modelContextProtocolServers array, and opencode uses a top-level mcp block with type: "local", command as an array, and environment (not env). Their pages have the exact JSON shape.