What is MCP?
The Model Context Protocol (MCP) is an open standard that allows AI assistants to securely connect to external tools and data sources. With the DocsAutomator MCP server, you can:- Build complete automations: generate Word templates with AI, connect data, map fields, and configure the output
- Generate documents from your automations
- List and manage automations
- Check document generation status
- View and manage e-signature sessions
- Extract placeholders from templates, with per-placeholder descriptions for AI clients
Quick Start
MCP Server URL:https://mcp.docsautomator.co/mcp
API Key: Get your API key from DocsAutomator Settings
Multi-Workspace Accounts
If your DocsAutomator account belongs to more than one workspace and you connect through OAuth (Claude Desktop, ChatGPT, and other OAuth-based MCP clients), the authorization screen shows a workspace picker. The connection is bound to the workspace you select, and only that workspace’s automations are reachable through it. To change which workspace an existing connection points at, disconnect the integration in your AI client and reconnect. That triggers a fresh OAuth flow and lets you pick a different workspace. API key connections (Claude Code CLI, Cursor, custom clients) are bound to the workspace of the key itself, so no picker is involved; switch workspaces by using a different API key.Setup by Client
Claude Desktop
- Open Claude Desktop
- Click the + button in the conversation
- Select Connectors → Add custom connector
- Enter the MCP server URL:
- Click Connect
- Sign in to DocsAutomator and authorize access
- “List my DocsAutomator automations”
- “Generate a document using automation [ID] with this data…”
- “Check the status of my e-signature sessions”
Claude Code (CLI)
Add DocsAutomator to Claude Code with a single command:YOUR_API_KEY with your DocsAutomator API key.
Alternative: Manual Configuration
Add to your~/.claude/settings.json:
ChatGPT
- Open ChatGPT and go to Settings
- Navigate to Apps
- Enable Developer Mode if not already enabled
- Click Create App
- Select MCP Server as the connection type
- Enter the following configuration:
- Name: DocsAutomator
- Server URL:
https://mcp.docsautomator.co/mcp - Authentication: OAuth
- Leave Client ID and Secret blank
- Click Create
Cursor
- Open Cursor Settings (
Cmd/Ctrl + ,) - Navigate to Features → MCP Servers
- Click Add Server
- Configure:
- Name: DocsAutomator
- URL:
https://mcp.docsautomator.co/mcp - Authentication: Bearer Token
- Token: Your DocsAutomator API key
Other MCP Clients
For any MCP-compatible client, use these connection details:
Get your API key from DocsAutomator Settings.
Available Tools
The MCP server exposes the same tool set as the in-app DocsAutomator Agent — 50+ tools. The sections below describe the most used tools. Your AI client sees the full list with detailed instructions after it connects.Build an Automation with AI
These tools let an AI client build a complete automation from scratch:Data source connections (Airtable, Notion, Google, and the others) use OAuth and must be made once in the DocsAutomator app under Settings → Integrations. All other setup steps work headlessly through MCP.
Descriptions for AI Clients
Two description fields help an AI client work with your automations without extra prompt engineering:- Automation description — a note on what the automation is for and what data it needs. Set it in the app under Automation Settings → Description, or via
set_document_settings. Returned bylist_automations, so the AI picks the right automation. - Placeholder descriptions — per-placeholder instructions (for example “Customer VAT number, format NL123456789B01”). Set them via the gear icon next to a mapping, or via
set_placeholder_descriptions. Returned bylist_placeholders(also on the REST API), so the AI knows what data belongs in each placeholder. - When an AI client generates a template (
generate_word_template,create_google_doc_template), it can passplaceholderDescriptionsin the same call — the descriptions are saved with the template, so the map fills itself.
“Describe the placeholders of automation abc123 so my CRM agent can fill them.”
Document Generation
create_document
Generate a document from an automation.
Parameters:
automationId(required) - The automation IDdata- Placeholder values for API/Zapier data sourcesrecId- Record ID for Airtable data sourcerowNumber- Row number for Google Sheets data sourcedocumentName- Custom name for the generated documentasync- If true, returns immediately with a job IDrecipients- Who signs or accepts this document, for example[{ "signer": 1, "email": "anna@acme.com", "name": "Anna Weber" }]isPreview- If true, runs in test modeskipEsign- If true, generates the document without starting signing or acceptance
recipients when a document goes out for signing or acceptance. When you tell the assistant who should sign or accept (“send quote 12 to Anna at anna@acme.com”), it passes that person in recipients. This works for every data source, including Airtable, Notion, Google Sheets, SmartSuite and ClickUp automations called with a record ID, and you do not need a second automation to send from chat. A listed signer’s email and name replace the saved ones for that one document; the automation itself does not change. signer is the signer’s number from get_automation. It can be left out when the automation has exactly one signer and is needed when it has two or more. The automation decides how many signers there are, so recipients never adds one.
Test mode: The first document of a new setup is sent in test mode. A test-mode signing or acceptance request sends the real email to the real person and is never billed.
Example prompts:
“Create a document using automation abc123 with the following data: company name is ‘Acme Corp’, date is ‘January 27, 2026’” “Send the quote for record rec123 to Anna Weber at anna@acme.com for acceptance.”
Automation Management
list_automations
List all automations in your workspace, including each automation’s description when set.
Example prompt:
“Show me all my DocsAutomator automations”
get_automation
Get detailed information about a specific automation, including e-signature configuration. Each signer is listed in full: its number, role, email source, the email or field it reads, and name.
Example prompt:
“Get details for automation abc123”
create_automation
Create a new automation.
Parameters:
title(required) - Name for the automationdataSourceName(required) - One of: Airtable, Google Sheets, Notion, API, Zapier, SmartSuite, ClickUp, Glide, Noloco, Softr, n8n, MakedocTemplateLink- Google Doc template URL
update_automation
Update an automation’s basic settings (title, template link, active flag, locale, save destination, document-name field). For e-signature configuration, use update_automation_esignature.
update_automation_esignature
Update the e-signature configuration of an automation: enable or disable signing, set signers, customize invitation/reminder/completion email templates, switch the signing language, set the CTA button color, configure save-to-Drive, and edit field display names and required flags.
Call get_automation first to see the current esignature state before editing. Arrays (signers, notificationRecipients) and field maps (fieldConfigs, esignFieldMappings) are full-replace, so send the complete value rather than a delta.
In-flight signing sessions snapshot their email config at creation time, so editing an automation does NOT retroactively change sessions already sent out.
A signer’s emailSource is static (a fixed address), placeholder (a field of the record, or a placeholder that exists in the template), or request (Given with each request). Every create_document call must then name that signer in recipients.
When the assistant sets up signing or acceptance, it follows these defaults:
- On API and MCP automations, and automations without a data source, every signer is set to
request. - On Zapier, Make, n8n, Glide and Noloco automations, the signer uses a template placeholder.
requestis not available there yet, because their apps do not send recipients with each run. - On Airtable, Notion, Google Sheets, SmartSuite, ClickUp and Google Forms automations, the signer points at the record’s email field.
requestis not available there, because their triggers run without anyone naming a recipient. - Whenever the assistant sends a document with signing or acceptance, it passes
recipients, on every data source.
“Enable e-signing on automation abc123 and set the signing language to German.” “On automation abc123, make Jana the second signer with email jana@acme.com, and change the invitation subject to ‘Please sign your Acme contract’.”
delete_automation
Permanently delete an automation.
duplicate_automation
Create a copy of an existing automation.
Template Tools
list_placeholders
Extract all placeholders from an automation’s template. Works for Google Doc, Word, and PDF templates. If placeholder descriptions are set, the response includes a descriptions map.
Example prompt:
“What placeholders are in automation abc123?”
duplicate_template
Create a copy of the Google Doc template.
Queue & Job Status
get_job_status
Check the status of an async document generation job.
Example prompt:
“Check the status of job xyz789”
get_queue_stats
Get queue statistics for your workspace.
poll_job_until_complete
Wait for a job to complete and return the result.
E-Signature Tools
list_esign_sessions
List e-signature sessions with optional filters.
Parameters:
status- Filter by status: pending, in_progress, completed, expired, cancelledemail- Filter by signer emailpage,limit- Pagination
“Show me all pending e-signature sessions”
get_esign_session
Get detailed information about a signing session.
get_signing_links
Get signing URLs for all signers in a session.
Example prompt:
“Get the signing links for session abc123”
get_esign_audit
Get the audit trail for a signing session.
cancel_esign_session
Cancel an active signing session.
resend_esign_invite
Resend the signing invitation email to a signer.
Email Tools
send_test_email
Send a test email for an automation (rate limited to 25 per automation per hour).
Example Conversations
Generate a Contract
You: “I need to generate a consulting agreement for Acme Corp. Use the consulting agreement automation.” Claude: “I’ll create that document for you. Let me first check what placeholders are needed…” [Uses list_placeholders, then create_document] Claude: “Done! Here’s your consulting agreement:- PDF: [link]
- Google Doc: [link]
Check Signing Status
You: “What’s the status of the contract I sent to john@acme.com?” Claude: [Uses list_esign_sessions with email filter] “I found one pending session for john@acme.com:- Document: Consulting Agreement - Acme Corp
- Status: Waiting for signature
- Sent: 2 hours ago
Batch Document Generation
You: “Generate invoices for all the rows in my Google Sheet automation” Claude: “I’ll generate those invoices. Since there are multiple documents, I’ll use async mode…” [Uses create_document with async=true for each row, then polls for completion]Troubleshooting
”Authentication required” error
- Ensure your API key is valid and active
- Check that the Authorization header is formatted correctly:
Bearer YOUR_API_KEY - Verify your API key at DocsAutomator Settings
”Automation not found” error
- Verify the automation ID is correct
- Ensure the automation belongs to your workspace
- Check that the automation is not deleted
E-signature not starting
- Verify the automation has e-signing enabled in its output settings
- Check that signer emails are configured in the automation
- Ensure the e-signature placeholders exist in the template
Rate limiting
- Document generation: 2000 requests per 15 minutes
- Test emails: 25 per automation per hour
- If you hit limits, wait for the reset period