IBM/WxMCPServer
If you are the rightful owner of WxMCPServer and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
WxMCPServer is a webMethods Integration Server package that implements an MCP Server for IBM webMethods Hybrid Integration.
WxMCPServer
WxMCPServer is a webMethods Integration Server (IS) package that implements an MCP Server for IBM webMethods Hybrid Integration (IWHI).
It requires either webMethods Integration Server or webMethods Microservices Runtime for hosting.
Table of Contents
- 1. Overview
- 2. Key Benefits
- 3. Requirements
- 4. Roles and Responsibilities
- 5. Quick Start
- 6. Integration Server Global Variables
- 7. Configuration Examples
- 8. Limitations
1. Overview
WxMCPServer enables you to expose your existing APIs, including their existing API policies, as MCP Tools through an enterprise-grade integration platform.
It leverages your existing API management infrastructure:
- API Catalog
Introspect API Management applications or Developer Portals for APIs to be exposed as MCP tools - API Gateway
Enforce policies such as logging, authentication, and authorization
In the current solution approach, the MCP Tool Catalog API is grouped together with business APIs into an API product. This API product is then used to retrieve metadata (including the OpenAPI specification) for all APIs in the product.
2. Key Benefits
- Reuse existing corporate APIs as AI-accessible MCP tools
- Retain existing API Gateway security and policy enforcement
- Integrate seamlessly with API catalogs for API discovery
- One API key or access token can access the MCP Tool Catalog API and all business APIs in the same API product
3. Requirements
WxMCPServer requires IBM webMethods Integration Server or IBM webMethods Microservices Runtime as the server (tested with v11.1).
To integrate with API Management solutions, you must implement the .
There are instructions (and pre-configured assets) on how to implement this API on:
The approach is generally open for 3rd party API Management solutions ("Federated API Management").
4. Roles and Responsibilities
- MCP Host and MCP Client External components (not part of this solution) essential for using the tools; examples include Claude Desktop or Langflow
- WxMCPServer webMethods IS package implementing the MCP Server
- API Gateway Hosts business APIs (to be exposed as MCP tools) and the MCP Tool Catalog API to extract API metadata from the API Catalog
- API Catalog Allows AI developers to request access to API products and retrieve API keys or OAuth credentials
The following graphic provides an overview of the architecture:
5. Quick Start
5.1 MCP Tool Catalog API
- First thing to do is to decide from which API management solution you want to fetch the tools (aka APIs form existing API Product). Follow these instructions.
- Test the API isolated before continuing with WxMCPServer
5.2 webMethods Integration Server
- If you are a webMethods Integration Server customer, you can re-use your existing Integration Server runtime
- If you do not have an webMethods Integration Server yet, you can download webMethods Service Designer together with the embedded development runtime of Integration Server.
- If you are working with IBM webMethods Hybrid Integration in SaaS, you can re-use Cloud runtime or register a new Edge Runtime
5.3 Installing package WxMCPServer on webMethods Integration Server
-
If you are running locally you can use webMethods Service Designer and the webMethods Package Registry to load the package WxMCPServer
-
If you are running inside IBM webMethods Hybrid Integration (SaaS) you can add this GitHub repository as external package to your IBM webMethods Hybrid Integration project
5.4 Configuring WxMCPServer
-Use the global variables to define MCP server-wide settings. Use the API specifc configuration headers to overwrite these settings per MCP client.
5.5 Protecting WxMCPServer implementation
If you do not run a local MCP server , but a shared one used for enterprise scenarios, you should put the on the API Gateway in front of the WxMCPServer implementation. Ideally you put it into the same API product than MCP Tool Catalog API, so that all APIs share the same credentials ("Invoke, what you can list and vice versa"). See full enterprise architecture below:
There is a pre-configured for webMethods API Gateway, that implements WxMCPServer API for webMethods API Gateway
6. Integration Server Global Variables
You can set default values for WxMCPServer
, which are used if no corresponding HTTP headers are sent.
Note: MCP client HTTP headers always take precedence over default values.
Variable Name | Required | Default Value | Description |
---|---|---|---|
wxmcp.cache.manager.name | No | WxMCP_Cache_Manager_Default | The name of the Cache Manager to be used. |
wxmcp.auth.type | Yes | (none) | Authentication type: "OAUTH" or "API_KEY" . |
wxmcp.portal.client.base.url | Yes | (none) | Base URL of your MCP Tool Catalog API on API Gateway, e.g., https://<myWebMethodsAPIGateway>/gateway/WxMCP-Tool-Catalog-wMAPIGW/1.1 |
wxmcp.api.key.headername | Conditional | (none) | Used only when wxmcp.auth.type = "API_KEY" . Specifies the API key header name. |
wxmcp.tool.header.prefix | No | header_ | Default prefix for tool header properties. |
wxmcp.tool.query.prefix | No | query_ | Default prefix for tool query parameter properties. |
wxmcp.tool.path.prefix | No | path_ | Default prefix for tool path parameter properties. |
wxmcp.tool.response.mode | No | both | Tool response format: text , structured , or both . |
wxmcp.response.code.mode | No | stdio | Response mode: "stdio" (always HTTP 200) or "http" (actual status codes). |
7. Configuration Examples
7.1 Claude Desktop — API Key
{
"mcpServers": {
"mcp-iwhi-apikey-demo": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://<Integration Server Host>:<Integration Server Port>/mcp",
"--header",
"auth_type:API_KEY",
"--header",
"api_key:<The API Key>",
"--header",
"portal_client_base_url:https://<webMethods API Gateway Host>:<webMethods API Gateway Port>/gateway/WxMCP-Tool-Catalog/1.1",
"--header",
"api_key_headername:<Your API Key header - i.e. x-Gateway-APIKey for webMethods>",
"--header",
"tool_header_prefix:header_",
"--header",
"tool_query_prefix:query_",
"--header",
"tool_path_prefix:path_",
"--header",
"tool_response_mode:structured",
"--header",
"response_code:http"
]
}
}
}
7.2 Claude Desktop — OAUTH Style
{
"mcpServers": {
"mcp-iwhi-oauth-demo": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://<Integration Server Host>:<Integration Server Port>/mcp",
"--header",
"auth_type:OAUTH",
"--header",
"portal_client_base_url:https://<webMethods API Gateway Host>:<webMethods API Gateway Port>/gateway/WxMCP-Tool-Catalog/1.1",
"--header",
"oauth_bearer_token:<The bearer token>",
"--header",
"tool_header_prefix:header_",
"--header",
"tool_query_prefix:query_",
"--header",
"tool_path_prefix:path_",
"--header",
"tool_response_mode:structured",
"--header",
"response_code:http"
]
}
}
}
7.3 DataStaX/Langflow MCP Server - API Key Style
npx -y mcp-remote http://<Integration Server Host>:<Integration Server Port>/mcp \
--header "auth_type:API_KEY" \
--header "portal_client_base_url:https://<webMethods API Gateway Host>:<webMethods API Gateway Port>/gateway/WxMCP-Tool-Catalog/1.1" \
--header "api_key:<The API Key>" \
--header "api_key_headername:<Your API Key header - i.e. x-Gateway-APIKey for webMethods>" \
--header "tool_header_prefix:header_" \
--header "tool_query_prefix:query_" \
--header "tool_path_prefix:path_" \
--header "tool_response_mode:both" \
--header "response_code:stdio"
7.4 DataStaX/Langflow MCP Server - OAuth Style
npx -y mcp-remote http://<Integration Server Host>:<Integration Server Port>/mcp \
--header "auth_type:OAUTH" \
--header "portal_client_base_url:https://<webMethods API Gateway Host>:<webMethods API Gateway Port>/gateway/WxMCP-Tool-Catalog/1.1" \
--header "oauth_bearer_token:<The bearer token>" \
--header "tool_header_prefix:header_" \
--header "tool_query_prefix:query_" \
--header "tool_path_prefix:path_" \
--header "tool_response_mode:both" \
--header "response_code:stdio"
8. Limitations
- Only
"Content-Type": "application/json"
is supported for sending and receiving data to APIs.