Technical GuideUpdated September 2026 · 11 min read

Claude Desktop Signbee MCP Setup: Send Your First E-Sign Document (2026)

To add Signbee to Claude Desktop, insert npx -y signbee-mcp under mcpServers in your claude_desktop_config.json file and restart Claude. This instantly equips Claude with two zero-friction digital signature tools—send_document and send_document_pdf—allowing you to dispatch legally binding two-party agreements in plain markdown with a single chat prompt, verify dispatch via instant email OTP or API key, and receive an immutable, cryptographic SHA-256 audit-certified PDF once signed.

Michael Beckett
Michael Beckett

Founder, Signbee

< 90s

Setup Time

0

Mandatory Keys (OTP)

~340

Schema Tokens

SHA-256

Audit Certificate

TL;DR — The Signbee Claude Desktop Workflow
  • Zero SDK or manual build: Add npx -y signbee-mcp to your claude_desktop_config.json under the mcpServers object. Claude runs it locally over standard I/O (stdio).
  • Zero mandatory credentials: Test immediately without an account. If SIGNBEE_API_KEY is omitted, Signbee delivers an email OTP verification code to the sender. With an API key, dispatches are instant and headless.
  • Single tool invocation: Claude calls send_document with plain markdown text and a structured parties array containing names and email addresses.
  • Frictionless signing ceremony: Signers receive an email notification with a secure link. They sign in any mobile or desktop web browser without creating an account or downloading an application.
  • Cryptographic audit seal: Once all signatures are captured, Signbee compiles the executed contract into an immutable PDF stamped with a tamper-evident SHA-256 audit certificate.
  • No webhooks on MCP: Because Claude Desktop operates over local, ephemeral stdio, MCP does not accept a webhook_url. For asynchronous webhook callbacks, use the direct REST API.

Why AI Agents Need a Native Signing Tool in Claude Desktop

Autonomous chat assistants excel at drafting legal agreements. Within seconds, Claude 3.5 Sonnet can compose a bulletproof Mutual Non-Disclosure Agreement (NDA), an intellectual property assignment, or a freelance statement of work. Yet historically, that workflow hit an abrupt brick wall: the user had to copy the text, paste it into a word processor, export a PDF, upload it to a legacy e-signature portal, manually drag signature boxes across canvas coordinates, and type recipient emails into separate form fields.

The Model Context Protocol (MCP), open-sourced by Anthropic, fundamentally transforms this interaction. By exposing structured execution tools directly to the model over local standard input/output (stdio), Claude can bridge the chasm between document composition and legal execution. With the Signbee MCP server (signbee-mcp), you can simply tell Claude: "Draft an NDA between Alice and Bob, and send it for signature."

Claude drafts the agreement terms in clean GitHub Flavored Markdown, maps the signatories to typed parameters, and dispatches the signing ceremony in a single autonomous turn. No third-party tabs, no manual PDF preparation, and no seat licenses required.

Step 1: Locating and Editing claude_desktop_config.json

Claude Desktop discovers local tools through its centralized configuration file, claude_desktop_config.json. Depending on your operating system, this JSON configuration lives in your local application support directory:

macOS File Path
~/Library/Application Support/Claude/claude_desktop_config.json
Windows File Path
%APPDATA%\Claude\claude_desktop_config.json

You can open the directory directly from Claude Desktop by clicking Claude in the menu bar, selectingSettings (or pressing Cmd + , / Ctrl + ,), navigating to the Developer tab, and clicking Edit Config.

Option A: Zero-Config OTP Mode (No API Key Required)

Signbee adheres strictly to a zero-friction philosophy: you should never have to create an account, register a credit card, or generate API keys just to evaluate whether a tool functions. In zero-config mode, the MCP server runs with zero environment variables. When a document is dispatched, Signbee routes an email verification code directly to your sender inbox:

claude_desktop_config.json (Zero-Config OTP Mode)
{
  "mcpServers": {
    "signbee": {
      "command": "npx",
      "args": [
        "-y",
        "signbee-mcp"
      ]
    }
  }
}

Option B: Production Mode with SIGNBEE_API_KEY

When deploying Signbee in automated workflows where you want instant, single-turn dispatches without pausing for an interactive email OTP verification code, add your API key into the env block. You can generate a free API key from the Signbee Dashboard:

claude_desktop_config.json (Authenticated Instant Send Mode)
{
  "mcpServers": {
    "signbee": {
      "command": "npx",
      "args": [
        "-y",
        "signbee-mcp"
      ],
      "env": {
        "SIGNBEE_API_KEY": "sb_live_your_api_key_here"
      }
    }
  }
}
Restart Claude Desktop: After saving your modifications to claude_desktop_config.json, fully quit Claude Desktop (using Cmd + Q on macOS or right-clicking the system tray icon on Windows) and relaunch it. MCP processes are spawned exclusively when the host application initializes.

