Let your agent send it for signature
Sealpost's MCP server gives an AI agent the same send-and-track abilities as the API, with two guardrails: it cannot send or cancel anything without an explicit confirm: true, and every call it makes is written to your audit log with the tool name and the key that made it.
What an agent can do
| Tool | What it does | Changes anything? |
|---|---|---|
sign.upload_file | Upload a PDF by URL or as base64, up to 5 MB | Yes, adds a file |
sign.list_templates | List your templates | No |
sign.create_envelope | Create a draft from files or a template, with recipients | Yes, a draft only |
sign.place_fields | Place signature, date and text fields by position or by anchor text, and check they land on the page | Yes, edits a draft |
sign.send_envelope | Send the draft. Refused without confirm: true. This is the one call that is billed. | Yes, sends and bills $1 |
sign.get_envelope | Status of one envelope and each signer | No |
sign.list_envelopes | Find envelopes by status, date or your own reference | No |
sign.remind_recipient | Remind a signer, at most once an hour | Yes, sends an email |
sign.cancel_envelope | Withdraw a sent envelope. Refused without confirm: true. | Yes |
sign.download_final | A link to the sealed PDF, valid for 15 minutes | No |
sign.get_audit | The audit record as JSON, with the hash-chain check | No |
Not in this version, by decision: building templates, bulk sends, managing webhooks, and an agent signing a document itself.
Connect it
The server is at https://api.sealpost.app/mcp (Streamable HTTP). Use a test key first: every send is free, watermarked and goes nowhere.
Claude Code
claude mcp add --transport http sealpost https://api.sealpost.app/mcp --header "Authorization: Bearer sk_test_…"Claude Desktop and Cursor
{
"mcpServers": {
"sealpost": {
"url": "https://api.sealpost.app/mcp",
"headers": { "Authorization": "Bearer sk_test_…" }
}
}
}Try asking
Send the NDA in my Downloads folder to sam@example.com for signature, in test mode.
Which envelopes sent this week are still waiting on someone?
Download the sealed copy of the Blue Fern agreement and show me its audit trail.
Why the confirmation step
Sending a document for signature costs money and reaches a real person. The server marks sign.send_envelope and sign.cancel_envelope as actions that need confirmation, and refuses them with needs_confirmation unless the agent passes confirm: true. A well-behaved client shows you the envelope and asks before it does.
Every tool call is recorded with the time, tool, key and envelope, so you can see exactly what an agent did on your account.