-
Notifications
You must be signed in to change notification settings - Fork 615
[BUG][API]: ServerCapabilities.tools type too strict β rejects MCP servers with extra capability fieldsΒ #3063
Copy link
Copy link
Labels
MUSTP1: Non-negotiable, critical requirements without which the product is non-functional or unsafeP1: Non-negotiable, critical requirements without which the product is non-functional or unsafebugSomething isn't workingSomething isn't workingwxowxo integrationwxo integration
Milestone
Description
π Bug Summary
A certain document processing mcp tool throws validation errors while trying to execute through MCP with plugins enabled.This works fine in CF without plugins.
Please see the below logs.
2026-02-19T09:32:02 - mcp.server.lowlevel.server - DEBUG - Dispatching request of type CallToolRequest
2026-02-19T09:32:02 - mcp.server.lowlevel.server - DEBUG - Tool cache miss for doc-processing-2-searchibmwatsonxorchestrateadk, refreshing cache
2026-02-19T09:32:02 - mcpgateway.services.tool_service - INFO - Invoking tool: doc-processing-2-searchibmwatsonxorchestrateadk with arguments: dict_keys(['query', 'wxo_connection_id', 'wxo_auth', 'wxo_environment_id']) and headers: dict_keys(['host', 'accept-encoding', 'connection', 'accept', 'content-type', 'authorization', 'x-ibm-wo-transaction-id', 'user-agent', 'x-tenant-id', 'mcp-protocol-version', 'content-length', 'x-team-id', 'x-team-slug', 'x-team-token', 'x-wxo-access-token'])
2026-02-19T09:32:02 - mcpgateway.cache.tool_lookup_cache - INFO - ToolLookupCache initialized: enabled=True l1_max=10000 ttl=60s l2_enabled=False
2026-02-19T09:32:02 - mcpgateway.transports.streamablehttp_transport - ERROR - Error calling tool 'doc-processing-2-searchibmwatsonxorchestrateadk': 1 validation error for Gateway
capabilities.tools.SearchIbmWatsonxOrchestrateAdk
Input should be a valid boolean [type=bool_type, input_value={'name': 'SearchIbmWatson...'MintlifyDefaultSearch'}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.12/v/bool_type
Traceback (most recent call last):
File "/app/mcpgateway/transports/streamablehttp_transport.py", line 627, in call_tool
result = await tool_service.invoke_tool(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/mcpgateway/services/tool_service.py", line 2679, in invoke_tool
gateway_metadata = PydanticGateway.model_validate(gateway)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib64/python3.12/site-packages/pydantic/main.py", line 716, in model_validate
return cls.__pydantic_validator__.validate_python(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for Gateway
capabilities.tools.SearchIbmWatsonxOrchestrateAdk
Input should be a valid boolean [type=bool_type, input_value={'name': 'SearchIbmWatson...'MintlifyDefaultSearch'}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.12/v/bool_type
2026-02-19T09:32:02 - mcp.server.lowlevel.server - DEBUG - Response sent
2026-02-19T09:32:02 - mcp.server.streamable_http - INFO - Terminating session: None
2026-02-19T09:32:02 - mcpgateway.plugins.auth_pre_check - INFO - [WXO_AUTH] Auth audit: POST /servers/b5489fd915e9463c88f7905d3e1ffb77/mcp -> 200 (auth_present=True, client=172.19.0.14)
2026-02-19T09:32:02 - mcpgateway.services.structured_logger - INFO - [http_gateway] Request completed: POST /servers/b5489fd915e9463c88f7905d3e1ffb77/mcp - 200
π§© Affected Component
Select the area of the project impacted:
-
mcpgateway- API -
mcpgateway- UI (admin panel) -
mcpgateway.wrapper- stdio wrapper - Federation or Transports
- CLI, Makefiles, or shell scripts
- Container setup (Docker/Podman/Compose)
- Other (explain below)
π Steps to Reproduce
- ...
- ...
- ...
π€ Expected Behavior
What should have happened instead?
π Logs / Error Output
Paste any relevant stack traces or logs here.
π§ Environment Info
You can retrieve most of this from the /version endpoint.
| Key | Value |
|---|---|
| Version or commit | e.g. v0.9.0 or main@a1b2c3d |
| Runtime | e.g. Python 3.11, Gunicorn |
| Platform / OS | e.g. Ubuntu 22.04, macOS |
| Container | e.g. Docker, Podman, none |
π§© Additional Context (optional)
Add any configuration details, flags, or related issues.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
MUSTP1: Non-negotiable, critical requirements without which the product is non-functional or unsafeP1: Non-negotiable, critical requirements without which the product is non-functional or unsafebugSomething isn't workingSomething isn't workingwxowxo integrationwxo integration