MCP服务器实现工具

WxMCPServer是一个实现MCP服务器功能的webMethods集成服务器包,用于将现有API作为MCP工具暴露,适用于企业级集成平台。

  • by IBM
  • Java
  • 混合部署
  • 22 星标
  • 更新于
在 GitHub 查看 IBM/WxMCPServer

使用说明

WxMCP服务器

WxMCP服务器 是一个webMethods Integration Server(is)包,它实现了 MCP服务器 (截至2025年6月18日)用于IBM webMethods混合集成(IWHI)。 这需要 webMethods集成服务器 或 webMethods微服务运行时 为主办。

最新动态

v1.3.2(2026年2月2日)

v1.3.1(2026年1月6日)

  • 引入了新的标题名称,请参阅最新 WxMCPServer 1.5 API规范
  • 引入新的webMethods IS端点 https://<server>:<port>/v1_5_0/mcp
  • 引入了按需加载工具。如果工具未出现在本地缓存中(即由于刷新包),即使不强制执行“工具/列表”,它们也会被加载

目录


1.概述

WxMCPServer使您能够公开现有的API,包括其现有的API策略,如下所示 MCP工具 通过企业级集成平台。

它利用了您现有的API管理基础架构:

  • API目录
    将作为MCP工具公开的API的Introspect API管理应用程序或开发人员门户
  • API网关
    强制执行日志记录、身份验证和授权等策略

在当前的解决方案中 MCP工具目录API 与业务API一起组成API产品。然后使用此API产品检索元数据(包括 开放应用程序接口 规范)用于产品中的所有API。


2.主要优势

  • 将现有的企业API重用为AI可访问的MCP工具
  • 保留现有的API网关安全性和策略实施
  • 与API目录无缝集成,用于发现API
  • 一个API密钥或访问令牌可以访问MCP工具目录API和同一API产品中的所有业务API

3.要求

WxMCP服务器 需要 IBM webMethods集成服务器 或 IBM webMethods微服务运行时 作为服务器(用v11.1测试)。
要与API管理解决方案集成,必须实现 MCP工具目录API.

提供了关于如何在各种系统上实现此API的说明(以及预先配置的资产):

3.1实现webMethods API管理工具目录

webMethods API管理的详细说明

3.2 Azure API管理实施工具目录

Azure API管理的详细说明

3.3在IBM API Connect上实现工具目录

IBM API Connect的详细说明

该方法通常对第三方API管理解决方案(“联合API管理”)开放。


4.角色和职责

  • MCP主机 和 MCP客户端 使用工具所必需的外部组件(不属于此解决方案);示例包括Claude Desktop或Langflow
  • WxMCP服务器 实现MCP服务器的webMethods IS包
  • API网关 托管业务API(将作为MCP工具公开)和MCP工具目录API,以从API目录中提取API元数据
  • API目录 允许人工智能开发人员请求访问API产品并检索API密钥或OAuth凭据

下图提供了架构的概述:


5.快速入门

5.1 MCP工具目录API

  • 首先要做的是决定要从哪个API管理解决方案中获取 工具 (又称现有API产品中的API)。 遵循这些说明。
  • 在继续之前测试隔离的API WxMCP服务器

5.2 webMethods集成服务器

  • 如果您是webMethods Integration Server客户,则可以重用现有的Integration Server运行时
  • 如果您还没有webMethods Integration Server,可以下载 webMethods服务设计器 以及Integration Server的嵌入式开发运行时。
  • 如果你正在与 IBM webMethods混合集成 在SaaS中,您可以重复使用云运行时或注册新的 边缘运行时

5.3在webMethods集成服务器上安装WxMCPServer包

  • 如果你在本地运行,你可以使用 webMethods服务设计器 和那个 webMethods包注册表 装载包裹 WxMCP服务器

  • 如果你在里面跑步 IBM webMethods混合集成 (SaaS)你可以添加这个 GitHub存储库 外部 包裹 到您的IBMwebMethods混合集成 项目

5.4配置WxMCP服务器

  • 使用 全局变量 定义MCP服务器范围的设置。根据,使用API特定的配置头来覆盖这些设置 MCP客户端.

5.5保护WxMCP服务器的实施

如果您不运行本地MCP服务器,而是运行用于企业场景的共享服务器,则应将 WxMCPServer API 在API网关上 WxMCP服务器 实施。理想情况下,您将其放入与 MCP工具目录 API,以便所有API共享相同的凭据(“调用您可以列出的内容,反之亦然”)。 请参阅下面的完整企业架构:

有一个预配置 档案 对于webMethods API网关,实现 WxMCPServer API 为了 webMethods API网关

5.5在容器/Kubernetes中运行WxMCP服务器

如果要在容器中运行WxMCPServer,可以使用 Dockerfile 和 README-k8s.md 作为一个起点。 Kubernetes部署示例基于微服务运行时v11.1。

一步一步(更多说明见 README-k8s.md):

# Pull base image from wM container registry
docker pull ibmwebmethods.azurecr.io/webmethods-microservicesruntime:11.1
# Build custom Docker image
docker build -t wxmcpserver .
# start your kubernetes cluster
# execute k8s script
k8s/deploy-local.sh

将IBM Bob连接到MCP服务器:

