Developers · MCP
The MCP server
The firm API’s reads as tools an AI assistant can call, under the firm’s own key — the same scopes, walls, allowlist and limits — and one tool that files a proposal for the firm to decide.
Reviewed 2026-10-01 · protocol 2025-06-18
Off until the platform turns it on: until then /mcp answers 404 to every request and offers nothing. The REST API works today with the same key.
Connecting
- Endpoint
https://estatedraftfl.com/mcp— JSON-RPC 2.0, one message per POST, one JSON answer (no stream; GET answers 405). - Protocol 2025-06-18 or 2025-03-26; send
MCP-Protocol-Versionafter initializing. - Authorization: the firm’s key as a bearer token, exactly as for the REST API. A key sees only the tools its scopes allow.
- Each key has its own MCP lanes: 120 reads and 30 writes a minute.
{
"mcpServers": {
"estatedraftfl": {
"type": "http",
"url": "https://estatedraftfl.com/mcp",
"headers": { "Authorization": "Bearer ${EDFL_FIRM_KEY}" }
}
}
}Tools
list_mattersmatters:read · readsget_mattermatters:read · readslist_deadlinesdeadlines:read · readslist_receiptsreceipts:read · readsget_agendaagenda:read · readslist_capabilitiescapabilities:read · readspropose_actionrecord:propose · writes (files a proposal)
What every result carries
Each tool result is the REST answer itself, as structured content and as text, with the verified-read triple at its top level: provenance_ids and provenance_count (what it rests on), verification_status (unknown < ungrounded < grounded < verified — the weakest of its parts) and as_of. A read that could not be completed returns data: null, a null count and the status unknown, marked as an error — never an empty list an assistant could mistake for “nothing”. A refused tool (a missing scope, an unknown matter) is an error result that names why; an unknown tool or method is a protocol error.
propose_action
Needs record:propose and an idempotency_key argument (the same proposal with the same key returns the first answer). It files the proposal awaiting the firm’s attorneys and executes nothing; anything beyond a title, a description and requested data is stripped and named on the firm’s card. Three undecided proposals per matter at most.
Prompts and resources
matter_status_brief—agenda_review—edfl://openapi.json—
The operations behind the tools, their errors and the webhooks are in the API reference.