mcpField
D
Documenso (Mojood Connect)

Documenso (Mojood Connect)

Local
mojood.appProductivity0Updated 1w ago

About Documenso (Mojood Connect)

Documenso MCP server lets Claude inspect contract status, signer activity, and document history, then send reminders or drafts. Email actions require a one-time confirmation, and the server cannot sign on anyone’s behalf.

Key features

  1. 01Find documents by status or title text
  2. 02Review signers and document audit history
  3. 03List documents associated with a person or company
  4. 04Surface pending signatures, rejections, and unsent drafts
  5. 05Send signing reminders or drafts after confirmation

Use cases

  1. 01Find contracts still awaiting signatures
  2. 02Check whether a signer opened a document
  3. 03Review the history or rejection reason for a contract
  4. 04Send a reminder after confirming the email

MCP support

Exposes Documenso document lookup and email-sending tools to MCP clients. Sending a reminder or draft requires a one-time confirmation code; signing documents is not supported.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"askmojood-documenso": {
"command": "uvx",
"args": [
"mojood-documenso-mcp"
],
"env": {
"DOCUMENSO_URL": "<DOCUMENSO_URL>",
"DOCUMENSO_TOKEN": "<DOCUMENSO_TOKEN>",
"DOCUMENSO_SAMPLE": "<DOCUMENSO_SAMPLE>"
}
}
}
}
Run commanduvx mojood-documenso-mcp
Environment variables to set
DOCUMENSO_URLYour Documenso address
DOCUMENSO_TOKENSecretA Documenso API token
DOCUMENSO_SAMPLE0 for real data (1 labels answers SAMPLE)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypimojood-documenso-mcp0.1.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Documenso MCP server

Documenso (Mojood Connect) 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

ToolWhat it doesChanges anything?
find_documentsDocuments by status or words in the title: when each was sent, every signer's status, who still has to signNo
get_documentOne document: its signers (signed, rejected with the reason, opened, not opened) and its history from Documenso's audit logNo
contact_documentsEvery document a person, email or company is part ofNo
needs_attentionEvery signer still to sign, longest wait first, our own people flagged; rejections with the reason; drafts not sentNo
send_reminderEmail a reminder to sign, to one signer or everyone still to signEmails, after confirmation
send_draftSend a draft to its signersEmails, 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 ([email protected]), 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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.