Use Cerclen from an AI assistant (MCP)
Connect Claude Code, an agent on the Claude API, or any MCP client to Cerclen with your API key.
Cerclen runs an MCP server, so an AI assistant can read a deal's request list and answer requests for you, in plain language: "What's assigned to me on Project Kestrel that's still open?", "Draft answers to the open tax requests from the data room index."
- URL:
https://app.cerclen.com/api/mcp(Streamable HTTP) - Authentication:
Authorization: Bearer <key>, an API key from your organization's API Keys page (how). The assistant acts as you, within the key's limits: a read-only key reads, and a key limited to some deals sees only those.
What the assistant posts goes out at once under your name, marked via API, and the other side is notified. Give it a read-only key until you trust what it does, and keep it to the deals it needs.
Claude Code
Load your key as in Getting started, then:
claude mcp add --transport http cerclen https://app.cerclen.com/api/mcp \
--header "Authorization: Bearer $CERCLEN_KEY"Or share it with a project in .mcp.json, with the key left to each person's environment:
{
"mcpServers": {
"cerclen": {
"type": "http",
"url": "https://app.cerclen.com/api/mcp",
"headers": { "Authorization": "Bearer ${CERCLEN_KEY}" }
}
}
}An agent on the Claude API
The Messages API connects to the server for you, with the key as its authorization_token:
import os
import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-opus-5-5",
max_tokens=4000,
messages=[{"role": "user", "content": "Which requests on Project Kestrel are open and assigned to me?"}],
mcp_servers=[
{
"type": "url",
"url": "https://app.cerclen.com/api/mcp",
"name": "cerclen",
"authorization_token": os.environ["CERCLEN_KEY"],
}
],
tools=[{"type": "mcp_toolset", "mcp_server_name": "cerclen"}],
betas=["mcp-client-2025-11-20"],
)Other clients
Any MCP client that connects to remote servers with a custom header works: give it the URL and
the Authorization header above. Adding Cerclen as a connector in the Claude app, by signing in
with your Cerclen account rather than pasting a key, is planned.
Tools
| Tool | What it does | Writes |
|---|---|---|
whoami | Who the key acts as, its organization and limits | |
list_deals | The deals the key reaches | |
get_deal | A deal, and your person id on it | |
list_people | Everyone on a deal | |
list_requests | A deal's list in short rows; filter by status, assigned to you, or a word | |
get_request | A request in full, with its conversation | |
create_request | Raise a request or a section (the side that runs the list) | Yes |
update_request | Edit, assign, or move the status; clear empties a field | Yes |
post_message | Answer, ask, refer, or note, with links | Yes |
get_download_link | A short-lived link to a file given in answer |
Each tool does what the API does, with the same rules and the same
errors: a refused call comes back as a tool error naming its status and reason,
such as {"status": 403, "code": "forbidden", "reason": "read_only_key"}. Every tool call
counts toward the key's rate limit.