Doxi Sign MCP服务器(.NET核心)
概述
本项目提供了一个在ASP.NET中实现的模型上下文协议(MCP)服务器。NET核心,用于通过Doxi Sign API管理文档签名流。
它公开了JSON-RPC 2.0方法,允许AI客户端(ChatGPT、Claude等)创建、编辑和管理签名流、文档和附件。
______________________________________________________________________
安装指南
- 克隆和构建
克隆https://github.com/yourorg/doxi-mcp-server.git cd-doxi-mcp服务器 .net构建
- 在本地运行
运行.NET
默认端点: http://localhost:5287/{您的公司名称}/mcp
______________________________________________________________________
标头
所有请求必须包括: Mcp会话Id:测试 内容类型:应用程序/json
______________________________________________________________________
请求示例
列出可用工具:
发布http://localhost:5287/{您的公司名称}/mcp { “jsonrpc”:“2.0”, “id”:1, “方法”:“工具/列表” }
示例响应: { “jsonrpc”:“2.0”, “id”:1, “结果”:{“工具”:\[…\]} }
______________________________________________________________________
获取流状态示例:
发布http://localhost:5287/{您的公司名称}/mcp { “jsonrpc”:“2.0”, “id”:2, “方法”:“工具/调用”, “参数”:{ “name”:“GetFlowStatus”, “论点”:{ “用户名”:“apiuser”, “密码”:“apipass”, “signFlowId”:“123456” } } }
答复: { “jsonrpc”:“2.0”, “id”:2, “结果”:{“状态”:“已批准”} }
______________________________________________________________________
可用工具
- GetAllWebhook订阅 --列出所有webhook订阅(GET/ex/webhook)。
- 删除用户模板 --删除用户模板(DELETE/ex/template/{templateId})。
- GetForm设置 --下载公司表单的表单设置(GET/ex/company/{companyId}/forms/{formId}/settings)。
- 替换签名者 --替换签名流中的现有签名者(POST/flow/ReplaceSigner)。
- 合并文档 --将多个文档合并到一个文件中(POST/ex/document/merge)。
- 文档信息库64 --从以base64格式提供的文档中提取信息(POST/ex/document/info/bbase64)。
- 添加模板 --创建新的用户模板(POST/ex/template)。
- GetFlowAttachments --获取流的所有附件(GET/flow/{signFlowId}/attacheds)。
- 添加附件AsBase64ToFlow --将base64编码的附件添加到流中(POST/flow/{signFlowId}/attacheds/base64)。
- 删除订阅 --删除webhook订阅(DELETE/ex/webhook/{subscriptionId})。
- GetFlowAttachment字段 --从流中获取特定的附件字段(POST/flow/{signFlowId}/AttachmentField)。
- 更新 --更新现有工具包(PUT/ex/kit/{kitId})。
- 编辑SignFlow --编辑现有的签名流(POST/flow/edit)。
- 设置签名 --更新或添加流的签名(POST/flow/{signFlowId}/Sesignatures)。
- GetKits --列出租户的工具包(GET/ex/kit)。
- 搜索Webhook通话记录 --在webhook调用日志中搜索订阅(POST/ex/webhook/{subscriptionId}/logs/search)。
- 获取用户模板 --检索由键类型和值标识的用户的模板(GET/ex/user/{searchType}/{searchValue}/templates)。
- GetFlows状态 --一次检索多个流的状态(POST/flow/status)。
- WebHookCheck --验证和预览webhook有效负载(POST/ex/webhook/check)。
- 更新Webhook订阅 --更新webhook订阅(PUT/ex/webhook/{subscriptionId})。
- GetFlow状态 --获取特定流的当前状态(GET/flow/{signFlowId}/status)。
- 更新模板 --更新现有模板(PUT/ex/template/{templateId})。
- GetTemplate --检索模板元数据(GET/ex/template/{templateId})。
- 从模板中删除附件 --从模板中删除附件(DELETE/ex/template/{templateId}/attachments/{attachmentId})。
- GetUserIdByEmail --通过电子邮件检索用户ID(GET/ex/user/byEmail/{email}/ID)。
- GetUsers 的 --使用过滤器参数(GET/ex/users)查询用户。
- Getflow --检索特定签名流的元数据(GET/flow/{signFlowId})。
- 搜索文档Base64 --在base64编码的文档(POST/ex/document/search/b64)中搜索文本或模式。
- GetAllFlows --检索当前租户可用的所有签名流(GET/flow)。
- 文档信息 --从文档文件(POST/ex/document/info)中提取信息。
- 搜索文档 --在上传的文档中搜索文本或模式(POST/ex/document/search)。
- CreateFlowFromTemplate --从模板(POST/ex/template/CreateFlowFromTemplate/{templateId})创建新的签名流。
- GetUserGroups 的 --检索由键类型和值标识的用户的组(GET/ex/user/{searchType}/{searchValue}/groups)。
- 搜索流程 --按签名者、日期或状态(POST/flow/search)等筛选器搜索签名流。
- Addkit --创建一个新的工具包(POST/ex/kit)。
- 添加订阅 --添加新的webhook订阅(POST/ex/webhook)。
- Getkit --检索工具包元数据(GET/ex/kit/{kitId})。
- GetDocument --从签名流(GET/flow/{signFlowId}/document)下载文档。
- 添加SignFlow --创建新的签名流并上传文档(POST/flow)。
- SetFlowAction --在流上设置操作,如批准、拒绝或委派(POST/flow/{signFlowId}/action)。
______________________________________________________________________
集成(Claude/ChatGPT)
Windows配置(claude_desktop_config.json): { “mcpServers”:{ “doxi_flows”:{ “command”:“.net”, “args”:\[ “运行”, “--项目”, “C:\\path\\to\\DoxiMcpServer.csproj” \] } } }
macOS/Linux: { “mcpServers”:{ “doxi_flows”:{ “命令”:“/usr/local/bin/dotnet”, “args”:\[ “运行”, “--项目”, “/path/to/DoxiMcpServer.csproj” \] } } }
______________________________________________________________________
故障排除
- 错误请求:需要Mcp会话Id标头→ 添加标题。
- 未找到会话→ 使用固定会话ID。
- 方法不可用→ 确保方法名称是tools/list或tools/call。
- 空工具列表→ 验证是否加载了元数据.json。
______________________________________________________________________
许可证
根据MIT许可证获得许可。