"wxmcp-http-server": {
    "url": "http://mcp.k8s.orb.local/wxmcp/mcp",
    "type": "streamable-http",
    "headers": {
        "x-auth-type": "API_KEY",
        "x-tool-catalog-base-url": "http://apigw1015-apigateway-admin.apigateway.svc.cluster.local:5555/gateway/WxMCP-Tool-Catalog/1.1",
        "x-api-key": "x-Gateway-APIKey",
        "Content-Type": "application/json",
        "x-api-key-headername": "x-Gateway-APIKey"
    }
}

6.集成服务器全局变量

您可以为设置默认值 WxMCPServer,如果没有发送相应的HTTP标头,则使用它们。

注: MCP客户端HTTP标头 总是 优先于默认值。

变量名称 必填 默认值 描述
wxmcp.cache.manager.name 没有 WxMCP_Cache_Manager_Default 要使用的缓存管理器的名称。
wxmcp.auth.type 是的 INTERNAL (无) 身份验证类型: "OAUTH" 或 "API_KEY" API管理解决方案。 "INTERNAL" 对于以Integration Server作为认证服务器的Integration Server流, "THIRD_PARTY" 用于外部身份验证服务器
wxmcp.tool.catalog.base.url 是 (无) API网关上的MCP工具目录API的基本URL,例如。, https://<myWebMethodsAPIGateway>/gateway/WxMCP-Tool-Catalog-wMAPIGW/1.1
wxmcp.api.key.headername 条件 (无) 仅在以下情况下使用 wxmcp.auth.type = "API_KEY"。指定API密钥头名称。
wxmcp.tool.header.prefix 没有 header_ 刀头属性的默认前缀。
wxmcp.tool.query.prefix 没有 query_ 工具查询参数属性的默认前缀。
wxmcp.tool.path.prefix 没有 path_ 刀具路径参数特性的默认前缀。
wxmcp.tool.response.mode 没有 both 工具响应格式: text, structured,或 both.
wxmcp.response.code 没有 stdio 响应模式: "stdio" (始终为HTTP 200)或 "http" (实际状态代码)。
wxmcp.jwks.uri 有条件 (无) 强制要求 wxmcp.auth.type = "THIRD_PARTY"。指定外部身份验证服务器的有效JWKS URI。
wxmcp.jwt.audience 没有 wxmcpserver 检查时间 wxmcp.auth.type = "THIRD_PARTY"。如果您的JWT受众声明返回了不同的受众,请相应地调整此值。

7.配置示例

7.1 Claude Desktop-stdio | npx | API密钥

{
  "mcpServers": {
    "mcp-iwhi-apikey-demo": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://<Integration Server Host>:<Integration Server Port>/mcp",
        "--header",
        "x-auth-type:API_KEY",
        "--header",
        "x-api-key:<The API Key>",
        "--header",
        "x-tool-catalog-base-url:https://<webMethods API Gateway Host>:<webMethods API Gateway Port>/gateway/WxMCP-Tool-Catalog/1.1",
        "--header",
        "x-api-key-headername:<Your API Key header - i.e. x-Gateway-APIKey for webMethods>",
        "--header",
        "x-tool-header-prefix:header_",
        "--header",
        "x-tool-query-prefix:query_",
        "--header",
        "x-tool-path-prefix:path_",
        "--header",
        "x-tool-response-mode:structured",
        "--header",
        "x-response-code:http"
      ]
    }
  }
}

7.2克劳德台式机——stdio | npx | OAUTH风格

{
  "mcpServers": {
    "mcp-iwhi-oauth-demo": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://<Integration Server Host>:<Integration Server Port>/mcp",
        "--header",
        "x-auth-type:OAUTH",
        "--header",
        "x-tool-catalog-base-url:https://<webMethods API Gateway Host>:<webMethods API Gateway Port>/gateway/WxMCP-Tool-Catalog/1.1",
        "--header",
        "x-oauth-bearer-token:<The bearer token>",
        "--header",
        "x-tool-header-prefix:header_",
        "--header",
        "x-tool-query-prefix:query_",
        "--header",
        "x-tool-path-prefix:path_",
        "--header",
        "x-tool-response-mode:structured",
        "--header",
        "x-response-code:http"
      ]
    }
  }
}

7.3 IBM watsonx Orchestrate | Langflow-stdio | uvx | API密钥

uvx mcp-proxy 
--headers x-api-key <Your API Key header - i.e. x-Gateway-APIKey for webMethods>
--headers x-tool-catalog-base-url https://<webMethods API Gateway Host>:<webMethods API Gateway Port>/gateway/WxMCP-Tool-Catalog/1.1
http://<Integration Server Host>:<Integration Server Port>/mcp --transport streamablehttp

7.4 VS代码MCP服务器-可流式HTTP

{
  "servers": {
    "my-wxmcp-http-server": {
      "url": "http://<Integration Server Host>:<Integration Server Port>/mcp",
      "type": "http",
      "headers": {
        "x-auth-type": "API_KEY",
        "x-tool-catalog-base-url": "https://<webMethods API Gateway Host>:<webMethods API Gateway Port>/gateway/WxMCP-Tool-Catalog/1.1",
        "x-api-key": "<Your API Key header - i.e. x-Gateway-APIKey for webMethods>",
        "Content-Type": "application/json",
        "x-api-key-headername": "x-Gateway-APIKey"
      }
    }
  },
  "inputs": []
}

8.限制

  • 仅 "Content-Type": "application/json" 支持向API发送和接收数据。
  • 这 令牌通道反模式 将很快通过引入令牌交换功能来解决