Step 2: Verifying MCP Tool Registration in Claude

Once Claude Desktop restarts, look at the bottom-right corner of the chat prompt input area. You will notice a small hammer icon. Clicking this icon reveals all active Model Context Protocol tools currently connected to the Claude runtime.

You should see the signbee server active, exposing exactly two dedicated tools:

  • send_document — Takes a dynamic Markdown document string and an array of signer objects (name and email), renders the contract, and dispatches signature requests.
  • send_document_pdf — Dispatches pre-existing, publicly accessible PDF URLs directly to signers without converting from Markdown.

Notice how clean this tool surface is. While enterprise e-signature SDK wrappers inject over 2,500 tokens of bloated JSON schema into Claude's context window (detailing envelope states, manual tab placement, coordinate arrays, and branding options), Signbee MCP consumes just ~340 tokens total. This lightweight footprint prevents context dilution and ensures Claude 3.5 Sonnet selects the correct tool parameters with zero hallucination.

Authentication Comparison: Email OTP vs SIGNBEE_API_KEY

Signbee is built to accommodate both rapid prototyping and automated commercial workflows. Understanding how authentication functions helps you choose the right configuration for your setup:

FeatureZero-Config Email OTPAuthenticated API Key
Setup Friction0 sec (no account)60 sec (dashboard key)
Interaction Turns2 turns (prompt + code entry)1 turn (immediate send)
Sender Verification6-digit email passcodeBearer token cryptographic check
Audit Certificate TraceVerified Sender EmailOrganization + Account Identity
Ideal Use CaseAd-hoc desktop chats, trialsProduction agents, high volume

In OTP mode, when Claude triggers send_document, Signbee recognizes that no authorization token was passed in the headers. The API creates a pending dispatch state and sends an immediate 6-digit numeric OTP to the first party listed as the sender. Claude detects this requirement from the tool response and prints:

"Signbee dispatched a 6-digit verification code to your email (alice@example.com). Please paste the code here to complete the agreement dispatch."

Once you type the code in chat, Claude passes it back to the tool, and the agreement is delivered immediately to all signing parties.

Step 3: Sending Your First Two-Party Agreement (Interactive Ceremony)

Now that the MCP server is connected, test a complete real-world scenario: generating and dispatching a binding two-party Mutual Non-Disclosure Agreement (NDA).

In a fresh Claude Desktop conversation window, paste the following instruction:

Example User Prompt

"Please draft a standard Mutual Non-Disclosure Agreement between Alice Smith (alice@example.com) representing Acme Software Ltd and Bob Jones (bob@example.com) representing Jones Consulting. Include standard clauses for definition of confidential information, non-disclosure obligations for 2 years, exclusions, and governing law of England and Wales. Once drafted, send it for signature using the Signbee send_document tool."

Claude will analyze your request, formulate a well-structured legal agreement using GitHub Flavored Markdown, and invoke the send_document tool. Here is the exact JSON structure that Claude constructs under the hood:

Claude MCP Tool Invocation: send_document
{
  "document": "# Mutual Non-Disclosure Agreement\n\nThis Mutual Non-Disclosure Agreement ("Agreement") is entered into on September 5, 2026, by and between:\n\n1. **Acme Software Ltd**, represented by Alice Smith (alice@example.com) ("Party A"), and\n2. **Jones Consulting**, represented by Bob Jones (bob@example.com) ("Party B").\n\n### 1. Definition of Confidential Information\n"Confidential Information" refers to all proprietary data, code repositories, system architectures, customer lists, and commercial trade secrets disclosed by either party...\n\n### 2. Obligations of Non-Disclosure\nEach party agrees to hold all Confidential Information in strict confidence and prevent unauthorized disclosure using at least reasonable care for a period of two (2) years from disclosure...\n\n### 3. Exclusions\nThis Agreement imposes no obligation upon information that is publicly known, already in possession of the recipient prior to disclosure, or independently developed...\n\n### 4. Governing Law and Jurisdiction\nThis Agreement shall be construed in accordance with and governed by the laws of England and Wales.\n\n---\n\n### Signatures\nBy signing below, both parties confirm their agreement to the terms above.",
  "parties": [
    {
      "name": "Alice Smith",
      "email": "alice@example.com"
    },
    {
      "name": "Bob Jones",
      "email": "bob@example.com"
    }
  ]
}

The Signbee MCP server validates the payload, transmits the document to the Signbee backend over TLS 1.3, compiles the markdown into a standardized PDF layout, and returns an execution receipt directly to Claude:

