APISign
io.apisign/apisign
Documentation
APISign MCP Server
Send documents out for legally binding e-signature, and manage the templates they come from, directly from an AI agent.
APISign runs a hosted Model Context Protocol
server at https://apisign.io/mcp. There is nothing to install and nothing
to self-host — point your client at the URL, give it an API key, and your agent
can draft a contract from a template, fill its variables, send it to signers,
and watch the signatures come in.
This repository holds the connection metadata and client configuration. The service itself lives at apisign.io.
Connect
1. Get an API key. Sign in at apisign.io, then go to Account → API Keys and create one. Copy it — it is shown once.
Pick the permission deliberately:
| Permission | What the agent can do |
|---|---|
| Read Only | List and read templates and contracts. Nothing else. |
| Read & Write | Everything, including sending contracts, which charges your balance. |
A Read Only key does not merely refuse the write tools — they are left out of
the tools/list response entirely, so the agent never learns they exist. If
your agent only needs to look things up, use one.
2. Add the server. The quickest route, which works for Claude, Cursor, ChatGPT and most other clients:
npx add-mcp https://apisign.io/mcp --header '{"x-api-key": "your-api-key-here"}'
Or configure it by hand:
{
"mcpServers": {
"apisign": {
"url": "https://apisign.io/mcp",
"headers": {
"x-api-key": "your-api-key-here"
}
}
}
}
| Client | Config file |
|---|---|
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor | ~/.cursor/mcp.json, or %USERPROFILE%\.cursor\mcp.json |
| ChatGPT | Settings → Features → MCP servers → Add MCP server |
Transport is Streamable HTTP. Authentication is the x-api-key header.
Tools
Twelve tools, in two families. Everything is scoped to the organization the API key belongs to.
Templates
| Tool | Access | What it does |
|---|---|---|
template_list | read | List all templates in the organization. |
template_get | read | Fetch one template by ID, with its content and field definitions. |
template_create | write | Create a blank template from a name and optional Markdown. |
template_update | write | Change a template's name, content, or fields. |
template_upload | write | Convert a base64-encoded DOCX/DOC into a template. |
template_archive | write | Soft-delete a template. |
Contracts
| Tool | Access | What it does |
|---|---|---|
contract_list | read | List contracts, optionally filtered by status. |
contract_get | read | Fetch one contract, including every signer and their status. |
contract_create | write | Create a contract from a template or from raw content, with signers. |
contract_update | write | Edit a draft contract's details or signers. Drafts only. |
contract_send | write | Send a contract for signing. Charges your balance and emails the signers. |
contract_cancel | write | Cancel a draft or sent contract. |
Templates are Markdown with Handlebars-style variables — {{client_name}},
{{effective_date}} — that contract_create fills in. Signature placeholders
work the same way: a one-signer document needs a {{signature}}, and a
multi-signer document gives each party their own, assigned through
signer_fields.
A worked example
Draft an NDA for Acme Corp from our standard mutual NDA template, effective the first of next month, and send it to [email protected] and to me.
The agent calls template_list to find the template, template_get to read
its variables, contract_create to fill them and attach both signers, then
contract_send. You get back a contract ID you can follow with
contract_get.
Discovery metadata
| File | Consumed by |
|---|---|
server.json | The official MCP registry — published as io.apisign/apisign. |
plugins/apisign/mcp.json | Cursor and other Agent Plugins clients. |
glama.json | Glama's indexer. |
The server also serves its own card, without authentication, so directories can describe it without an API key:
https://apisign.io/.well-known/mcp.jsonhttps://apisign.io/.well-known/mcp/server-card.json
Docs and support
- MCP server documentation
- API reference
- Pricing — contracts are billed per document sent
Issues with the MCP integration are welcome here. Questions about your account belong at apisign.io.
License
MIT
