Skip to main content

Documenso MCP server

Ask Claude about your contracts in plain words: which ones are still waiting, who hasn't signed (and who hasn't even opened them), what happened to one document. Send reminders and drafts from the same chat, with a confirmation step before any email goes out. There is no tool that signs on anyone's behalf.

Built by Mojood Connect as a working demo for Documenso. It runs against any Documenso through its v2 public API. This repository includes a local Documenso with SAMPLE contracts for a made-up company, Harbor Trading, and a local mail catcher, so you can try it without sending a single real email.

Tools

Tool What it does Changes anything?
find_documents Documents by status or words in the title: when each was sent, every signer's status, who still has to sign No
get_document One document: its signers (signed, rejected with the reason, opened, not opened) and its history from Documenso's audit log No
contact_documents Every document a person, email or company is part of No
needs_attention Every signer still to sign, longest wait first, our own people flagged; rejections with the reason; drafts not sent No
send_reminder Email a reminder to sign, to one signer or everyone still to sign Emails, after confirmation
send_draft Send a draft to its signers Emails, after confirmation

How sending is made safe. A call to send_reminder or send_draft without a confirmation sends nothing: it returns a plain summary ("Email a reminder to sign "Distribution agreement: Gulf Build Contracting" to Rashid Al-Mutairi (rashid@gulf-build.example), sent 8.0 days ago.") and a one-time code. The email goes only when the same request comes back with that code, within 10 minutes. A code works once, and only for the request it was issued for. The server's instructions tell the model to show the summary and wait for the user's yes. Documenso's own audit log records every reminder and send.

The server acts for the team that owns the API token.

Try it locally

Needs Docker (with Compose), uv, Python 3.13 and OpenSSL.

scripts/reset.sh                         # local Documenso on http://localhost:3020, filled with the SAMPLE contracts
uv run --env-file .env documenso-mcp     # MCP server on http://127.0.0.1:8007/mcp (Streamable HTTP)

Every email Documenso sends lands in Mailpit at http://localhost:8026 and goes nowhere else. docker/compose.yml follows Documenso's own docker/production/compose.yml (v2.21.1), pinned, on 127.0.0.1 only. scripts/up.sh makes a self-signed signing certificate, signs the demo user up through Documenso's own sign-up endpoint and creates its API token the way Documenso stores them (the SHA-512 of the token); every secret stays in the git-ignored files docker/.env, docker/cert.p12 and .env, and nothing is printed.

Claude Desktop: add this to claude_desktop_config.json (Settings › Developer), with the path to this folder:

{
  "mcpServers": {
    "documenso": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/documenso-mcp", "--env-file", "/path/to/documenso-mcp/.env", "documenso-mcp", "--stdio"]
    }
  }
}

Then ask: "Which contracts are still waiting on signatures, and who hasn't signed?", "Where are we with the Gulf Build agreement?", "Remind Rashid to sign it."

Your own Documenso: set DOCUMENSO_URL, DOCUMENSO_TOKEN (an API token from your team's settings) and DOCUMENSO_SAMPLE=0.

The SAMPLE contracts

Eight one-page SAMPLE documents for Harbor Trading: a supply agreement waiting on our own countersignature, an NDA opened but not signed, a distribution agreement the customer hasn't opened in eight days, an offer letter, two completed contracts, an NDA rejected for the wrong legal entity name, and a draft. Times are set relative to the moment it is seeded. Everyone and everything in it is made up.

Tests

uv run --env-file .env pytest            # unit tests (a fake Documenso API), plus live tests when the local Documenso runs

What a production version adds

This demo uses one team's API token. A production server for Documenso customers would add sign-in with each person's own Documenso account, so Claude sees exactly their teams; hosting with an audit log of every tool call; and more of the API (templates and "use template", envelopes with several files, fields, webhooks). That is what Mojood Connect builds.

License

Apache 2.0. Documenso is a trademark of Documenso, Inc.; this project is not made or endorsed by Documenso, Inc.

Metadata

Release files for mojood-documenso-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mojood-documenso-mcp 0.1.0
File Size Uploaded Provenance Actions
mojood_documenso_mcp-0.1.0.tar.gz 58.9 kB With provenance Details for mojood_documenso_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mojood-documenso-mcp 0.1.0
File Interpreter ABI Platform Actions
mojood_documenso_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for mojood_documenso_mcp-0.1.0-py3-none-any.whl

Total release size: 77.6 kB

Release files / mojood_documenso_mcp-0.1.0.tar.gz

Download URL mojood_documenso_mcp-0.1.0.tar.gz
Size 58.9 kB
Tags Source
SHA-256 checksum
How to use checksums
01908ded0bab617e32217802cbb43494d8578dec59918976c8631f4e7894639e
BLAKE2b-256 checksum
How to use checksums
30621359b5bc9e7d1841bc5f4677710f33ed8eb76946bb4e458368eef3210644
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / mojood_documenso_mcp-0.1.0-py3-none-any.whl

Download URL mojood_documenso_mcp-0.1.0-py3-none-any.whl
Size 18.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e66f39d9e10fe0f8946e26d53db9765632ecd997d06c75055d952f28ac6539fe
BLAKE2b-256 checksum
How to use checksums
21329ec500a2672c6e0e12f74c0d7ac9793ebd290984b05d91879cfe14c7c2df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Security for mojood-documenso-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mojood_documenso_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page