mcpField
S
signdocs

signdocs

远程服务
signdocs.com.br生产力13 周前更新

关于 signdocs

signdocs 是面向 AI 客户端的 MCP 服务,用于调用 SignDocs Brasil 电子签名 API,处理签署流程。它涵盖签署会话、多签署人信封、文档操作、验证和 Webhook,并支持本地及远程传输。

主要功能

  1. 01创建和管理签署会话
  2. 02管理多签署人信封
  3. 03上传和下载文档
  4. 04验证签名与证据
  5. 05管理 Webhook

适用场景

  1. 01准备待电子签署的文档
  2. 02跟踪或取消签署会话
  3. 03验证已签署文档或信封
  4. 04为签署事件配置 Webhook

MCP 相关

将 SignDocs Brasil 的签署、文档、验证和 Webhook 操作作为 MCP 工具提供,并提供流程与策略参考资源。支持 stdio 和 Streamable HTTP 传输,远程使用时可按会话认证。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.signdocs.com.br/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.signdocs.com.br/mcp需要授权
安装包
npm@signdocs-brasil/mcp-server0.11.0

工具

详细介绍

SignDocs Brasil — MCP 服务

一个用于 SignDocs Brasil 电子签名 API 的 Model Context Protocol 服务。它让支持 MCP 的 AI 客户端(Claude Desktop、Claude Code、Cursor、……)创建签署会话、管理多签署人的信封、上传/下载文档、验证签名并管理 Webhook——提供与官方 n8n、Zapier 和 Make.com 集成相同的操作目录。

它是基于官方 @signdocs-brasil/api SDK 的轻量适配器;OAuth2 令牌交换、缓存、重试和错误处理均由该 SDK 负责。

安装

npm install -g @signdocs-brasil/mcp-server   # or run on demand with npx

凭据

在 SignDocs 控制面板(app.signdocs.com.br → API)中创建 API 凭据,并将其设为环境变量:

变量必填默认值备注
SIGNDOCS_CLIENT_ID是—OAuth2 客户端 ID
SIGNDOCS_CLIENT_SECRET是—OAuth2 客户端密钥
SIGNDOCS_ENVIRONMENT否hmlhml(预发布)或 production
SIGNDOCS_BASE_URL否自动推导覆盖解析出的基础 URL
SIGNDOCS_SCOPES否完整集合以空格分隔的 scope 覆盖值

请从 hml 开始。HML 数据会在约 7 天后过期,适合安全测试。 只有在准备创建具有法律约束力的真实签名时,才切换到 production。

连接 AI 客户端

Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "signdocs": {
      "command": "npx",
      "args": ["-y", "@signdocs-brasil/mcp-server"],
      "env": {
        "SIGNDOCS_CLIENT_ID": "your_client_id",
        "SIGNDOCS_CLIENT_SECRET": "your_client_secret",
        "SIGNDOCS_ENVIRONMENT": "hml"
      }
    }
  }
}

Claude Code:

claude mcp add signdocs \
  -e SIGNDOCS_CLIENT_ID=your_client_id \
  -e SIGNDOCS_CLIENT_SECRET=your_client_secret \
  -e SIGNDOCS_ENVIRONMENT=hml \
  -- npx -y @signdocs-brasil/mcp-server

工具

工具操作安全性
create_signing_session创建单签署人会话,返回 signingUrl⚠️ 具有约束力 + 配额
get_signing_session_status轮询会话状态读取
get_signing_session获取完整会话引导信息读取
list_signing_sessions按状态列出会话读取
cancel_signing_session取消会话⚠️ 不可撤销
resend_signing_session_otp重新发送 OTP写入
create_envelope创建多签署人信封⚠️ 具有约束力 + 配额
get_envelope获取信封详情读取
add_session_to_envelope添加签署人,返回 signingUrl⚠️ 具有约束力 + 配额
get_envelope_combined_stamp获取合并后的盖章 PDF URL读取
upload_document将 PDF 附加到交易写入
download_document获取预签名下载 URL读取
list_transactions搜索/列出交易读取
get_transaction获取交易详情读取
cancel_transaction取消交易⚠️ 不可撤销
get_evidence获取加密证据读取
verify_evidence验证公开证据读取
verify_envelope验证公开信封读取
verify_document检测 PDF 中的签名⚠️ 仅限 PROD + 配额
register_webhook / list_webhooks / delete_webhook / test_webhookWebhook 管理混合

