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.
WxMCPServer enables you to expose your existing APIs — including their associated API Gateway policies (e.g., logging, authentication, API Key, or OAuth2) — as MCP Tools through an enterprise-grade integration platform.
It leverages your existing API management infrastructure:
In the current solution approach, the Portal Client 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.
While there are pre-configured assets for webMethods available, any API management platform can be used — only the current WxMCPServer implementation is bound to webMethods-specific APIs.
To integrate with non-IBM API management solutions, you must implement the Portal Client API interface (OpenAPI specification).
The following graphic provides an overview of the architecture:

WxMCPServer requires the following components:
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 Portal Client API on API Gateway, e.g., https://myAPIGateway/gateway/MCP-Portal-Client/1.0 |
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). |
{
"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/MCP-Portal-Client/1.0",
"--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"
]
}
}
}
{
"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/MCP-Portal-Client/1.0",
"--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"
]
}
}
}
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/MCP-Portal-Client/1.0" \
--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"
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/MCP-Portal-Client/1.0" \
--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"
A pre-configured Portal Client API archive is available for webMethods API Gateway.
Import this archive to create the WxMCP-Portal-Client API in API Gateway.
Then update the credentials in the wxmcp-portal-credentials alias with the technical user's credentials that can access the webMethods Developer Portal.
"Content-Type": "application/json" is supported for sending and receiving.