E-signatures for agents: mint a sandbox key, send PDFs, track status, download the sealed result.
One address for any MCP client. No sign-in needed on this server.
4 read4 act2 other
Grouped by tool name. At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
AI-native e-signatures. Send, track, and seal contracts from your terminal: Claude Code, Cursor, Zed, or any MCP-aware agent. No drag handles. No per-seat fees.
DocuSign assumes a person with a cursor, dragging signature boxes onto a PDF and paying per seat. SwiftSign assumes code. It is API-first and agent-native: a script or an AI agent can mint a key, send a legally binding contract, track it to completion, and pull back the sealed PDF and Certificate of Completion, end to end, without a browser.
/api/v1/envelopes, bearer-token auth, quota-enforced.claude mcp add swiftsign -- npx -y swiftsign-mcp
"Send the MSA at ./contracts/Acme_MSA.pdf to john@acme.com for signing,
with a signature field at the bottom."
The agent mints a sandbox key if it has none, places the fields, emails the signer a link, and reports back when it is sealed. See swiftsign-mcp for the full tool list.
@prisma/adapter-pg/api/v1/envelopes: public REST API; bearer-token auth via Authorization: Bearer <apiKey>. Quota enforced (5/mo on Free, unlimited on Pro/Team)./sign/[token] and /api/sign/[token]: recipient signing flow. No account; the signingToken is the only credential./dashboard/*: sender UI. Cookie session via swiftsign_session. Envelopes, billing, settings (API key, sessions), webhooks./api/stripe/webhook: Stripe to DB sync (subscription and plan)./api/cron/webhook-retry: runs every 5 minutes via vercel.json to retry failed outbound webhook deliveries.git clone https://github.com/shahdadk/swiftsign.git
cd swiftsign
./scripts/bootstrap.sh
The bootstrap script installs the Vercel CLI, logs you in, links the checkout to the SwiftSign Vercel project, pulls production env vars into .env.local, and runs npm install. Then npm run dev and you are operational.
Manual setup:
npm install # legacy-peer-deps is pinned in .npmrc (React 19 / Next 16)
npx prisma generate # writes the Prisma client to src/generated/prisma/
npx prisma migrate deploy # apply schema migrations to your dev DB
npm run dev # dev server on port 3000
Common commands:
npm run dev: start the dev server on port 3000npm run build: production build (Turbopack)npm run start: run the built servernpm run lint: ESLintnpx prisma migrate dev --name <slug>: create a new migrationnpx tsx prisma/seed.ts: seed a local userProvision Neon (PostgreSQL), Cloudflare R2, Resend, Stripe (Pro and Team products plus a webhook on /api/stripe/webhook), Upstash Redis, and Sentry. Set the env vars from .env.local.example on the Vercel project (Production and Preview), connect the repo, and push to main. Vercel runs npx prisma generate and next build. Apply schema once with npx prisma migrate deploy. Verify at /api/healthcheck.
The MCP server has its own repository at swiftsign-mcp and is published to npm as swiftsign-mcp.