# APISign

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/wes/apisign-mcp  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/apisign

## Description
Send documents for legally binding e-signature and manage the reusable templates behind them.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "apisign": {
    "command": "npx",
    "args": ["-y","apisign"]
  }
}
```

## Documentation & README

# 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](https://modelcontextprotocol.io)
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](https://apisign.io/?ref=github).

---

## Connect

**1. Get an API key.** Sign in at [apisign.io](https://apisign.io/?ref=github),
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:

```bash
npx add-mcp https://apisign.io/mcp --header '{"x-api-key": "your-api-key-here"}'
```

Or configure it by hand:

```json
{
  "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 legal@acme.example 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](https://registry.modelcontextprotocol.io) — published as `io.apisign/apisign`. |
| `plugins/apisign/mcp.json` | Cursor and other [Agent Plugins](https://agent-plugins.org) clients. |
| `glama.json` | [Glama](https://glama.ai/mcp/servers)'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.json`
- `https://apisign.io/.well-known/mcp/server-card.json`

---

## Docs and support

- [MCP server documentation](https://apisign.io/docs/api/mcp?ref=github)
- [API reference](https://apisign.io/docs/api/reference?ref=github)
- [Pricing](https://apisign.io/pricing?ref=github) — contracts are billed per document sent

Issues with the MCP integration are welcome here. Questions about your account
belong at [apisign.io](https://apisign.io/?ref=github).

## License

MIT