⚠️ 这些工具带有 destructiveHint 注解,并且在说明中包含警告,以便符合要求的客户端在调用前提示用户。 注解仅供提示——请检查客户端的自动批准设置。

尚未提供

@signdocs-brasil/api v1.6.1 尚不支持信任会话(/v1/trust-sessions)和 resend-invite;待 SDK 支持后将予以添加。 数字 ICP-Brasil A1 签名通过较底层的交易/advance 流程处理,而非托管会话配置文件。

资源

该服务提供模型可按需读取的上下文资源:

  • signdocs://quickstart — 最简签署流程和安全说明
  • signdocs://policy-profiles — 有效的 policyProfile 值和 CUSTOM 步骤
  • signdocs://webhook-events — 所有可订阅的事件类型

远程 HTTP 传输(多租户)

相同的工具也通过 Streamable HTTP 提供服务,因此单个部署可以为多个 AI Agent/租户提供服务——每个租户在每个会话中都使用自己的 SignDocs 凭据进行身份验证(服务器中不会内置共享密钥)。

npm run start:http        # or: signdocs-mcp-http   (listens on PORT, default 3000)
# or containerized:
docker build -t signdocs-mcp . && docker run -p 3000:3000 signdocs-mcp

端点: POST /mcp(Streamable HTTP)。MCP initialize 请求需要身份验证,通过 Authorization 标头提供:

  • Authorization: Bearer <token> — SignDocs OAuth2 访问令牌(来自 /oauth2/token),直接传递给 API。
  • Authorization: Basic base64(clientId:clientSecret) — 服务器会为你执行 client_credentials 交换。
  • X-SignDocs-Client-Id + X-SignDocs-Client-Secret — 相同的客户端凭据 分别通过两个普通标头传递(无需 base64),适用于无法转换值的仅支持标头的客户端。

使用 X-SignDocs-Environment: hml|production 按会话选择环境 (默认为服务器配置的默认环境)。

服务器的行为符合 OAuth 2.0 资源服务器:提供 GET /.well-known/oauth-protected-resource(RFC 9728,指向 SignDocs 授权服务器),并对未通过身份验证的 initialize 请求返回 401 + WWW-Authenticate。SignDocs API 仍是权威的令牌验证方。 GET /healthz 是无需身份验证的健康检查端点。

客户端配置示例(Bearer):

{
  "mcpServers": {
    "signdocs-remote": {
      "type": "http",
      "url": "https://your-host.example/mcp",
      "headers": {
        "Authorization": "Bearer <signdocs_access_token>",
        "X-SignDocs-Environment": "hml"
      }
    }
  }
}

服务器环境变量: PORT、HOST、SIGNDOCS_ENVIRONMENT(默认环境)、 MCP_PUBLIC_URL(用于代理后的资源元数据)、MCP_CORS_ORIGIN、 MCP_DNS_REBINDING_PROTECTION=true + MCP_ALLOWED_HOSTS / MCP_ALLOWED_ORIGINS (建议在生产环境中启用)。

会话保存在进程内存中,因此请运行单个实例或使用粘性路由。对于多实例/无服务器部署,请在前端使用粘性会话,或将会话映射替换为共享存储 + EventStore(以支持恢复)。计划中的生产部署方式是在现有的 external-api Lambda + API Gateway 上以 NestedStack 形式部署。

AWS Lambda

对于无服务器托管,@signdocs-brasil/mcp-server/lambda 会导出 createLambdaHandler——一个 API Gateway HTTP API v2 处理程序,可无状态运行 MCP 传输(每次调用启动一个服务器,不使用会话存储),并支持相同的 Bearer/Basic 身份验证。SignDocs 在 mcp-hml.signdocs.com.br / mcp.signdocs.com.br 上托管该服务。

import { createLambdaHandler } from '@signdocs-brasil/mcp-server/lambda';
export const handler = createLambdaHandler({ defaultEnvironment: 'hml' });

开发

npm install
npm run build      # tsc → dist/
npm test           # vitest (pure unit tests, no network)
npm run inspect    # build + launch MCP Inspector against the stdio server

路线图

  • v0.1: 本地 stdio 服务器、完整工具目录、环境凭据。
  • v0.2(此版本): 远程 Streamable-HTTP 传输,支持按会话、 按租户进行身份验证(Bearer 直通或 Basic 客户端凭据),并支持 OAuth 资源服务器发现。两个传输共用工具层。
  • 下一步: 将 HTTP 传输部署到 external-api(Lambda + API Gateway NestedStack);可选的边缘 JWT 验证 + 共享存储会话,以支持水平扩展。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。