MCP Client Configs

Most clients need the same two values: the Platform MCP URL and an auth method.

MCP Client Configs

Most clients need the same two values: the Platform MCP URL and an auth method.

Use OAuth for a user-operated client. Use an org API key for trusted automation or clients that do not support OAuth discovery.

Platform MCP URL

Use the Streamable HTTP endpoint:

https://mcp.kravos.ai/api/v1

Auth Header For Org API Keys

Use one of these headers:

{
  "Authorization": "Bearer sk_org_..."
}

or:

{
  "x-api-key": "sk_org_..."
}

Do not commit real keys. Store them in your client's secret storage or environment variable support.

Claude Desktop

Claude Desktop support varies by version. Use the remote connector flow when your build supports remote MCP URLs. Otherwise use a local stdio-to-HTTP bridge and point the bridge at Platform MCP.

OAuth remote connector

When Claude Desktop asks for a remote MCP URL, enter:

https://mcp.kravos.ai/api/v1

Then approve the Kravos.ai OAuth consent page in the browser.

Local bridge pattern

For builds that only read claude_desktop_config.json stdio servers, configure a bridge command. The bridge package and header flags are outside Kravos.ai; use the bridge's documented syntax.

{
  "mcpServers": {
    "kravos-platform": {
      "command": "npx",
      "args": [
        "-y",
        "your-mcp-http-bridge",
        "https://mcp.kravos.ai/api/v1",
        "--header",
        "Authorization: Bearer sk_org_..."
      ]
    }
  }
}

Prefer OAuth for personal desktop use. Use the API-key bridge only for machines you control.

Cursor

Cursor supports remote MCP servers in mcp.json.

{
  "mcpServers": {
    "kravos-platform": {
      "url": "https://mcp.kravos.ai/api/v1",
      "headers": {
        "Authorization": "Bearer sk_org_..."
      }
    }
  }
}

For OAuth, add the same URL through Cursor's remote MCP flow and request scopes such as:

docs:read agents:read sources:read conversations:read

Request write or exact write permissions only when the user expects Cursor to change Kravos.ai configuration.

OpenCode

OpenCode remote MCP servers are configured under mcp in opencode.json or opencode.jsonc.

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "kravos-platform": {
      "type": "remote",
      "url": "https://mcp.kravos.ai/api/v1",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer sk_org_..."
      }
    }
  }
}

Keep the key in an environment-specific config file or secret manager when possible. If your OpenCode setup uses OAuth, omit static headers and follow the client's OAuth prompts.

Custom Streamable HTTP Clients

Platform MCP uses stateless Streamable HTTP.

Send JSON-RPC MCP messages to:

POST https://mcp.kravos.ai/api/v1
Accept: application/json, text/event-stream
Content-Type: application/json
Authorization: Bearer sk_org_...
MCP-Protocol-Version: 2025-06-18

Example initialize request:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-06-18",
    "capabilities": {},
    "clientInfo": {
      "name": "custom-kravos-client",
      "version": "0.1.0"
    }
  }
}

Then list and call tools with standard MCP methods.

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list"
}

If auth is missing or expired, the MCP host returns 401 and includes a WWW-Authenticate header pointing to the OAuth protected-resource metadata.

Troubleshooting

SymptomCheck
UNAUTHORIZEDMissing, malformed, expired, revoked, or wrong auth token/key.
EXPIRED_TOKENOAuth access token expired; refresh through the client.
WRONG_RESOURCEOAuth token was issued for a different MCP resource URL.
FORBIDDEN_ORIGINAPI key has allowed origins and the request Origin does not match.
Tool error says missing permissionAdd the exact normal or destructive permission required by that tool.
Tool error says resource deniedAdd or adjust the resource grant, or use a principal with access to that resource.

MCP OAuth Setup

Use OAuth discovery, PKCE, and scoped consent.

MCP Org API Keys

Create a service key for header-based client configs.

Last updated: August 2026