AI agents (MCP)
On this page
API docs
Get started
Endpoints
Account
Templates
Sending
Documents
Files
OpenAPI
Get started
AI agents (MCP)
Inkly runs a remote MCP server, so Claude, ChatGPT, and other AI agents can find templates, prepare documents, track who has signed, and, when you allow it, send documents and reminders. Every agent connects to one URL:
https://www.inkly.so/mcpUse www.inkly.so, not inkly.so. Agents lose their sign-in on the redirect.
Connect an agent
Claude and ChatGPT
In Claude, open Customize, then Connectors, then Discover, search for Inkly, open it, click Connect, and approve the connection in Inkly. If you don't see it, or you use ChatGPT, add Inkly as a custom connector with the URL above. See the step-by-step guide.
Claude Code
claude mcp add --transport http inkly https://www.inkly.so/mcpThen run /mcp in Claude Code, choose Inkly, and approve the connection in your browser.
Codex
codex mcp add inkly --url https://www.inkly.so/mcpCodex opens your browser to approve the connection.
n8n and your own agents
Agents that run without a person signing in use an API key instead, sent as Authorization: Bearer ink_live_… over Streamable HTTP. In n8n, add the MCP Client node with HTTP Streamable transport and Bearer Auth. API keys need Pro or Teams.
Access levels and plans
You choose a workspace and access level when you approve a connection, and can change it any time in Settings → Integrations. Each level includes the one before it.
- Read: find and read templates and documents.
- Prepare: create drafts that you check and send in Inkly. This is the default.
- Full access: send from your templates without review, send reminders, and void documents. Pro and Teams only.
On Free, a connection can read and prepare, and you can send 3 prepared documents in total. On Pro and Teams, every document an agent sends counts toward the monthly API allowance (250 on Pro, 1,000 on Teams), shared with the REST API.
Prepare, then send
By default an agent prepares and a person sends. prepare_document_from_template makes a draft and returns its review_url. Nothing is emailed until the person opens the link and presses Send.
Only a connection at Full access on a paid plan can send from the chat, through send_template. No tool signs, and an agent never receives a signing link for anyone else. get_my_signing_link returns a link that only the connected person can open, signed in to their own account.
Documents sent through the MCP server get automatic reminders, as they do in the app, unless the agent passes automatic_reminders: false. The REST API keeps reminders off unless you turn them on.
For a PDF, an agent with a shell calls start_pdf_upload, uploads the file with the command it returns, then calls create_draft_from_upload. Put field markers in the PDF so the agent never has to guess where fields go. Chat apps without a shell can't upload a file, so the person uploads it in Inkly.
Tools
An agent only sees the tools its access level and plan allow.
| Tool | What it does | Needs |
|---|---|---|
| get_account | Gets the user's own name and email, the workspace, plan, access level, allowance, and free sends left. | Read |
| search_templates | Finds up to 25 visible templates by title. | Read |
| get_template | Gets a template's roles in order and prefilled fields by label. | Read |
| search_documents | Finds up to 25 visible documents by title or recipient, with status. | Read |
| get_document | Gets document status, recipients, and invitation delivery problems. | Read |
| get_signed_pdf_link | Gets a download link for the completed PDF. The link lasts 5 minutes. | Read |
| get_my_signing_link | Returns a link for the user to open and sign themselves. The assistant cannot sign. | Read |
| prepare_document_from_template | Makes a draft in Inkly. Nothing is sent. Give the user the link to check and send it. | Prepare |
| start_pdf_upload | Creates a one-time PDF upload URL and a curl PUT command. Nothing is sent. | Prepare |
| create_draft_from_upload | Makes a draft in Inkly. Nothing is sent. Give the user the link to check and send it. Prefer PDF markers; guessed coordinates often land wrong. Omit fields to place them in the editor. Retries reuse upload_id. | Prepare |
| send_template | Sends a real, legally binding document by email. There is no test mode. Generate request_id once per send and reuse it on every retry. Receipts last 24 hours. | Full access, Pro |
| send_reminder | Emails a signing reminder to eligible signers. A cooldown applies. | Full access, Pro |
| void_document | Voids a sent document and emails its signers. This cannot be undone. Only the creator or an admin can void it. | Full access, Pro |
Retries
send_template requires a request_id. Generate it once per send and reuse it on every retry: a retry within 24 hours returns the original document instead of sending a second one. Drafts take an optional request_id too, and a retry returns the same draft unchanged, even if the person has edited it since. Uploaded drafts are tied to their upload_id.
Each connection shares the API's limits: 120 requests a minute per connection, and 60 drafts an hour per workspace.
Building on the REST API
If an agent is writing an integration rather than acting for a person, give it the OpenAPI document for every endpoint and /llms.txt for a guide to these docs.