项目简介

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应用场景。

安装步骤

  1. 准备webMethods环境: 确保您已安装并运行 webMethods Integration ServerwebMethods Microservices Runtime (推荐v11.1及更高版本)。
  2. 实现MCP工具目录API: 根据您的API管理解决方案(如webMethods API Management 或 Azure API Management),实现 MCP Tool Catalog API。此API用于供WxMCPServer发现可用的业务API。
  3. 安装WxMCPServer包:
    • 本地运行: 使用 webMethods Service DesignerwebMethods Package Registry 加载 'WxMCPServer' 包。
    • IBM webMethods Hybrid Integration (SaaS) 环境: 将此GitHub仓库添加为外部包到您的IBM webMethods Hybrid Integration项目。
  4. 配置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头、查询参数还是路径参数的前缀。

基本使用方法

  1. 启动webMethods Integration Server/Microservices Runtime 并确保 'WxMCPServer' 包已成功部署。
  2. 配置您的MCP客户端 (例如Claude Desktop, DataStaX/Langflow) 以连接到 WxMCPServer 的 '/mcp' 端点。在客户端配置中,您需要提供上述配置信息,特别是认证凭据和 'portal_client_base_url'。
  3. MCP客户端将通过 'mcp-remote' 等工具与 WxMCPServer 建立连接。WxMCPServer 会自动从 'portal_client_base_url' 指定的 API 目录中获取业务 API 的 OpenAPI 规范,并将其转换为可供 LLM 调用的MCP工具。
  4. 一旦连接建立并工具就绪,LLM 客户端即可通过 WxMCPServer 安全地调用这些企业 API,并接收结构化的响应,从而实现AI对企业功能的访问和利用。

信息

分类

商业系统