PenlyDoc

io.github.OrestKlymko由 GitHub 帳號 OrestKlymko 發布v0.1.1更新於 Nov 1, 2026

Send documents for e-signature, track who signed and save sealed PDFs with PenlyDoc.

概覽

AI 產生的概覽

PenlyDoc MCP 伺服器讓助理寄送待電子簽署的文件、追蹤簽署進度,並儲存已密封的簽署 PDF。

可以做什麼
  • 以範本建立文件,或上傳本機 PDF 與頁面照片,簽名框來自標籤或座標
  • 列出並檢視文件:狀態、誰開啟、簽署或拒簽,以及含時間與 IP 的雜湊鏈歷程
  • 寄送草稿、提醒目前輪到的人簽署,以及作廢仍在簽署中的文件
  • 建立一小時有效的內嵌簽署連結,並把已密封的簽署 PDF 下載成本機檔案
  • 不需 API 金鑰即可驗證任一在本機的簽署 PDF 的密封完整性與簽署人
適用情境
適合讓助理準備並寄出合約、租約或訂單供人簽署,之後追蹤進度,或在對話中驗證並歸檔已完成的簽署 PDF。
執行需求
透過 npx 以 stdio 在本機執行,需要 Node.js 18.17 或更新版本。需要 PenlyDoc 組織帳號與主控台的 API 金鑰,以 PENLY_API_KEY 提供;PENLY_URL 為選用,可指向其他執行個體。需要連線至 PenlyDoc API 的網路。
安裝前請注意
API 金鑰能以組織名義寄送文件,應視同密碼,並為其建立可隨時撤銷的專用金鑰。多個工具會寄信給真人(寄送、提醒、作廢),且作廢無法復原;呼叫前先與使用者確認收件人與內容,並保留用戶端的確認提示。簽署連結的持有者即可代表該人簽署。文件歷程包含簽署人的 IP 位址。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 PenlyDoc,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

PenlyDoc 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

  1. Create an organisation at penlydoc.com (free) and copy an API key from Console → Developers.
  2. Add the server to your MCP client's configuration:
json
{  "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

ToolWhat it doesSide effects
get_organisationWhich organisation the key belongs to, sending limitnone
list_templatesTemplates with their roles and data keysnone
send_from_templateCreate a document from a template; send: true e-mails the peoplee-mails real people
send_documentUpload local PDFs or photos and create a document; boxes from {{sig:1}} tags or coordinatese-mails real people when send: true
list_documentsDocuments with status and who has signed; filter by status or your referencenone
get_documentOne document: each person, opened, signed or declined, and whennone
get_historyHash-chained history with times and IP addressesnone
send_draftSend a drafte-mails real people
send_reminderRemind everyone whose turn it ise-mails real people
cancel_documentVoid a document that is still being signedcannot be undone
create_signing_linkOne-hour link for an embedded signerthe link signs as that person
download_signed_pdfSave the sealed PDF of a completed document to a filewrites a local file (never overwrites)
verify_pdfCheck a signed PDF: seal intact, who signednone, 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.

來源:README.md,提交 5da7c35

工具

13

get_organisation

Organisation

Shows which PenlyDoc organisation the API key belongs to, its default language and its sending limit.

無需輸入參數。

list_templates

List templates

Lists the organisation's templates: id, name, the roles to fill (e.g. "tenant", "landlord"), the data keys to fill, and whether the template is ready to send.

無需輸入參數。

send_from_template

Send from a template

Creates a document from a template: one person per role, values for its data keys. With send=true PenlyDoc immediately e-mails the people with delivery EMAIL; confirm the people and values with the user first. With send=false it creates a draft the user can review in the console. Use the same externalRef/idempotencyKey to safely retry.

輸入參數datasend必填roles必填titlemessagetemplateId必填externalRefidempotencyKey

send_document

Send a document

Uploads local files (PDF, or PNG/JPEG photos of pages, joined in order) and creates a document for signature. Signature boxes come from {{sig:1}}-style tags in the PDF or from the fields argument (points, top-left origin). With send=true PenlyDoc e-mails the people right away; confirm with the user first. Without tags or fields, use send=false and let the user place the boxes in the console (the result has a link).

輸入參數datasend必填files必填title必填fieldsmessagerecipients必填externalRefsigningOrderexpiresInDays

list_documents

List documents

Lists documents sent for signature, newest first, with who has signed. Filter by status or by your externalRef.

輸入參數limitstatusexternalRef

get_document

Document status

Full status of one document: each person, whether they opened, signed or declined (with the reason), and when.

輸入參數id必填

get_history

Document history

The hash-chained history of a document: every step with time, who and IP address, and whether the chain is intact.

輸入參數id必填

send_draft

Send a draft

Sends a DRAFT document: PenlyDoc e-mails the first people to sign. Confirm with the user first.

輸入參數id必填

send_reminder

Remind

E-mails a reminder now to everyone whose turn it is on this document. Confirm with the user first.

輸入參數id必填

cancel_document

Cancel a document

Cancels (voids) a document that is still being signed. Signing links stop working and the people still to act are told by e-mail. This cannot be undone; confirm with the user first.

輸入參數id必填reason必填

download_signed_pdf

Download the signed PDF

Saves the sealed, signed PDF (with the certificate of completion as last page) of a COMPLETED document to a local file.

輸入參數id必填saveTo必填

verify_pdf

Check a signed PDF

Checks a local signed PDF: is the seal intact, when was it sealed, who signed. Works for any PDF; nothing is stored. No API key needed.

輸入參數file必填

版本歷史

1
  1. v0.1.1最新Oct 25, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分