{
  "markdown": "# @signforge/mcp-server\n\nSend documents for e-signature directly from Claude Desktop, Claude Code, Cursor, and other AI agents — powered by [SignForge](https://signforge.io), the free e-signature platform.\n\n## What It Does\n\nThis MCP server connects AI agents to SignForge's e-signature API. Your AI assistant can:\n\n- **Send documents for signature** — upload a PDF, specify a signer, and send in one step\n- **Manage envelopes** — send, void, delete, and check status\n- **Download documents** — signed PDFs, audit certificates, and ZIP archives\n- **Use templates** — create envelopes from reusable templates with pre-filled fields\n- **Manage webhooks** — subscribe to real-time envelope events\n- **Generate embed URLs** — create embeddable signing experiences\n\n## Quick Start\n\n### 1. Get Your API Key\n\nSign up at [signforge.io](https://signforge.io) and generate an API key from your [Developer Settings](https://signforge.io/dashboard/developers).\n\n### 2. Configure Your AI Client\n\nChoose your client below and add the configuration:\n\n#### Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"signforge\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@signforge/mcp-server\"],\n      \"env\": {\n        \"SIGNFORGE_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n**Config file location:**\n- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n#### Claude Code\n\n```bash\nclaude mcp add signforge -- npx -y @signforge/mcp-server\n```\n\nThen set the environment variable in your shell:\n```bash\nexport SIGNFORGE_API_KEY=\"your-api-key-here\"\n```\n\n#### Cursor\n\nAdd to your Cursor MCP settings (`.cursor/mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"signforge\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@signforge/mcp-server\"],\n      \"env\": {\n        \"SIGNFORGE_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n#### Direct (npx)\n\n```bash\nSIGNFORGE_API_KEY=\"your-api-key-here\" npx -y @signforge/mcp-server\n```\n\n### 3. Restart Your Client\n\nRestart Claude Desktop, Claude Code, or Cursor to pick up the new MCP server.\n\n## Tools\n\n### Envelope Management\n\n| Tool | Description |\n|------|-------------|\n| `create_and_send` | Upload a PDF, add a signer, and send for e-signature. Accepts a local file path or base64-encoded PDF. |\n| `check_status` | Check the status of an envelope — see signing progress, timestamps, and available documents. |\n| `list_envelopes` | List your envelopes with optional status filtering (`draft`, `sent`, `completed`, `voided`, `expired`). |\n| `send_envelope` | Send a draft envelope for signing. |\n| `void_envelope` | Void (cancel) an active envelope with an optional reason. |\n| `delete_envelope` | Permanently delete a draft or voided envelope. |\n\n### Document Downloads\n\n| Tool | Description |\n|------|-------------|\n| `download_signed` | Download the signed PDF for a completed envelope to a local file. |\n| `download_certificate` | Download the audit certificate PDF with full audit trail. |\n| `download_archive` | Download a ZIP archive with signed PDF, certificate, and all documents. |\n\n### Embedded Signing\n\n| Tool | Description |\n|------|-------------|\n| `get_embed_url` | Generate an embeddable signing URL for in-app signing experiences. |\n\n### Templates\n\n| Tool | Description |\n|------|-------------|\n| `list_templates` | List your reusable document templates. |\n| `create_from_template` | Create an envelope from a template with optional pre-filled field values. Send immediately or save as draft. |\n\n### Webhooks\n\n| Tool | Description |\n|------|-------------|\n| `create_webhook` | Subscribe to envelope events (sent, viewed, signed, completed, expired, voided, declined). |\n| `list_webhooks` | List all configured webhooks. |\n| `delete_webhook` | Delete a webhook by ID. |\n\n## Example Conversations\n\n### Send a document for signature\n\n```\nYou: Send my NDA at ~/Documents/nda.pdf to jane@example.com (Jane Smith) for signature.\n\nAI: I'll send that NDA for signature now.\n\n[Uses create_and_send tool]\n\nDone! I've created and sent the envelope:\n- Envelope ID: a1b2c3d4-...\n- Status: sent\n- Jane Smith (jane@example.com) will receive a signing link via email.\n```\n\n### Check status and download\n\n```\nYou: Has Jane signed the NDA yet?\n\nAI: Let me check.\n\n[Uses check_status tool]\n\nYes! Jane signed it on April 7 at 2:15 PM. The envelope is now completed.\n\nYou: Great, download the signed copy and the audit certificate.\n\n[Uses download_signed tool]\n[Uses download_certificate tool]\n\nDone! Files saved:\n- Signed PDF: ~/Documents/nda-signed.pdf\n- Audit Certificate: ~/Documents/nda-certificate.pdf\n```\n\n### Use a template with pre-filled fields\n\n```\nYou: Send our standard consulting agreement to bob@acme.com.\n     Pre-fill the company name as \"Acme Corp\" and the start date as \"May 1, 2026\".\n\nAI: I'll create that from your consulting agreement template.\n\n[Uses list_templates tool — finds \"Consulting Agreement\" template]\n[Uses create_from_template tool — with prefill_fields and send_immediately: true]\n\nDone! Envelope created and sent:\n- Title: Consulting Agreement\n- Recipient: bob@acme.com\n- Pre-filled: company = \"Acme Corp\", start_date = \"May 1, 2026\"\n- Status: sent\n```\n\n### Manage envelope lifecycle\n\n```\nYou: List my sent envelopes.\n\n[Uses list_envelopes tool with status: \"sent\"]\n\nYou: Void the contract for Project Alpha — the deal fell through.\n\n[Uses void_envelope tool with reason]\n\nYou: Now delete it.\n\n[Uses delete_envelope tool]\n\nDone — envelope voided and deleted.\n```\n\n### Set up a webhook\n\n```\nYou: Set up a webhook to notify my server when documents are signed or completed.\n\n[Uses create_webhook tool]\n\nWebhook created:\n- URL: https://api.yourapp.com/webhooks/signforge\n- Events: envelope.signed, envelope.completed\n- Secret: whsec_abc123... (save this for signature verification!)\n```\n\n## Environment Variables\n\n| Variable | Required | Default | Description |\n|----------|----------|---------|-------------|\n| `SIGNFORGE_API_KEY` | Yes | — | Your SignForge API key. Get one at [signforge.io/dashboard/developers](https://signforge.io/dashboard/developers). |\n| `SIGNFORGE_API_URL` | No | `https://signforge.io/api/v1` | API base URL. Only change this for self-hosted instances or staging. |\n\n## Sandbox Mode\n\nAPI keys created in sandbox mode will create test envelopes that don't send real emails. Use sandbox mode during development and testing.\n\n## Troubleshooting\n\n**\"SIGNFORGE_API_KEY environment variable is required\"**\nMake sure you've set the `SIGNFORGE_API_KEY` in your MCP client configuration. See the setup instructions above.\n\n**\"SignForge API error (401)\"**\nYour API key is invalid or expired. Generate a new one at [signforge.io/dashboard/developers](https://signforge.io/dashboard/developers).\n\n**\"SignForge API error (403)\"**\nYour API key doesn't have permission for this operation. Check your key's scopes.\n\n**\"SignForge API error (429)\"**\nYou've hit the rate limit. Wait a moment and try again.\n\n**Server not showing up in Claude Desktop**\n1. Make sure the config JSON is valid (no trailing commas)\n2. Restart Claude Desktop completely (quit + reopen)\n3. Check the MCP server logs in Claude Desktop's developer console\n\n## Links\n\n- [SignForge](https://signforge.io) — Free e-signature platform\n- [API Documentation](https://signforge.io/developers) — Full API reference\n- [GitHub](https://github.com/kumarprobeops/signforge-mcp) — Source code\n- [MCP Protocol](https://modelcontextprotocol.io) — Model Context Protocol specification\n\n## License\n\nMIT\n",
  "bytes": 7550,
  "sha": "be6ac51273304bd2d962688d1de2a30cf92a66f819c21f9db826dbfb9ca65296",
  "repo_slug": "kumarprobeops/signforge-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_kumarprobeops_signforge_fd603827/readme"
}