BizTalk to Logic Apps MCP 服务端
使用说明(Markdown 要点总结):
- 项目简介
- 这是一个基于 MCP(Model Context Protocol)的后端服务器实现,提供资源、工具、提示模板等的托管与管理,并通过 JSON-RPC 与 MCP 客户端通信。
- 服务器端实现了对 Tools、Prompts、Resources 的注册、查询和执行,以及对会话和能力声明的管理,具备跨传输协议的扩展能力。
- 主要功能点
- 处理 MCP 请求与响应:ListTools、CallTool、ListPrompts、GetPrompt、ListResources、ReadResource 等 MCP 操作接口。
- 资源、工具与提示的托管与查询:统一暴露资源、工具集合以及提示模板,支持动态扩展。
- 工具执行与权限控制:通过工具定义和权限判定实现安全调用,支持不同授权等级的功能分级。
- 会话与能力声明:服务器在启动时进行 license/能力评估,能够对客户端行为进行会话管理与能力声明。
- 多传输协议扩展:当前实现基于 MCP 标准的 stdio 传输,后续可扩展为 SSE/WebSocket 等传输。
- 本地化部署友好:为 Claude Desktop/CLAUDE 等客户端场景提供本地化的 MCP 服务端支持。
- 安装步骤
- 安装依赖并打包部署(项目基于 Node 环境,建议执行 npm install 以安装依赖,并构建产物后通过 Node 启动服务器)。
- 构建并启动服务器(示例:node dist/mcp-server/server.js,实际路径以构建产物为准)。
- 服务器配置(MCP 客户端所需最小配置)
配置信息示例(用于 MCP 客户端连接服务器的元信息描述;注释仅供理解,实际客户端通常不需要在代码中执行):
{
"serverName": "biztalk-migrate", // MCP 服务器标识名称
"command": "node", // 启动服务器所用的命令
"args": ["dist/mcp-server/server.js"], // 命令参数,指向 MCP 服务器执行入口
"env": {
"BTLA_LICENSE_KEY": "your-license-key" // 若需 license,需提供密钥(非必需,取决于运行模式)
},
"transport": "stdio" // 传输模式,当前实现使用 stdio
}
注释:
- serverName 标识此 MCP 服务端实例在客户端侧的名称,便于管理和区分。
- command/args 指定启动服务器所需的命令及参数,客户端通过 MCP 协议与该入口建立连接。
- env 可以用于注入运行时所需的环境变量,例如许可证密钥等。
- transport 指定 MCP 的传输协议,当前实现以 stdio 为主,确保在本地环境中不暴露网络端口。
- 基本使用方法
- 在本地环境启动服务器:执行 npm install 之后,使用 node dist/mcp-server/server.js 或 npm run mcp:start(若提供对应脚本)。
- MCP 客户端连接:使用配置中给出的 serverName、command、args 等信息,在 CLAUDE Desktop、VS Code MCP 客户端等工具中创建一个 MCP 服务器条目,即可通过该服务器进行工具调用、资源读取、Prompts 获取等操作。
- 运行过程中,服务端会暴露工具、Prompts、Resources 的查询接口,以及对外部工具的执行能力,客户端通过 JSON-RPC 调用完成相应操作。