@clado-ai/mcp
A minimal Model Context Protocol (MCP) server that exposes two tools backed by the Clado router service (default: https://server.clado.ai).
Tools
- searchTools: Vector search over indexed tools via backend POST /search.
- Input: { "query": string, "headers"?: Record<string,string> }
- Returns: backend response as text (JSON string in practice).
- invokeByCladoId: Invoke a tool by its clado_id via backend /invoke/:cladoId.
- Input: { "clado_id": string, "method"?: string, "body"?: any, "headers"?: Record<string,string> }
- Returns: upstream response as text.
Why two transports?
- stdio (default): The canonical MCP transport. The process waits for an MCP host (editor/agent) to speak JSON-RPC over stdin/stdout.
- SSE (optional helper in src/transports/sse.ts): Lets you host the MCP over HTTP using server-sent events. Useful for debugging or non-stdio hosts.
Install
npm i -g @clado-ai/mcp-router
npm ci
npm run build
Run (stdio)
clado-mcp
node build/index.js
The process will appear idle until an MCP host connects over stdio.
Configuration
- Backend URL: compiled to https://server.clado.ai. Override at build-time by editing src/index.ts or transports.
- Auth: This MCP does NOT inject any internal tokens. If the backend requires auth, pass headers per tool call (e.g., {"headers":{"Authorization":"Bearer "}}).
Examples (conceptual MCP calls)
{ "name": "searchTools", "arguments": { "query": "get credits" } }
{ "name": "invokeByCladoId", "arguments": { "clado_id": "srv:clado-search-enrichment-api:get-credits", "method": "GET" } }
- invokeByCladoId (POST with body and headers):
{ "name": "invokeByCladoId", "arguments": { "clado_id": "srv:clado-search-enrichment-api:initiate-deep-research", "method": "POST", "headers": { "Authorization": "Bearer <token>" }, "body": { "query": "staff engineers at fintechs", "limit": 10 } } }
Development
npm run build
node build/index.js
Publish (maintainers)
npm run build && npm publish --access public
Project layout
- src/index.ts: MCP entrypoint (stdio); registers tools
- src/tools/: tool registrations
- src/transports/stdio.ts, src/transports/sse.ts: optional helpers if you want to embed the server elsewhere
License: MIT