Agents and MCP
Connect AI assistants to eSora Sign with the MCP connector.
The MCP server
eSora Sign has a Model Context Protocol (MCP) server at https://api.esorasign.com/mcp. It uses the Streamable HTTP transport with JSON responses, and your API key for authentication. Any MCP client that lets you set an Authorization header can use it.
Each tool calls the REST API with your key, so an assistant can do exactly what the key can do and nothing more. Approval rules still apply. Assistants can prepare and send documents, but they can never sign: signing always needs the person, on the signing page.
Add it to your assistant
Claude Code:
claude mcp add --transport http esora-sign https://api.esorasign.com/mcp \
--header "Authorization: Bearer $ESORA_API_KEY"
Clients that use a JSON configuration file:
{
"mcpServers": {
"esora-sign": {
"type": "http",
"url": "https://api.esorasign.com/mcp",
"headers": { "Authorization": "Bearer sk_live_…" }
}
}
}Make a separate API key for each assistant, so you can see its activity and revoke it on its own.
Tools
- list_documents (Read): Find documents by status, label or a search term. Newest first.
- get_document (Read): Status, recipients and dates of one document.
- list_templates (Read): Templates that can be sent, with their roles.
- create_draft_from_template (Write): Make a draft from a template, with a person for each role. Nothing is sent.
- send_document (Write, asks to confirm): Send a draft to its recipients. Approval rules still apply.
- send_reminder (Write): Email a reminder now to one recipient who hasn’t signed.
- void_document (Write, asks to confirm): Cancel a document that is out for signature, with a reason.
- verify_document (Read): Check a PDF’s SHA-256 fingerprint against eSora Sign’s sealed records.
send_document and void_document are marked as destructive, so clients ask you before running them. The server also tells assistants to make drafts first and confirm before sending.
You can also call the server directly with JSON-RPC:
curl -X POST "https://api.esorasign.com/mcp" \
-H "Authorization: Bearer $ESORA_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": { "name": "list_documents", "arguments": { "status": "sent", "limit": 5 } } }'