项目简介
WxMCPServer 是一个基于 webMethods Integration Server (IS) 或 webMethods Microservices Runtime 的软件包。它的核心目标是将企业现有的API,包括其现有的API策略,作为MCP工具暴露给大型语言模型(LLM)客户端。通过标准化 Model Context Protocol (MCP),它允许LLM以安全、可扩展的方式访问企业功能和数据。
主要功能点
- API即MCP工具: 将企业内部或外部的RESTful API(通过OpenAPI规范描述)转换为LLM可理解和调用的MCP工具。
- 集成API管理: 利用现有API管理基础设施(如API网关和API目录)进行API发现、策略执行(日志、认证、授权)和安全性。
- 上下文服务: 向LLM客户端提供结构化的上下文信息,包括工具的输入输出模式。
- 会话与认证: 支持API Key和OAuth等多种认证方式,并进行会话管理。
- 灵活配置: 允许通过全局变量和HTTP头覆盖客户端配置,适应不同的LLM应用场景。
安装步骤
- 准备webMethods环境: 确保您已安装并运行 webMethods Integration Server 或 webMethods Microservices Runtime (推荐v11.1及更高版本)。
- 实现MCP工具目录API: 根据您的API管理解决方案(如webMethods API Management 或 Azure API Management),实现 MCP Tool Catalog API。此API用于供WxMCPServer发现可用的业务API。
- 安装WxMCPServer包:
- 本地运行: 使用 webMethods Service Designer 的 webMethods Package Registry 加载 'WxMCPServer' 包。
- IBM webMethods Hybrid Integration (SaaS) 环境: 将此GitHub仓库添加为外部包到您的IBM webMethods Hybrid Integration项目。
- 配置API网关 (可选但推荐): 为了生产环境的安全性,将WxMCPServer API (可参考 '/resources/APIs/WxMCP-Server/WxMCP-Server-API-1.3.yaml') 部署到API网关前。
服务器配置
WxMCPServer的配置主要通过 Integration Server全局变量 或 MCP客户端发送的HTTP头 进行。HTTP头的优先级更高。
MCP客户端连接示例 (以Claude Desktop为例):
{ "mcpServers": { "mcp-iwhi-demo": { "command": "npx", "args": [ "-y", "mcp-remote", "http://<Integration Server Host>:<Integration Server Port>/mcp", "--header", "auth_type:API_KEY", "--header", "api_key:<您的API密钥>", "--header", "portal_client_base_url:https://<webMethods API Gateway Host>:<webMethods API Gateway Port>/gateway/WxMCP-Tool-Catalog/1.1", "--header", "api_key_headername:<您的API密钥头名称,例如x-Gateway-APIKey>", "--header", "tool_response_mode:structured", "--header", "response_code:http" ] } } }
参数说明:
- 'http://<Integration Server Host>:<Integration Server Port>/mcp': 这是您的WxMCPServer的访问地址。
- 'auth_type': 认证类型,可以是 'API_KEY'(API密钥认证)或 'OAUTH'(OAuth认证)。
- 'api_key': 当使用 'API_KEY' 认证时,提供您的实际API密钥。
- 'oauth_bearer_token': 当使用 'OAUTH' 认证时,提供OAuth的Bearer令牌。
- 'portal_client_base_url': MCP工具目录API在API网关上的基础URL。WxMCPServer会通过此URL发现可用的业务API。
- 'api_key_headername': 当使用 'API_KEY' 认证时,API密钥所在的HTTP请求头名称,例如webMethods通常使用 'x-Gateway-APIKey'。
- 'tool_response_mode': 工具响应的格式,可选 'text' (纯文本), 'structured' (结构化JSON), 'both'。
- 'response_code': 响应模式,可选 'stdio' (始终返回HTTP 200,内容在响应体中) 或 'http' (返回API的实际HTTP状态码)。
- 'tool_header_prefix', 'tool_query_prefix', 'tool_path_prefix': 用于识别MCP客户端传递的参数是HTTP头、查询参数还是路径参数的前缀。
基本使用方法
- 启动webMethods Integration Server/Microservices Runtime 并确保 'WxMCPServer' 包已成功部署。
- 配置您的MCP客户端 (例如Claude Desktop, DataStaX/Langflow) 以连接到 WxMCPServer 的 '/mcp' 端点。在客户端配置中,您需要提供上述配置信息,特别是认证凭据和 'portal_client_base_url'。
- MCP客户端将通过 'mcp-remote' 等工具与 WxMCPServer 建立连接。WxMCPServer 会自动从 'portal_client_base_url' 指定的 API 目录中获取业务 API 的 OpenAPI 规范,并将其转换为可供 LLM 调用的MCP工具。
- 一旦连接建立并工具就绪,LLM 客户端即可通过 WxMCPServer 安全地调用这些企业 API,并接收结构化的响应,从而实现AI对企业功能的访问和利用。
信息
分类
商业系统