swiftsign-mcp

shahdadk/swiftsign-mcp
0 starsMITCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

E-signature for AI agents. An MCP server that lets Claude Code, Cursor, Zed, or any MCP-aware agent prepare, send, track, and seal legally binding documents without a human ever touching a mouse.

README.md

<p align="center"> <img src="./assets/banner.svg" alt="SwiftSign: AI-native e-signatures" width="100%"> </p>

<p align="center"> <a href="https://www.npmjs.com/package/swiftsign-mcp"><img src="https://img.shields.io/npm/v/swiftsign-mcp?style=flat-square&color=0D1117&label=npm" alt="npm"></a> <a href="https://github.com/shahdadk/swiftsign-mcp/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-0D1117?style=flat-square" alt="MIT"></a> <img src="https://img.shields.io/badge/MCP-stdio-0D1117?style=flat-square" alt="MCP stdio"> <img src="https://img.shields.io/badge/Claude_Code_·_Cursor_·_Zed-0D1117?style=flat-square" alt="Compatible clients"> <a href="https://swiftsign.ca"><img src="https://img.shields.io/badge/swiftsign.ca-live-0D1117?style=flat-square" alt="Live"></a> </p>

swiftsign-mcp

E-signature for AI agents. An MCP server that lets Claude Code, Cursor, Zed, or any MCP-aware agent prepare, send, track, and seal legally binding documents without a human ever touching a mouse.

DocuSign assumes a person with a cursor dragging signature boxes onto a PDF. SwiftSign assumes code. An agent mints its own sandbox key, sends a contract, watches it get signed, and pulls back the sealed PDF and Certificate of Completion. No drag handles. No per-seat fees.

Quick start

claude mcp add swiftsign -- npx -y swiftsign-mcp

Or add it to your .mcp.json directly:

{
  "mcpServers": {
    "swiftsign": {
      "command": "npx",
      "args": ["-y", "swiftsign-mcp"],
      "env": { "SWIFTSIGN_API_KEY": "sk_test_..." }
    }
  }
}

No key yet? You do not need the dashboard. Start the server with no key and call swiftsign_signup to mint a sandbox key in one tool call.

Zero to signed, no browser

An agent can go from nothing to a sealed document without ever opening a web page:

1.  swiftsign_signup          → mint a sandbox key (sk_test_...), no account, no card
2.  swiftsign_send_envelope   → send a PDF, place fields by anchor text or coordinates
3.  swiftsign_check_status    → poll until signed
4.  swiftsign_download_signed_pdf → pull back the sealed PDF + Certificate of Completion

Live sends are confirm-gated: a real, legally binding send requires an explicit swiftsign_confirm_send so an agent cannot fire a contract by accident.

Tools

| Tool | What it does | |------|--------------| | swiftsign_signup | Mint a sandbox account + sk_test_ key. The only tool that runs with no key set. | | swiftsign_send_envelope | Send one or more PDFs for signature; anchor-text or coordinate field placement. | | swiftsign_confirm_send | Confirm a live (legally binding) send. Safety gate against accidental sends. | | swiftsign_send_from_template | Send from a saved template by recipient role. | | swiftsign_check_status | Check signing status of an envelope. | | swiftsign_list_envelopes | List sent envelopes. | | swiftsign_list_templates | List saved templates. | | swiftsign_create_embedded_url | Mint a short-lived embedded signing URL. | | swiftsign_download_signed_pdf | Download the sealed PDF + Certificate of Completion. | | swiftsign_void_envelope | Cancel an in-flight envelope. | | swiftsign_upgrade | Get a Stripe link to enable live sends. |

Coming from DocuSign

Bring your existing templates with you. The bundled importer (src/docusign/) authenticates against the DocuSign API and maps your templates and fields into SwiftSign, so an agent can migrate a signing workflow instead of rebuilding it.

Sandbox vs live keys

  • sk_test_: everything works (send, status, templates, embedded URLs); documents are test sends. No card.
  • sk_live_: real, legally binding documents. Upgrade once with swiftsign_upgrade (a Stripe link you open to add a card). The same tools work in both modes; the key decides.

Legally binding

SwiftSign signatures carry a tamper-evident SHA-256 seal, a full audit trail, and a Certificate of Completion. Enforceable under:

  • United States: ESIGN Act, UETA
  • Canada: PIPEDA, Ontario Electronic Commerce Act

Configuration

| Env var | Required | Description | |---------|----------|-------------| | SWIFTSIGN_API_KEY | no | sk_test_ or sk_live_ key. Optional at startup; mint one with swiftsign_signup. | | SWIFTSIGN_API_URL | no | Override the API base for self-hosted SwiftSign instances. |

Build from source

npm install
npm run build      # compiles src/ → dist/
npm test           # node --test

Links

License

MIT © Shahdad Kompani

Related MCP servers

Browse all →