About PenlyDoc
PenlyDoc MCP server lets AI assistants create and manage electronic-signature documents through the PenlyDoc REST API. It supports sending from templates or local files, tracking signatures, and saving or verifying sealed PDFs.
Key features
- 01Inspect organization and templates
- 02Create documents from templates or files
- 03Track document and signer status
- 04View hash-chained signing history
- 05Send reminders or cancel documents
- 06Download and verify signed PDFs
Use cases
- 01Sending a lease from a template for signature
- 02Checking who still needs to sign a document
- 03Saving a completed contract as a PDF
- 04Verifying the seal and signers of a PDF
MCP support
The server runs locally over stdio and exposes PenlyDoc operations as MCP tools to compatible clients. It connects to the PenlyDoc REST API using an organization API key.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y penlydoc-mcpPENLY_API_KEYSecretPenlyDoc API key (console → Developers)PENLY_URLPenlyDoc instance URLLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
13Saved tool list · updated 4d ago
This tool takes no parameters.
Details
From the project READMEPenlyDoc MCP server
Let an AI assistant send documents for e-signature with PenlyDoc and follow them: "Send the lease to Mia Novak from the Residential lease template, rent 950 EUR", "Who still has to sign order 42?", "Save the signed contract to ./signed".
It is a Model Context Protocol server that runs on your computer (stdio) and talks to the PenlyDoc REST API with your organisation's API key. Works with any MCP client.
Setup
- Create an organisation at penlydoc.com (free) and copy an API key from Console → Developers.
- Add the server to your MCP client's configuration:
{
"mcpServers": {
"penlydoc": {
"command": "npx",
"args": ["-y", "penlydoc-mcp"],
"env": { "PENLY_API_KEY": "sk_…" }
}
}
}
Node.js 18.17 or newer is needed. PENLY_URL points the server at another PenlyDoc instance (default https://penlydoc.com).
Treat the API key like a password: it can send documents in your organisation's name. Give the assistant a key of its own, so you can revoke it in the console without touching your other integrations.
Tools
| Tool | What it does | Side effects |
|---|---|---|
get_organisation | Which organisation the key belongs to, sending limit | none |
list_templates | Templates with their roles and data keys | none |
send_from_template | Create a document from a template; send: true e-mails the people | e-mails real people |
send_document | Upload local PDFs or photos and create a document; boxes from {{sig:1}} tags or coordinates | e-mails real people when send: true |
list_documents | Documents with status and who has signed; filter by status or your reference | none |
get_document | One document: each person, opened, signed or declined, and when | none |
get_history | Hash-chained history with times and IP addresses | none |
send_draft | Send a draft | e-mails real people |
send_reminder | Remind everyone whose turn it is | e-mails real people |
cancel_document | Void a document that is still being signed | cannot be undone |
create_signing_link | One-hour link for an embedded signer | the link signs as that person |
download_signed_pdf | Save the sealed PDF of a completed document to a file | writes a local file (never overwrites) |
verify_pdf | Check a signed PDF: seal intact, who signed | none, no key needed |
The server tells the assistant to confirm people, e-mail addresses and documents with you before anything is sent. Most MCP clients also ask you before each tool call; keep that on for the tools that e-mail people.
Learn more
MIT licensed.
Comments
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.