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
| Symptom | Check |
|---|---|
UNAUTHORIZED | Missing, malformed, expired, revoked, or wrong auth token/key. |
EXPIRED_TOKEN | OAuth access token expired; refresh through the client. |
WRONG_RESOURCE | OAuth token was issued for a different MCP resource URL. |
FORBIDDEN_ORIGIN | API key has allowed origins and the request Origin does not match. |
| Tool error says missing permission | Add the exact normal or destructive permission required by that tool. |
| Tool error says resource denied | Add or adjust the resource grant, or use a principal with access to that resource. |
Related Docs
MCP OAuth Setup
Use OAuth discovery, PKCE, and scoped consent.
MCP Org API Keys
Create a service key for header-based client configs.


