Skip to content

9 tools crash with unhandled exceptions on default/minimal input #291

@blackwell-systems

Description

@blackwell-systems

When calling tools with the default values derived from the tools/list schema (e.g., data: [] or data: {}), 9 of 27 tools throw unhandled JavaScript exceptions that propagate as MCP error -32603 with raw stack traces.

Reproduction

Each tool was called via stdio transport with the arguments that tools/list schema suggests as defaults.

Tool Input Error
generate_radar_chart data: [{"item":"Speed","score":80}, ...] Invalid grid data (crashes even with populated data when field names differ from undocumented expectation)
generate_fishbone_diagram data: {} [G6 v5.0.49] The datum does not have available id
generate_mind_map data: {} [G6 v5.0.49] The datum does not have available id
generate_organization_chart data: {} [G6 v5.0.49] The datum does not have available id
generate_flow_diagram data: {} Cannot read properties of undefined (reading 'map')
generate_network_graph data: {} Cannot read properties of undefined (reading 'map')
generate_funnel_chart data: [] Cannot read properties of undefined (reading 'category')
generate_venn_chart data: [] Cannot read properties of undefined (reading 'set')
generate_district_map data: {} Cannot read properties of undefined (reading 'includes')

The remaining 16 tools (line, bar, pie, scatter, column, area, etc.) handle the same empty-input case gracefully.

Note on generate_radar_chart

This tool also crashes when called with populated data using item/score field names. It works with name/value, but the schema does not document which field names are required.

Impact

LLM agents calling these tools receive raw Node.js stack traces instead of actionable isError responses. The agent cannot recover or self-correct from a stack trace.

Environment

@antv/mcp-server-chart (installed via npx -y @antv/mcp-server-chart), macOS, stdio transport.

How it was found

mcp-assert auto-generates test stubs from tools/list with schema-derived default values, then runs them. 11/27 tools failed on the first run (2 were network-dependent map tools, 9 were unhandled exceptions).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions