Connecting Other MCP Clients
How to connect Cursor, Windsurf, or any MCP-compatible tool to your Mandraki workspace using the standard HTTP transport.
Overview
Any tool that supports the Model Context Protocol can connect to Mandraki. The integration details are the same regardless of the client:
| Setting | Value |
|---|---|
| Transport | HTTP (Streamable HTTP) |
| Endpoint | https://app.mandraki.cloud/api/v1/mcp |
| Method | POST |
| Auth header | Authorization: Bearer mak_xxxxxxxx |
| SSE endpoint (optional) | https://app.mandraki.cloud/api/v1/mcp/sse |
Before connecting any client, you need an API token. Follow the token creation steps in the Claude Code guide — the process is the same for all clients.
Configuration File
Most MCP clients read a .mcp.json file in the project root. The format is standardised:
{
"mcpServers": {
"mandraki": {
"type": "http",
"url": "https://app.mandraki.cloud/api/v1/mcp",
"headers": {
"Authorization": "Bearer ${MANDRAKI_MCP_TOKEN}"
}
}
}
}
Set the MANDRAKI_MCP_TOKEN environment variable to your mak_ token, or replace the ${...} reference with the token directly.
Cursor
Cursor supports MCP servers natively. Create a .mcp.json file in your project root with the configuration above, then restart Cursor. The Mandraki tools will appear in Cursor’s AI assistant.
Alternatively, add the server in Cursor’s settings UI under AI > MCP Servers.
Windsurf
Windsurf reads MCP configuration from .mcp.json. Place the file in your project root and restart Windsurf. The Mandraki tools will be available to the AI assistant.
Custom MCP Clients
If you are building your own MCP client or using a tool not listed here, the integration is straightforward:
1. Initialize
Send a POST to /api/v1/mcp with the initialize method:
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize"
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"serverInfo": {
"name": "mandraki",
"version": "1.0.0",
"protocolVersion": "2024-11-05"
},
"capabilities": {
"tools": { "listChanged": false },
"resources": { "subscribe": false, "listChanged": false }
},
"protocolVersion": "2024-11-05"
}
}
2. Discover Tools
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
}
The response contains all tools your token’s scopes allow. See Tool Discovery for details.
3. Call a Tool
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "tasks.list-tasks",
"arguments": {}
}
}
4. List Resources
{
"jsonrpc": "2.0",
"id": 4,
"method": "resources/list"
}
SSE Transport
For clients that support Server-Sent Events, connect to GET /api/v1/mcp/sse with the same Authorization header. The server sends:
- An initial
messageevent with theinitializeresult - Keepalive comments (
:keepalive) every 30 seconds
The SSE connection is read-only. Tool calls are still made via POST /api/v1/mcp.
Self-Hosted Instances
If you run a self-hosted Mandraki instance, replace app.mandraki.cloud with your instance hostname in all URLs. The MCP endpoints are available on every Mandraki API server at the same paths.
Security Notes
- Tokens are org-scoped. One token per workspace — if you work across multiple Mandraki organisations, create separate tokens for each.
- All tool calls go through Mandraki’s policy engine and are recorded in the audit log.
- Never share tokens across team members. Each developer should create their own service account and token.