Signbee MCP Server JSON-RPC Response
{
  "success": true,
  "document_id": "doc_9f83a7c1e4d28b",
  "status": "pending_signatures",
  "signers": [
    {
      "name": "Alice Smith",
      "email": "alice@example.com",
      "signing_url": "https://signb.ee/sign/doc_9f83a7c1e4d28b?signer=s_01"
    },
    {
      "name": "Bob Jones",
      "email": "bob@example.com",
      "signing_url": "https://signb.ee/sign/doc_9f83a7c1e4d28b?signer=s_02"
    }
  ],
  "message": "Agreement dispatched successfully. Invitation emails delivered to all parties."
}

Claude summarizes the output in natural language, confirming that the NDA has been dispatched and providing direct status references for both Alice and Bob.

Tool Selection: send_document vs send_document_pdf

The Signbee MCP server provides two distinct tools. Knowing when to direct Claude toward each tool ensures optimal contract fidelity and token efficiency:

Dimensionsend_documentsend_document_pdf
Input FormatGitHub Flavored Markdown (string)HTTPS URL pointing to PDF file
Generation LayerGenerated dynamically by ClaudePre-existing binary on cloud storage
Page Layout EngineSignbee automated typography enginePreserves original fixed PDF geometry
Audit CertificateAppended SHA-256 certificateAppended SHA-256 certificate
Primary Use CasesNDAs, consulting SOWs, IP releasesComplex corporate paper, tax forms

For 95% of generative AI workflows in Claude Desktop, send_document is the optimal choice. It eliminates intermediate file storage, cloud bucket permissions, and format conversion headaches. Claude authors the terms in plain markdown, and Signbee turns it into a pixel-perfect, certified legal document.

What Signers Experience: Zero-Friction Web Signing Ceremony

A major vulnerability of legacy enterprise e-signature platforms is signer friction. When signers receive an invitation, they are frequently confronted with forced account registration, password creation, multi-step identity profiling, and aggressive upsell banners.

Signbee eliminates every barrier for your human counterpart:

  1. Clean Email Invitation: Delivered via Amazon Simple Email Service (SES) with authenticated SPF, DKIM, and DMARC alignment, ensuring the invitation arrives in the recipient's primary inbox.
  2. One-Click Responsive Web Viewer: Clicking the secure review link opens a responsive browser window formatted cleanly for both mobile and desktop screens.
  3. Zero Account Requirement: The recipient never creates an account or downloads an application. The identity is bound to their verified email session.
  4. Draw or Type Execution: Signers can draw their legal signature with a trackpad, mouse, or touchscreen, or select an auto-rendered signature typeface.

The Cryptographic SHA-256 Audit Certificate

Once both Alice and Bob complete the web signing ceremony, what happens to the executed agreement? Signbee seals the document using an immutable, cryptographic audit trail.

Signbee compiles the rendered markdown, embeds the high-resolution vector signatures of both parties, and appends a dedicated, tamper-evident Certificate of Completion as the final page of the PDF. This certificate captures:

Cryptographic Hash

Unique SHA-256 checksum calculated across the raw document binary. If a single character is modified post-execution, the hash check fails.

Signer Attribution

Verified email addresses, public IPv4/IPv6 addresses, browser user-agent signatures, and exact UTC timestamps down to the millisecond.

Document Event Log

Sequential timeline recording creation time, invitation dispatch, email delivery, link viewing, and digital signature execution.

Legal Standards Compliance

Full compliance with the US Electronic Signatures in Global and National Commerce (ESIGN) Act, EU eIDAS (SES), and UK Electronic Communications Act 2000.

Both parties automatically receive an email containing the completed PDF. Anyone can independently verify the authenticity of the document by computing the SHA-256 hash using standard command-line tools:

Verifying Document Integrity in Terminal
# Compute the SHA-256 checksum of your executed agreement
shasum -a 256 mutual_nda_signed.pdf

# Output matches the hash printed on the Certificate of Completion:
# 8f4a3e7b91d20c5f6a4e8b7c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e  mutual_nda_signed.pdf

To learn more about the underlying cryptographic mechanics, read our in-depth architecture post on How the SHA-256 Signing Certificate Works.

Why MCP Does Not Take webhook_url (And How to Handle Async Events)

Developers frequently ask: "Can I pass a webhook_url to the Signbee MCP tool so my local Claude session is notified when the document is signed?"

The short answer is no. The Signbee MCP server intentionally does not accept a webhook_url parameter. Understanding why is crucial to architecting production agent systems:

