WxMCPServer

IBM/WxMCPServer

3.3

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

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

Screenshot

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:

Screenshot


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 Screenshot

  • 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:

Screenshot

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 NameRequiredDefault ValueDescription
wxmcp.cache.manager.nameNoWxMCP_Cache_Manager_DefaultThe name of the Cache Manager to be used.
wxmcp.auth.typeYes(none)Authentication type: "OAUTH" or "API_KEY".
wxmcp.portal.client.base.urlYes(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.headernameConditional(none)Used only when wxmcp.auth.type = "API_KEY". Specifies the API key header name.
wxmcp.tool.header.prefixNoheader_Default prefix for tool header properties.
wxmcp.tool.query.prefixNoquery_Default prefix for tool query parameter properties.
wxmcp.tool.path.prefixNopath_Default prefix for tool path parameter properties.
wxmcp.tool.response.modeNobothTool response format: text, structured, or both.
wxmcp.response.code.modeNostdioResponse 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.