Skip to content

Follow-up from #173: 1 item(s) (safety) #283

Description

@mvillmow

Consolidated follow-up from implementation of #173.

Each section below lists scope-checked follow-up items discovered during implementation. Items are restricted to core library defects, security, safety hazards, or critical functional bugs.

Safety

Dispatcher.call_tool raises bare KeyError on missing team_id argument

mcp_server.py:82 does str(arguments["team_id"]) with no guard. The MCP SDK passes the raw arguments dict without validating it against the inputSchema, so a client that omits team_id causes an unhandled KeyError that propagates through _call_tool in build_server() and crashes the stdio server process rather than returning a structured MCP error. Fix: catch KeyError (or use arguments.get) and raise a descriptive ValueError (or return a TextContent error response) so the server stays alive across bad requests.


The implementer also considered the items below and rejected them as out of scope; they are recorded in the PR body, not filed as separate issues.

Metadata

Metadata

Assignees

No one assigned

    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