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