# E-signature MCP server for AI assistants

> SignWith runs a remote MCP server, so AI assistants such as Claude, ChatGPT and Cursor can send documents for signature, chase signers and check signed PDFs for you.

Source: https://signwith.co/docs/mcp · Updated 2026-10-02

## Server details

| | |
| --- | --- |
| URL | `https://app.signwith.co/mcp` |
| Transport | Streamable HTTP, stateless |
| Sign-in | OAuth 2.1, or an API key as a Bearer token |
| Tools | 18, see [MCP tools](https://signwith.co/docs/mcp/tools) |

## Connect your assistant

- [Claude](https://signwith.co/docs/mcp/claude): Connect Claude to SignWith over MCP: add a custom connector in Claude on the web, desktop or mobile, or add the server to Claude Code with an API key or OAuth.
- [ChatGPT](https://signwith.co/docs/mcp/chatgpt): Connect ChatGPT to SignWith over MCP with developer mode: create an app for the SignWith MCP server, sign in with OAuth, and send documents from a chat.
- [Cursor](https://signwith.co/docs/mcp/cursor): Add the SignWith MCP server to Cursor with mcp.json and an API key, so Cursor can create templates, send documents for signature and check signers while you build.
- [VS Code](https://signwith.co/docs/mcp/vscode): Add the SignWith MCP server to VS Code and GitHub Copilot with one click or with mcp.json, then send documents for signature and check signers from the chat.

Any other client that supports remote MCP servers over Streamable HTTP works the same way: give it the URL above, and either sign in with OAuth or send an API key header.

## What you can ask

Once SignWith is connected, ask in plain language:

- "Send the consulting agreement template to `grace@example.com`."
- "Which lease requests are still waiting for a signature?"
- "Remind the signers on the Riverside lease."
- "Is this PDF really signed with SignWith?"
- "Turn this contract into a template with signature lines for the client and me."

When an assistant writes or edits a document for you, it uses [text tags](https://signwith.co/docs/api/text-tags) to place the signature and other fields.

Each tool runs the matching endpoint of the [SignWith API](https://signwith.co/docs/api), with the same rules, credits and errors. Anything an assistant creates is recorded with `source: "mcp"`, and you can see every call under **Settings → API activity**.

## Two ways to sign in

**OAuth (recommended).** Add `https://app.signwith.co/mcp` as a connector in your assistant. It sends you to SignWith to sign in and approve the connection, choosing **Full access** or **View only**. No key is pasted anywhere. Manage or disconnect apps in **Settings → Connected apps**.

**API key.** Clients that let you set request headers can send an [API key](https://signwith.co/docs/api/authentication) instead:

```http
Authorization: Bearer sw_live_...
```

[Get your API key](https://app.signwith.co/settings/api)

## Access and confirmations

A **View only** connection or a read-only API key lists only the tools it can use. The assistant can look at templates and signature requests, verify PDFs and send feedback, but it can't send, change or cancel anything.

Tools that email people or can't be undone (sending, reminding, canceling and archiving) are marked for the assistant to confirm with you first. Most clients, including Claude and ChatGPT, ask you before running a tool like this unless you've chosen to always allow it.

## Credits

Sending through an assistant uses credits exactly like the API: see [credits and billing](https://signwith.co/docs/api/credits). If an account runs out, the assistant can show the credit packs and give you a checkout link to pay in your browser; it never pays itself. Inside ChatGPT the purchase tools aren't offered, and the assistant asks you to add credits in SignWith instead.

## When a tool call fails

A failed call returns a normal result with `isError: true` and the API's error `code` and `message`, so the assistant can explain the problem or fix its arguments and try again. Calls missing required arguments fail the same way and name the missing arguments. Two codes only come from MCP: `insufficient_scope` when a View only connection tries to change something, and `not_available` for a tool that isn't offered to that app. All codes are on the [errors page](https://signwith.co/docs/api/errors).

Building your own MCP client? The [OAuth and protocol reference](https://signwith.co/docs/mcp/oauth) has the authorization flow and protocol details.

## Frequently asked questions

### Does SignWith have an MCP server?

Yes. The SignWith MCP server is at `https://app.signwith.co/mcp` and has 18 tools for templates, signature requests, signers, credits and verifying signed PDFs.

### Which AI assistants can use SignWith?

Any assistant that supports remote MCP servers over Streamable HTTP, including Claude, ChatGPT, Cursor and VS Code. See the setup guides for [Claude](https://signwith.co/docs/mcp/claude), [ChatGPT](https://signwith.co/docs/mcp/chatgpt), [Cursor](https://signwith.co/docs/mcp/cursor) and [VS Code](https://signwith.co/docs/mcp/vscode).

### Can an AI assistant send documents without asking me?

Sending, reminding, canceling and archiving are marked as actions to confirm, and most clients, including Claude and ChatGPT, ask you first unless you have chosen to always allow them. A View only connection cannot send anything at all.

### Do I need an API key to connect an AI assistant?

No. Assistants that support OAuth, such as Claude and ChatGPT, send you to SignWith to sign in and approve the connection. Clients that only take headers, such as some editors, can use an [API key](https://signwith.co/docs/api/authentication) instead.
