AI agents (MCP)

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:

MCP server URL
https://www.inkly.so/mcp

Use 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

Terminal
claude mcp add --transport http inkly https://www.inkly.so/mcp

Then run /mcp in Claude Code, choose Inkly, and approve the connection in your browser.

Codex

Terminal
codex mcp add inkly --url https://www.inkly.so/mcp

Codex 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.

There is no test mode. Every send is real and legally binding, so send only to your own email while you build.

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.

After you raise a connection to Full access, refresh the connector so the send tools appear. In Claude: Customize → Connectors → Inkly → ⋯ → Refresh.

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.

ToolWhat it doesNeeds
get_accountGets the user's own name and email, the workspace, plan, access level, allowance, and free sends left.Read
search_templatesFinds up to 25 visible templates by title.Read
get_templateGets a template's roles in order and prefilled fields by label.Read
search_documentsFinds up to 25 visible documents by title or recipient, with status.Read
get_documentGets document status, recipients, and invitation delivery problems.Read
get_signed_pdf_linkGets a download link for the completed PDF. The link lasts 5 minutes.Read
get_my_signing_linkReturns a link for the user to open and sign themselves. The assistant cannot sign.Read
prepare_document_from_templateMakes a draft in Inkly. Nothing is sent. Give the user the link to check and send it.Prepare
start_pdf_uploadCreates a one-time PDF upload URL and a curl PUT command. Nothing is sent.Prepare
create_draft_from_uploadMakes 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_templateSends 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_reminderEmails a signing reminder to eligible signers. A cooldown applies.Full access, Pro
void_documentVoids 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