Install Cleo Legal in Claude.
Connect Claude Desktop or Claude Code to Cleo Legal Data with one Bearer token. Ten tools, every /v2 endpoint, multilingual search, translation, bulk operations.
What is MCP?
The Model Context Protocol is an open standard from Anthropic that lets Claude securely call external tools. Once you connect Cleo Legal as an MCP server, Claude can search regulations, fetch documents, translate text, and surface changes — all from inside Claude Desktop or Claude Code, with no glue code on your side.
Authentication is a Bearer token (your Cleo Legal API key). Each tool call consumes the same quota as the REST endpoint behind it (1 unit per call, N units per bulk call). Your key never leaves the Anthropic / Cleo path.
Install in Claude Desktop
- Grab an API key from your dashboard — free or Pro both work.
- Open the Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
- Replace its contents with the snippet below (or merge into your existing
mcpServers). - Restart Claude Desktop. Look for the tool icon in the chat composer — “cleo-legal” should appear with 10 tools.
{
"mcpServers": {
"cleo-legal": {
"url": "https://api.legaldata.cleolabs.co/mcp/sse",
"headers": {
"Authorization": "Bearer ld_live_YOUR_API_KEY"
}
}
}
}Install in Claude Code
One command — same Bearer token, SSE transport. The CLI persists the configuration so every new claude session sees the tools automatically.
claude mcp add --transport sse cleo-legal https://api.legaldata.cleolabs.co/mcp/sse \
--header "Authorization: Bearer ld_live_YOUR_API_KEY"Verify with claude mcp list — you should see cleo-legal as connected. From there, just talk to Claude: it’ll pick the right tool when you ask about regulations, documents, or translations.
Available tools
Every /v2/*endpoint is exposed as an MCP tool. Claude reads the descriptions below and picks the right one for your prompt — but you can also nudge it explicitly (“use search_legal_bulkto…”).
| Tool | What it does | Example prompt |
|---|---|---|
search_legal | Semantic search across 66 official sources. Supports lang, country, type, context filters. | "What does the German BaFin say about MiCA stablecoin licensing?" |
search_legal_bulk | Up to 25 queries in one tool call. Useful when triaging a list of products. | "For each of these 10 SKUs, find the EAEU customs obligations." |
get_document | Fetch a document by id (lean by default, opt-in full text). | "Pull document 4f3a… with the full text." |
get_documents_bulk | Retrieve up to 50 documents in a single call (lean or full). | "Get the full text for these 12 documents I just searched." |
get_document_text | Stream the complete plain-text body of a document, gzip + ETag-aware. | "Give me the full text of TR CU 010/2011." |
get_document_article | Fetch a single article / section by number — multilingual matcher (Article 12, § 12, Глава 12, 第 12 条…). | "Get Article 5 of TR CU 010/2011." |
translate_text | Translate ≤ 5000 chars between supported languages with a domain-aware prompt (customs, legal, technical, generic). | "Translate this Chinese product spec to English with the technical domain." |
get_coverage | Per-source coverage transparency — what we ingest, when it last refreshed. | "What Russian sources do you have, and when did they last refresh?" |
get_changes | Content-diff feed since a timestamp — perfect for RAG re-ingestion. | "List all EU documents that changed since 2026-04-01." |
health | Server health + list of available tools and their versions. | "Are you reachable? What tools do you expose?" |
Example workflows
Once Cleo Legal is wired in, you can ask Claude questions that span multiple tools in a single prompt. A few starting points:
Customs obligations for EAEU export
Find me the customs obligations for centrifugal pumps exported from France to Kazakhstan, then list the regulatory documents that govern them.Compare two standards
Compare TR CU 010/2011 (EAEU) and EN 809:1998 for centrifugal pumps — what differs in scope, marking, and required tests?Translate + cross-lingual search
Translate this Russian product description into English: "Насос центробежный для нефти", then find matching HS codes and EU sanctions documents.Troubleshooting
The server doesn’t appear after restart
Double-check the JSON is valid — a trailing comma will silently break Claude Desktop’s config parser. Run cat ~/Library/Application Support/Claude/claude_desktop_config.json | python3 -m json.tool to validate quickly.
401 unauthorized when calling a tool
The Bearer token is missing or revoked. Verify the key still exists in your dashboard and that it starts with ld_live_. Test keys (ld_test_) work in dev but consume the free tier’s 3-call lifetime quota.
429 rate_limited
You’re past 300 req/minburst on Pro, or you’ve hit the 3-call lifetime quota on Free. Wait the Retry-After seconds advertised in the headers, or upgrade to Pro.
402 plan_quota_exceeded
Free tier exhausted (3 lifetime requests) or Pro monthly quota burnt through (1M req/month). Bulk tools count N units per call — keep that in mind when batching.
Still stuck?
Drop us a line at hello@cleolabs.co with the failing request id (it’s in the X-Request-Idresponse header) and we’ll get back to you.