Skip to content

feat(server): advertise outputSchema on tools/list (JS parity) #386

@bokelley

Description

@bokelley

Context

tools/list advertises only inputSchema per tool. ADCP_TOOL_DEFINITIONS in src/adcp/server/mcp_tools.py does not include outputSchema. FastMCP knows the output schemas internally — it uses them to populate structuredContent in serve.py:1427 — but they are not published on tools/list. The TS SDK advertises both inputSchema and outputSchema.

Refs:

  • src/adcp/server/mcp_tools.py (ADCP_TOOL_DEFINITIONS)
  • src/adcp/server/serve.py:1427 (where FastMCP uses output schemas internally)

Acceptance Criteria

  • Add outputSchema per tool in ADCP_TOOL_DEFINITIONS (or generate it from the same source FastMCP uses internally — single source of truth)
  • tools/list response carries both inputSchema and outputSchema
  • Schemas validate against the AdCP response schemas in CI
  • Smoke test: every advertised tool can have its declared outputSchema validate against the actual response from a no-op invocation
  • CHANGELOG note: matches TS SDK tools/list shape

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions