@signforge/mcp-server
Send documents for e-signature directly from Claude Desktop, Claude Code, Cursor, and other AI agents — powered by SignForge, the free e-signature platform.
What It Does
This MCP server connects AI agents to SignForge's e-signature API. Your AI assistant can:
- Send documents for signature — upload a PDF, specify a signer, and send in one step
- Check envelope status — see who signed, who hasn't, and when
- List your envelopes — browse and filter your documents
- Download signed PDFs — save completed documents locally
Quick Start
1. Get Your API Key
Sign up at signforge.io and generate an API key from your Developer Settings.
2. Configure Your AI Client
Choose your client below and add the configuration:
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"signforge": {
"command": "npx",
"args": ["-y", "@signforge/mcp-server"],
"env": {
"SIGNFORGE_API_KEY": "your-api-key-here"
}
}
}
}
Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Claude Code
claude mcp add signforge -- npx -y @signforge/mcp-server
Then set the environment variable in your shell:
export SIGNFORGE_API_KEY="your-api-key-here"
Cursor
Add to your Cursor MCP settings (.cursor/mcp.json):
{
"mcpServers": {
"signforge": {
"command": "npx",
"args": ["-y", "@signforge/mcp-server"],
"env": {
"SIGNFORGE_API_KEY": "your-api-key-here"
}
}
}
}
Direct (npx)
SIGNFORGE_API_KEY="your-api-key-here" npx -y @signforge/mcp-server
3. Restart Your Client
Restart Claude Desktop, Claude Code, or Cursor to pick up the new MCP server.
Tools
create_and_send | Upload a PDF, add a signer, and send for e-signature. Accepts a local file path or base64-encoded PDF. |
check_status | Check the status of an envelope — see signing progress, timestamps, and available documents. |
list_envelopes | List your envelopes with optional status filtering (draft, sent, completed, voided, expired). |
download_signed | Download the signed PDF for a completed envelope to a local file. |
Example Conversation
You: Send my NDA at ~/Documents/nda.pdf to jane@example.com (Jane Smith) for signature.
Claude: I'll send that NDA for signature now.
[Uses create_and_send tool]
Done! I've created and sent the envelope:
- Envelope ID: a1b2c3d4-...
- Status: sent
- Jane Smith (jane@example.com) will receive a signing link via email.
You: Has Jane signed it yet?
Claude: Let me check the status.
[Uses check_status tool]
Not yet — the envelope is still in "sent" status. Jane has viewed the document
but hasn't signed. I'll check again later if you'd like.
You: Download it once she's done.
[Later, uses download_signed tool]
The signed PDF has been saved to ~/Documents/nda-signed.pdf.
Environment Variables
SIGNFORGE_API_KEY | Yes | — | Your SignForge API key. Get one at signforge.io/dashboard/developers. |
SIGNFORGE_API_URL | No | https://signforge.io/api/v1 | API base URL. Only change this for self-hosted instances or staging. |
Sandbox Mode
API keys created in sandbox mode will create test envelopes that don't send real emails. Use sandbox mode during development and testing.
Troubleshooting
"SIGNFORGE_API_KEY environment variable is required"
Make sure you've set the SIGNFORGE_API_KEY in your MCP client configuration. See the setup instructions above.
"SignForge API error (401)"
Your API key is invalid or expired. Generate a new one at signforge.io/dashboard/developers.
"SignForge API error (403)"
Your API key doesn't have permission for this operation. Check your key's scopes.
"SignForge API error (429)"
You've hit the rate limit. Wait a moment and try again.
Server not showing up in Claude Desktop
- Make sure the config JSON is valid (no trailing commas)
- Restart Claude Desktop completely (quit + reopen)
- Check the MCP server logs in Claude Desktop's developer console
Links
License
MIT