This document is generated by Apidog. Apidog: All-in-one workspace for API design, document, debug, test, mock
https://api.signater.com/mcp| Client | How it connects |
|---|---|
| Claude.ai, ChatGPT | Add https://api.signater.com/mcp as a custom connector. The client sends you to Signater to sign in and approve the connection, and keeps its own tokens from then on. |
| Claude Code | claude mcp add --transport http signater https://api.signater.com/mcp opens the same sign-in. To use an MCP token instead, add --header "Authorization: Bearer YOUR_MCP_TOKEN". |
| Cursor, VS Code, Windsurf | The server URL and an Authorization: Bearer YOUR_MCP_TOKEN header in the client's MCP configuration. |
Authorization: Bearer header./mcp, and an MCP token is refused on the REST routes. Like an API token, it belongs to one user, one account and one environment.401 with a WWW-Authenticate header pointing to the protected resource metadata, which is where OAuth clients start:https://api.signater.com/.well-known/oauth-protected-resource/mcphttps://internal-api.signater.com. Claude.ai, ChatGPT and Claude Code are registered with Signater already; other clients can publish a client ID metadata document or register themselves. All of them are public clients using the authorization code flow with PKCE (S256), and resource must be the MCP URL. The person approves each connection on a Signater consent screen. Access tokens last one hour, and refresh tokens rotate on every use.User should be an administrator. list_envelopes and list_templates need an administrator only with scope set to Account./mcp share the API's rate limit: 1,000 requests per 10-minute window, per token. Every request counts, tool calls included.get_account answers isSandbox. Read Sandbox before testing: signers still receive real e-mails, and publishing consumes an envelope from the real balance.401 and 403 of the front door stay HTTP answers, as described in Authentication. Past that, a refused tool call does not fail the MCP request: the tool returns an error result whose body is the REST error body, with the HTTP status name in metadata.status.{"errors":[{"message":"User should be an administrator.","metadata":{"status":"Forbidden"}}]}metadata.property.get_envelope returns that text. A signer can write instructions there, hoping an assistant will follow them.