WeSign MCP服务器
用于与WeSign数字签名平台集成的综合模型上下文协议(MCP)服务器。该服务器使人工智能助手能够与WeSign的API交互,以管理文档、创建签名、处理模板和执行管理任务。
特性
🔐 认证
- 使用JWT令牌管理安全登录/注销
- 自动令牌刷新
- 持续会话支持
- 身份验证状态检查
📄 文档管理
- 上传用于签名工作流的文档
- 创建文档集合
- 列出和搜索文档
- 下载已签名/未签名的文档
- 跟踪文档状态和进度
✍️ 自签名工作流
- 创建自签名文档
- 添加签名字段(签名、首字母、文本、日期、复选框)
- 通过自动生成PDF完成签名过程
- 保存草稿并拒绝文档
- 实时签名状态跟踪
📋 模板管理
- 创建可重用的文档模板
- 列出并管理模板
- 从模板生成新文档
- 模板状态和元数据管理
👥 用户和管理员功能
- 获取并更新用户配置文件信息
- 从Excel文件中提取签名者列表以进行批量操作
- 帐户和订阅信息
- 多语言支持(英语/希伯来语)
安装
npm install wesign-mcp-server或者克隆并从源代码构建:
git clone
cd wesign-mcp-server
npm install
npm run build配置
可以使用环境变量配置服务器:
export WESIGN_API_URL="https://wesign3.comda.co.il" # WeSign API base URL
export WESIGN_EMAIL="your-email@example.com" # Optional: Auto-login email
export WESIGN_PASSWORD="your-password" # Optional: Auto-login password
export WESIGN_PERSISTENT="false" # Optional: Use persistent sessionsClaude桌面配置
添加到您的Claude Desktop MCP设置(claude_desktop_config.json):
{
"mcpServers": {
"wesign": {
"command": "npx",
"args": ["wesign-mcp-server"],
"env": {
"WESIGN_API_URL": "https://wesign3.comda.co.il",
"WESIGN_EMAIL": "your-email@example.com",
"WESIGN_PASSWORD": "your-password"
}
}
}
}可用工具
身份验证工具
wesign_login
使用电子邮件和密码通过WeSign进行身份验证。
参数:
email(字符串,必填):WeSign帐户电子邮件password(string,必填):WeSign账号密码persistent(布尔值,可选):使用持久会话(默认值:false)
例子:
{
"email": "user@example.com",
"password": "your-password",
"persistent": false
}wesign_logout
退出WeSign并清除身份验证令牌。
wesign_refresh_token
如果已过期,请刷新身份验证令牌。
文档管理工具
wesign_upload_document
将文档上传到WeSign进行签名工作流程。
参数:
filePath(string,必填):文档文件的路径name(字符串,可选):文档的自定义名称
支持的格式: PDF、Word(.doc、.docx)、Excel(.xls、.xlsx)、图像(.jpg、.png、.gif)
wesign_create_document_collection
创建包含多个文件的文档集合。
参数:
name(string,必填):集合的名称filePaths(array,必填):文件路径数组
wesign_list_documents
按页码列出用户的文档。
参数:
offset(数字,可选):要跳过的记录(默认值:0)limit(数字,可选):最大记录数(默认值:50)
wesign_get_document_info
获取有关文档集合的详细信息。
参数:
documentCollectionId(字符串,必填):集合ID
wesign_download_document
下载已签名或未签名的文档。
参数:
documentCollectionId(字符串,必填):集合IDdocumentId(字符串,必填):文档IDsavePath(字符串,可选):本地保存路径
自签名工具
wesign_create_self_sign
创建自签名文档。
参数:
filePath(字符串,必填):文档文件的路径name(字符串,可选):自定义文档名称sourceTemplateId(字符串,可选):要使用的模板ID
wesign_add_signature_fields
在文档中添加签名字段。
参数:
documentCollectionId(字符串,必填):集合IDdocumentId(字符串,必填):文档IDfields(array,必填):字段对象数组:
- x, y (数字):位置坐标 - width, height (数字):字段尺寸 - pageNumber (number):页码(从1开始) - fieldType (数字):字段类型(1=签名,2=首字母,3=文本,4=日期,5=复选框)
wesign_complete_signing
完成签名过程并生成最终PDF。
参数:
documentCollectionId(字符串,必填):集合IDdocumentId(字符串,必填):文档IDsavePath(字符串,可选):保存已签名文档的路径
wesign_save_draft
将当前文档状态另存为草稿。
wesign_decline_document
拒绝签署文件。
wesign_get_signing_status
获取文档的当前签名状态。
模板工具
wesign_create_template
创建可重复使用的文档模板。
参数:
filePath(字符串,必填):模板文件的路径name(字符串,必填):模板名称description(字符串,可选):模板描述
wesign_list_templates
列出带分页的可用模板。
wesign_get_template
获取详细的模板信息。
参数:
templateId(字符串,必填):模板ID
wesign_use_template
从模板创建新文档。
参数:
templateId(字符串,必填):模板IDdocumentName(字符串,必填):新文档的名称
管理和用户工具
wesign_get_user_info
获取当前用户信息和帐户详细信息。
wesign_update_user_info
更新用户配置文件信息。
参数:
name(字符串,必填):全名email(字符串,必填):电子邮件地址phone(字符串,可选):电话号码language(数字,可选):UI语言(1=英语,2=希伯来语)
wesign_extract_signers_from_excel
从Excel文件中提取签名者信息以进行批量操作。
参数:
filePath(字符串,必填):Excel文件的路径(.xls或.xlsx)
Excel格式:
- 第1栏:名字
- 第2栏:姓氏
- 第3栏:电话/电子邮件
- 第4+列:其他自定义字段
wesign_check_auth_status
检查当前身份验证状态。
使用示例
基本文档签名工作流
// 1. Login
await wesign_login({
email: "user@example.com",
password: "password"
});
// 2. Upload document for self-signing
const result = await wesign_create_self_sign({
filePath: "/path/to/contract.pdf",
name: "Employment Contract"
});
// 3. Add signature fields
await wesign_add_signature_fields({
documentCollectionId: result.documentCollectionId,
documentId: result.documentId,
fields: [
{
x: 100, y: 200, width: 200, height: 50,
pageNumber: 1, fieldType: 1 // Signature field
}
]
});
// 4. Complete signing
await wesign_complete_signing({
documentCollectionId: result.documentCollectionId,
documentId: result.documentId,
savePath: "/path/to/signed-contract.pdf"
});模板管理
// Create template
const template = await wesign_create_template({
filePath: "/path/to/template.pdf",
name: "NDA Template",
description: "Standard Non-Disclosure Agreement"
});
// Use template to create new document
await wesign_use_template({
templateId: template.template.id,
documentName: "Client NDA - ABC Corp"
});批量操作
// Extract signers from Excel
const signers = await wesign_extract_signers_from_excel({
filePath: "/path/to/signers.xlsx"
});
// Create document collection for bulk signing
await wesign_create_document_collection({
name: "Bulk Contract Signing",
filePaths: ["/path/to/contract1.pdf", "/path/to/contract2.pdf"]
});错误处理
服务器为常见问题提供详细的错误消息:
- 身份验证失败
- 找不到文件错误
- 文档格式无效
- API速率限制
- 网络连接问题
所有工具响应都遵循一致的格式:
{
"success": true/false,
"message": "Description of result or error",
"data": { /* relevant response data */ }
}API费率限制
WeSign对各种端点实施速率限制:
- 登录尝试次数:每5分钟5次
- 文档创建:每分钟100个
- 模板操作:每分钟50次
服务器自动处理速率限制并提供适当的错误消息。
安全
- 所有身份验证令牌都在内存中安全管理
- 自动令牌刷新可防止过期会话问题
- 没有记录或保存敏感数据
- 文件上传的类型和大小经过验证
- 所有API通信都使用HTTPS
语言支持
WeSign支持多种语言:
- 英语(语言代码:1)
- 希伯来语(语言代码:2)
界面语言影响:
- 用户界面元素
- 电子邮件通知
- 文档模板
- 希伯来语的从右向左(RTL)布局
故障排除
常见问题
认证失败
- 验证电子邮件和密码是否正确
- 检查帐户是否处于活动状态且未被阻止
- 确保API URL正确无误
文件上传问题
- 验证文件是否存在并且可读
- 检查是否支持文件格式
- 确保文件大小在限制范围内(默认值:50MB)
网络问题
- 检查互联网连接
- 验证WeSign API URL是否可访问
- 检查防火墙/代理设置
调试模式
使用环境变量启用调试日志记录:
export DEBUG=wesign:*贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
支持
有关此MCP服务器的问题,请在GitHub存储库上打开问题。
有关WeSign API文档和帐户问题,请联系WeSign支持。
