The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Signwell MCP listing page.
Model Context Protocol server that orchestrates SignWell's e-signature workflows.
SIGNWELL_API_KEY environment variable).SIGNWELL_API_BASE_URL for non-production endpoints.SIGNWELL_API_TIMEOUT_MS to tweak HTTP client timeouts (default 90000 ms; CLI flag --timeout on setup skips env prompts and writes this override).Install dependencies if you have not already:
Bundle the CLI so MCP clients point at the build output:
Run the wizard and follow the prompts:
~/.config/signwell-mcp/env on Linux, ~/Library/Application Support/SignWell/MCP/env on macOS, or %APPDATA%/SignWell/MCP/env on Windows with 0700/0600 permissions.~/.claude.json at mcpServers.signwellclaude_desktop_config.json at mcpServers.signwell~/.cursor/mcp.json at mcpServers.signwell~/.config/opencode/opencode.json at mcp.signwell (Windows: %USERPROFILE%\.config\opencode\opencode.json)~/.claude/mcp.json servers.signwell entry, rerunning setup backs up that legacy file and removes only the stale SignWell entry after writing the correct ~/.claude.json config.--print (or -p) to preview outputs without writing to disk, and --yes --api-key=... for non-interactive runs (CI, devcontainers, etc.).--clients=claude-desktop,cursor to limit which MCP clients the wizard configures; omit for "all". Use --timeout=<ms> only if you need a non-default HTTP timeout.npm run build) and publishing the package, end users can invoke the same wizard with npx @signwell/mcp setup. Installing globally also enables invoking signwell-mcp setup directly.Prefer to manage env vars yourself? Export the required values before running the server:
Once the package is published to npm (GitHub: Bidsketch/signwell-mcp):
Run the setup wizard without installing anything globally:
Install globally if you prefer a persistent binary:
After configuration, start the MCP server via signwell-mcp (requires Node.js v18+).
The signwell-mcp.mcpb file is a separate Claude Desktop extension artifact. It uses the root manifest.json and should be rebuilt for releases after running npm run build.
Install dependencies: npm install
Bundle the CLI entrypoint (required for MCP client configs): npm run build
Configure credentials: node build/index.js setup (or npx @signwell/mcp setup once published)
Start the MCP server locally: npm start (runs node build/index.js)
Open another terminal to run tests and linters before committing:
When using MCP inspector or other clients, point them at npm start (stdio).
Development entrypoint (stdio transport):
CLI helpers:
node build/index.js --help prints usage and env expectations.node build/index.js --version prints the current build.node build/index.js setup launches the setup wizard described above when working from source.npx @signwell/mcp setup runs the wizard and SIGNWELL_API_KEY=... npx @signwell/mcp starts the server via the packaged binary (global installs can call signwell-mcp ... directly).Use the MCP inspector to exercise tools locally:
Run the quality gates in order:
Sample MCP inspector session (sanitized IDs):
Create Draft
Send Draft
Check Status
Completed PDF
This section describes the data practices of the SignWell MCP Server.
0600) in platform-specific secure locations:
~/Library/Application Support/SignWell/MCP/env~/.config/signwell-mcp/env%APPDATA%/SignWell/MCP/envfile_store are held temporarily in memory with a 60-minute TTL and are cleared automatically.https://www.signwell.com/api/v1).For privacy inquiries, contact support@signwell.com or open an issue at github.com/Bidsketch/signwell-mcp/issues.
See also the hosted privacy policy at https://www.signwell.com/privacy/.
document://{id} and template://{id} expose read-only JSON snapshots that reuse the same normalization logic as the tools, so inspectors or other MCP clients can browse previously created assets quickly.document_create and template_create_document always set draft: true, ensuring nothing is emailed until you intentionally call document_send_draft.files array using either file_url (public URL or the link your MCP client provides when you @-attach a file in UIs like Claude Desktop), file_base64, or resource_uri. When a resource_uri is provided the MCP server automatically calls resources/read to pull the attachment bytes and forwards them to SignWell's /api/v1/documents/ endpoint.| Script | Purpose |
|---|---|
npm start | Execute the MCP server entrypoint over stdio (after npm run build). |
npm test | Run the test suite. |
npm run typecheck | Type-check the project with tsc --noEmit. |
npm run lint | Lint source and tests using Biome. |
npm run format | Apply repository formatting conventions via Biome. |
npm run build | Produce an ESM bundle at build/index.js using esbuild. |