Skip to main content
Glama

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.

Related MCP server: Agent Receipts

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

License

MIT © Shahdad Kompani

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shahdadk/swiftsign-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server