Skip to content

[Superseded]: Improve concrete examples/contracts; do not add prepared-call tokens or dynamic selected tools #1031

Description

@morluto

Disposition

Closed as not planned. The original ergonomics diagnosis remains useful, but the proposed schema-bound execution mechanisms would introduce another stateful handoff protocol.

The issue identified a real problem: after math.find, an agent must place a capability-specific nested request into generic math.run arguments, and weak models can choose the wrong wrapper level.

The proposed alternatives—per-session dynamically materialized tools, prepared invocation tokens bound to catalog/policy/provider identities, stale-contract recovery, or selected-set discriminated unions—would add temporary tool lifecycle, contract-token state, version binding, host adapters, and another validation path.

Simpler endpoint

Keep the fixed math.find / math.run surface and make each selected operation easy to call through ordinary static data:

  • compact search card;
  • exact concrete request schema/model on inspection;
  • one valid copyable invocation example with the complete math.run wrapper;
  • precise invalid-input diagnostics from the same concrete parser;
  • direct operation ID and stable field names;
  • no duplicate generic input/candidate envelopes where a concrete checker request can be simpler.

Evaluate whether those concrete contract/example improvements solve the observed #929/#941 failures before adding any host-level mechanism.

If a future MCP SDK provides a standard stateless selected-schema mechanism, evaluate that concrete feature separately. Do not implement a private token/tool-materialization protocol in Jacobian.

Do not introduce

  • per-session dynamic selected tools;
  • tools/list_changed lifecycle for operation selection;
  • prepared invocation/contract tokens;
  • catalog/policy/provider generation binding in handles;
  • selected-set oneOf schema compilers;
  • a temporary validator/tool registry;
  • another compatibility path beside ordinary math.run;
  • stale-handle recovery state machines.

Canonical owners

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: mcpMCP adapter and server integrationenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions