🚀 SignNow MCP 服務器
SignNow REST API 能夠為簽署者、準備者和發送者提供無縫的電子簽名體驗。它支持預填充文檔、為多個簽署者創建嵌入式品牌工作流程、請求付款以及即時跟蹤簽名狀態,確保在任何設備上都能實現簡單、安全且直觀的簽署操作。
利用 SignNow API 可實現的功能:
- 按基於角色的順序發送文檔和文檔組以供簽名
- 從文檔創建可重複使用的模板
- 用數據預填充文檔字段
- 在簽署流程中收取付款
- 將文檔發送、簽署或編輯體驗嵌入到您的網站、應用程序或任何記錄系統中
- 跟蹤簽署進度並下載已完成的文檔
🚀 快速開始
前提條件
- 擁有 SignNow 賬戶。您可以創建一個免費開發者賬戶。
- 具備 SignNow 憑證:您需要賬戶電子郵件、密碼以及應用程序的基本授權令牌。入門指南。
- 擁有一個活躍的 SignNow API 應用程序。
- 系統中安裝了 Python 3.11 或更高版本(可使用
python3 --version 進行檢查)
- 安裝了 UVX(可使用
uvx --version 進行檢查)。建議使用它以實現最快的設置。
- 配置好環境變量
- 如果您的客戶端支持可流式傳輸的 HTTP,您可以使用預部署的服務器 URL
https://mcp-server.signnow.com/mcp,而無需在本地運行。
快速運行(uvx)
如果您使用 uv,可以在不安裝軟件包的情況下運行服務器:
uvx --from signnow-mcp-server sn-mcp serve
1. 設置環境變量
2. 安裝並運行
選項 A:從 PyPI 安裝(推薦)
pip install signnow-mcp-server
sn-mcp serve
選項 B:從源代碼安裝(開發用途)
git clone https://github.com/signnow/sn-mcp-server.git
cd sn-mcp-server
cp .env.example .env
pip install -e .
sn-mcp serve
STDIO 非常適合桌面客戶端和本地測試。
本地/遠程(HTTP)
sn-mcp http
sn-mcp http --host 0.0.0.0 --port 8000
sn-mcp http --reload
默認情況下,可流式傳輸的 HTTP MCP 端點在 /mcp 下提供服務。示例 URL:
http://localhost:8000/mcp
Docker
docker build -t sn-mcp-server .
docker run --env-file .env -p 8000:8000 sn-mcp-server sn-mcp http --host 0.0.0.0 --port 8000
容器內的 STDIO 在許多客戶端中不可靠。使用 Docker 時建議使用 HTTP。
Docker Compose
docker-compose up sn-mcp-server
docker-compose up
✨ 主要特性
模板與組
- 瀏覽所有模板和模板組
- 從模板創建文檔或組(包括一次性流程)
邀請與嵌入式用戶體驗
- 電子郵件邀請和有序收件人
- 用於應用內體驗的嵌入式簽署/發送/編輯器鏈接
狀態與檢索
- 檢查邀請狀態和步驟詳情
- 下載最終文檔(單個或合併)
- 讀取規範化的文檔/組結構以進行程序化決策
傳輸方式
- STDIO(最適合本地客戶端)
- 可流式傳輸的 HTTP(最適合 Docker/遠程)
📚 詳細文檔
配置
將 .env.example 複製為 .env 並填寫值。所有設置在啟動時通過 pydantic-settings 進行驗證。
認證選項
1) 用戶名/密碼(推薦用於桌面開發流程)
SIGNNOW_USER_EMAIL=<email>
SIGNNOW_PASSWORD=<password>
SIGNNOW_API_BASIC_TOKEN=<base64 basic token>
2) OAuth 2.0(適用於託管/高級場景)
SIGNNOW_CLIENT_ID=<client_id>
SIGNNOW_CLIENT_SECRET=<client_secret>
# + 以下是 OAuth 服務器和 RSA 設置
通過某些桌面客戶端運行時,可能僅支持用戶/密碼認證。
SignNow 與 OAuth 設置
# SignNow 端點(顯示默認值)
SIGNNOW_APP_BASE=https://app.signnow.com
SIGNNOW_API_BASE=https://api.signnow.com
# 可選的直接 API 令牌(正常使用不需要)
SIGNNOW_TOKEN=<access_token>
# OAuth 服務器(如果啟用 OAuth 模式)
OAUTH_ISSUER=<your_issuer_url>
ACCESS_TTL=3600
REFRESH_TTL=2592000
ALLOWED_REDIRECTS=<comma,separated,uris>
# 用於 OAuth 的 RSA 密鑰(生產環境中至關重要)
OAUTH_RSA_PRIVATE_PEM=<PEM content>
OAUTH_JWK_KID=<key id>
生產環境密鑰管理
如果生產環境中缺少 OAUTH_RSA_PRIVATE_PEM,每次重啟時都會生成一個新的 RSA 密鑰,使所有現有令牌失效。在生產環境中,始終通過密鑰管理提供持久的私鑰。
客戶端設置
VS Code — GitHub Copilot(代理模式)/ Cursor
在您的工作區中創建 .vscode/mcp.json 或 .cursor/mcp.json:
STDIO(本地):
{
"servers": {
"signnow": {
"command": "sn-mcp",
"args": ["serve"],
"env": {
"SIGNNOW_USER_EMAIL": "${env:SIGNNOW_USER_EMAIL}",
"SIGNNOW_PASSWORD": "${env:SIGNNOW_PASSWORD}",
"SIGNNOW_API_BASIC_TOKEN": "${env:SIGNNOW_API_BASIC_TOKEN}"
}
}
}
}
STDIO(uvx — 無需本地安裝):
{
"servers": {
"signnow": {
"command": "uvx",
"args": ["--from", "signnow-mcp-server", "sn-mcp", "serve"],
"env": {
"SIGNNOW_USER_EMAIL": "${env:SIGNNOW_USER_EMAIL}",
"SIGNNOW_PASSWORD": "${env:SIGNNOW_PASSWORD}",
"SIGNNOW_API_BASIC_TOKEN": "${env:SIGNNOW_API_BASIC_TOKEN}"
}
}
}
}
HTTP(遠程或 Docker):
{
"servers": {
"signnow": {
"type": "http",
"url": "http://localhost:8000/mcp"
}
}
}
然後打開聊天窗口 → 代理模式,啟用 signnow 工具,並在提示中使用它們。
注意:相同的配置也適用於 Cursor — 在 MCP 設置(STDIO 或 HTTP)下添加。對於 STDIO,您也可以如上所示使用 uvx。
Claude Desktop
使用桌面擴展或手動 MCP 配置(開發者 → 編輯配置)。
步驟:
- 打開 Claude Desktop → 開發者 → 編輯配置
- 在
mcpServers 下添加一個新的服務器條目
- 保存並重啟 Claude Desktop
示例:
STDIO(本地安裝):
{
"mcpServers": {
"signnow": {
"command": "sn-mcp",
"args": ["serve"],
"env": {
"SIGNNOW_USER_EMAIL": "${env:SIGNNOW_USER_EMAIL}",
"SIGNNOW_PASSWORD": "${env:SIGNNOW_PASSWORD}",
"SIGNNOW_API_BASIC_TOKEN": "${env:SIGNNOW_API_BASIC_TOKEN}"
}
}
}
}
STDIO(uvx — 無需本地安裝):
{
"mcpServers": {
"signnow": {
"command": "uvx",
"args": ["--from", "signnow-mcp-server", "sn-mcp", "serve"],
"env": {
"SIGNNOW_USER_EMAIL": "${env:SIGNNOW_USER_EMAIL}",
"SIGNNOW_PASSWORD": "${env:SIGNNOW_PASSWORD}",
"SIGNNOW_API_BASIC_TOKEN": "${env:SIGNNOW_API_BASIC_TOKEN}"
}
}
}
}
HTTP(遠程或 Docker):
{
"mcpServers": {
"signnow": {
"type": "http",
"url": "http://localhost:8000/mcp"
}
}
}
然後在 Claude 的聊天窗口中啟用服務器並開始使用工具。
Glama(託管 MCP)
只需進行最少的設置,即可在 Glama 上部署並運行此服務器:
步驟:
- 打開 Glama 上的服務器頁面:Glama 上的 sn-mcp-server
- 點擊紅色的“部署服務器”按鈕
- 在環境變量中提供:
SIGNNOW_USER_EMAIL
SIGNNOW_PASSWORD
SIGNNOW_API_BASIC_TOKEN
- (其他變量可以保留默認值)
- 在 Glama 中創建訪問令牌並複製端點 URL。它將類似於:
https://glama.ai/endpoints/{someId}/mcp?token={glama-mcp-token}
在任何支持 HTTP 傳輸的客戶端(例如,上述的 VS Code/Cursor JSON 配置或 Claude Desktop HTTP 示例)中使用此 HTTP MCP URL。
MCP 檢查器(測試)
非常適合直觀地探索工具和模式。
npx @modelcontextprotocol/inspector
sn-mcp serve
您可以列出工具、使用 JSON 參數調用它們並檢查響應。
工具
每個工具都有簡潔的描述;使用 MCP 客戶端(例如檢查器)查看確切的 JSON 模式。
list_all_templates — 列出具有簡化元數據的模板和模板組。支持 limit/offset 分頁(默認:每頁 50 項)。
list_documents — 瀏覽您的文檔、文檔組和狀態。支持 limit/offset 分頁(默認:每頁 50 項)。
create_from_template — 從模板/組創建文檔或組。
send_invite — 發送電子郵件邀請(文檔或組),支持有序收件人。
create_embedded_invite — 創建無需電子郵件發送的嵌入式簽署會話。
create_embedded_sending — 創建嵌入式“發送/管理”體驗。
create_embedded_editor — 創建用於放置/調整字段的嵌入式編輯器鏈接。
send_invite_from_template — 一次性操作:從模板創建併發送邀請。
create_embedded_sending_from_template — 一次性操作:模板 → 嵌入式發送。
create_embedded_editor_from_template — 一次性操作:模板 → 嵌入式編輯器。
create_embedded_invite_from_template — 一次性操作:模板 → 嵌入式簽署。
get_invite_status — 獲取文檔或組的當前邀請狀態/步驟。
get_document_download_link — 獲取直接下載鏈接(組的合併輸出)。
get_signing_link — 獲取文檔或文檔組的簽署鏈接。
get_document — 獲取具有字段值的規範化文檔/組結構。
update_document_fields — 預填充單個文檔中的文本字段。
提示:從 list_all_templates 開始 → create_from_template → create_embedded_* / send_invite,然後是 get_invite_status 和 get_document_download_link。
常見問題解答/提示
- STDIO 還是 Docker? 本地開發建議使用 STDIO;在 Docker 中使用 HTTP。
- 沙盒環境還是生產環境? 從 SignNow 的沙盒/開發憑證開始;生產環境需要適當的 OAuth 和持久的 RSA 私鑰。
- 在哪裡可以看到確切的工具模式? 使用 MCP 檢查器 或您的客戶端的“工具詳情”視圖。
- 示例在哪裡? 請參閱此倉庫中的
examples/ 目錄以獲取入門集成示例。
💻 使用示例
examples/ 目錄包含了如何將 SignNow MCP 服務器與流行的 AI 代理框架集成的實際示例:
- LangChain - 使用
langchain-mcp-adapters 與 LangChain 代理集成
- LlamaIndex - 使用
llama-index-tools-mcp 與 LlamaIndex 代理集成
- SmolAgents - 使用原生 MCP 支持與 SmolAgents 框架集成
每個示例都展示瞭如何:
- 將 MCP 服務器作為子進程啟動
- 將 MCP 工具轉換為框架特定的工具格式
- 創建可以使用 SignNow 功能的代理
- 處理環境變量配置
要運行示例:
pip install langchain-openai langchain-mcp-adapters
pip install llama-index-tools-mcp
pip install smolagents
python examples/langchain/langchain_example.py
python examples/llamaindex/llamaindex_example.py
python examples/smolagents/stdio_demo.py
📦 實用資源
示例應用
探索即用型示例應用,以快速測試如何使用 SignNow API 從您的軟件中準備、簽署和發送文檔。
試用示例應用。
API 文檔
查找有關 SignNow API 請求、參數、代碼示例和可能錯誤的技術細節。在詳細指南和用例中瞭解更多關於 API 功能的信息。
閱讀API 文檔。
SignNow API 助手 MCP
將您的 AI 連接到該助手,以訪問 API 文檔、為複雜的簽署工作流程生成代碼並自動排除集成錯誤。
訪問 API 助手 MCP
📄 許可證
本項目採用 MIT 許可證 — 請參閱 LICENSE.md。
關於
SignNow MCP 服務器由 SignNow 團隊維護。歡迎通過 GitHub 拉取請求提交問題和貢獻代碼。