Description
Conductor crashes while discovering tools when installed with mcp==2.0.0. The dependency constraint currently allows this version (mcp>=1.28.1), but MCPManager reads the MCP model attribute as tool.inputSchema.
MCP 2.0 renamed the Python attribute to input_schema while preserving inputSchema as its serialization alias. As a result, connecting any stdio MCP server can fail before the workflow starts.
Error
AttributeError: 'Tool' object has no attribute 'inputSchema'. Did you mean: 'input_schema'?
Reproduction
- Install Conductor in an environment that resolves
mcp==2.0.0.
- Configure a workflow with a stdio MCP server that exposes at least one tool.
- Run the workflow.
- Tool discovery fails in
src/conductor/mcp/manager.py while reading tool.inputSchema.
A minimal model-level reproduction is:
from mcp.types import Tool
tool = Tool(name="search", inputSchema={"type": "object"})
print(tool.inputSchema)
Expected behavior
Conductor should discover tool schemas with both MCP 1.x and MCP 2.x model field naming.
Proposed fix
Read the schema through Pydantic serialization with aliases (tool.model_dump(by_alias=True)["inputSchema"]), which produces the same key for both supported model shapes, and add a regression test modeled after MCP 2.0.
Description
Conductor crashes while discovering tools when installed with
mcp==2.0.0. The dependency constraint currently allows this version (mcp>=1.28.1), butMCPManagerreads the MCP model attribute astool.inputSchema.MCP 2.0 renamed the Python attribute to
input_schemawhile preservinginputSchemaas its serialization alias. As a result, connecting any stdio MCP server can fail before the workflow starts.Error
Reproduction
mcp==2.0.0.src/conductor/mcp/manager.pywhile readingtool.inputSchema.A minimal model-level reproduction is:
Expected behavior
Conductor should discover tool schemas with both MCP 1.x and MCP 2.x model field naming.
Proposed fix
Read the schema through Pydantic serialization with aliases (
tool.model_dump(by_alias=True)["inputSchema"]), which produces the same key for both supported model shapes, and add a regression test modeled after MCP 2.0.