The Architectural Reality of Desktop MCP:
  • Ephemeral Stdio Transport: When Claude Desktop executes npx -y signbee-mcp, it launches a local child process connected via standard input/output pipes. This process is ephemeral and synchronous.
  • Asynchronous Human Reality: Contract signing is not instantaneous. While Claude executes a tool call in 800 milliseconds, human signers may take 15 minutes, 4 hours, or 3 days to open their email and sign.
  • No Public Ingress: Claude Desktop runs behind local residential NATs, company firewalls, and laptop sleep cycles. It does not expose a public HTTP port to receive external webhook POST dispatches.

If your system requires automated, asynchronous event notification when a contract is executed (such as automatically provisioning software access, issuing an invoice, or updating an external CRM), you should invoke Signbee via the direct REST API:

Asynchronous Execution via Direct REST API (POST /api/v1/send)
curl -X POST https://signb.ee/api/v1/send \
  -H "Authorization: Bearer sb_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "document": "# Enterprise Service Agreement\n\n...",
    "parties": [
      { "name": "Alice Smith", "email": "alice@example.com" },
      { "name": "Bob Jones", "email": "bob@example.com" }
    ],
    "webhook_url": "https://api.yourdomain.com/webhooks/signbee"
  }'

When both parties complete signing, Signbee delivers an authenticated document.signed webhook with HMAC SHA-256 signatures to your server. To explore how to configure and verify webhook payloads, check out:

Troubleshooting Common Claude Desktop Setup Pitfalls

If the hammer icon does not appear or tool dispatches fail, verify these four common environment configurations:

1. Node.js Path Resolution on macOS GUI Apps

macOS GUI applications do not always inherit your shell's custom PATH (e.g., if you installed Node.js via Homebrew or NVM). If Claude reports that npx cannot be found, specify the absolute path to your binary (e.g., /usr/local/bin/npx or /opt/homebrew/bin/npx) in the command field of your configuration.

2. Trailing Commas in claude_desktop_config.json

JSON does not permit trailing commas after the last key or array item. If Claude fails to parse the file, it will silently ignore the entire MCP server definition. Validate your JSON structure with a linter before saving.

3. Claude Desktop Process Must Fully Terminate

Simply closing the Claude chat window does not terminate the app on macOS; it continues running in the dock. You must use Cmd + Q to quit the application completely before reopening it to trigger MCP child process initialization.

4. OTP Verification Email Deliverability

If you run without an API key and do not receive the 6-digit verification code within 15 seconds, check your junk or spam folder. Adding SIGNBEE_API_KEY to the env block eliminates OTP checks completely.

Frequently Asked Questions

How do I add the Signbee MCP server to Claude Desktop?

Open your Claude Desktop configuration file (claude_desktop_config.json located at ~/Library/Application Support/Claude/ on macOS or %APPDATA%\Claude\ on Windows) and add a "signbee" entry under "mcpServers" specifying "npx" as the command and ["-y", "signbee-mcp"] as args. Restart Claude Desktop, and the hammer icon will display the send_document and send_document_pdf tools.

Do I need an API key to test Signbee MCP in Claude Desktop?

No. Signbee provides a zero-friction developer onboarding flow where an API key is completely optional for initial use. When you dispatch a document without SIGNBEE_API_KEY configured in your environment, Signbee dispatches a secure 6-digit One-Time Password (OTP) to the sender's email address. Claude Desktop will prompt you to enter the code directly in chat to authorize the dispatch. For headless workflows or instant sends without OTP verification, you can supply a SIGNBEE_API_KEY in the config env block.

Why does the Signbee MCP server not accept a webhook_url parameter?

The Model Context Protocol (MCP) stdio connection used by desktop clients is a local, synchronous child process that exists only while the chat turn or application session is active. Contract signing by human parties happens asynchronously out-of-band over hours or days. Because Claude Desktop cannot maintain an exposed HTTP listener to receive webhook POSTs after session termination, MCP tools do not accept webhook_url. If your architecture requires real-time asynchronous document.signed webhook callbacks, use the direct Signbee REST API (POST /api/v1/send).

What tools does the Signbee MCP server expose to Claude?

Signbee MCP exposes exactly two minimalist tools: send_document (for generating and dispatching contracts from dynamic Markdown text with an array of signer objects) and send_document_pdf (for dispatching pre-compiled, hosted PDF documents for signature). Both tools consume approximately 340 prompt tokens combined, ensuring minimal context overhead.

What happens when both parties finish signing the agreement?

Once all designated parties complete the responsive web-based signing ceremony, Signbee compiles the executed contract into an immutable PDF and attaches a tamper-evident audit trail certificate. The certificate embeds a cryptographic SHA-256 hash of the final document, UTC completion timestamps, signer IP addresses, user agents, and email verification records, making it legally binding under the US ESIGN Act, EU eIDAS (SES), and UK ECA 2000.

Empower Claude to Send Certified Agreements

Install the Signbee MCP server in under 90 seconds or connect via the direct REST API.