MCP server
Endpoint
JSON-RPC 2.0 over a single POST. Authentication is a Bearer API key, the same one the REST surface takes.
endpoint
https://llm11.com/api/mcpConnect a client
Most MCP clients take a URL and a header map. This is the shape Claude Code and Cursor use.
mcp config
{
"mcpServers": {
"llm11": {
"type": "http",
"url": "https://llm11.com/api/mcp",
"headers": { "Authorization": "Bearer YOUR_LLM11_KEY" }
}
}
}The tool: verify_request
Takes messages and an optional context. Triages, routes, verifies, escalates on failure, and returns the final answer as text with the receipt attached under _meta.
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "verify_request",
"arguments": {
"messages": [
{ "role": "user", "content": "Does this clause allow early termination?" }
],
"context": "8.2 Either party may terminate on 90 days written notice."
}
}
}isError comes back true when the verdict is a failure, so a well-behaved agent can notice a suspect answer without parsing the receipt. Agents that do read the receipt get the full breakdown of which checks ran and what each one found.
Why route an agent through this
An agent loop makes many calls per task and most of them are small: decide the next step, classify an intermediate result, extract a field. Those are exactly the calls a cheaper model handles well and exactly the ones where a wrong answer propagates silently into every later step, because nothing in the loop is checking. Routing them through here means each step is checked at a cost proportional to what it was worth, and the trail of receipts explains where a run went wrong afterwards.
Other machine-readable surfaces
/api/v1/openapi.jsonfor the full REST schema./llms.txtfor a plain-language summary an assistant can read./pricing.jsonfor the plan table as data, generated from the same constant the pricing page renders from.