Skip to content

Add caller-orchestrated MCP methods #65

Description

@HareeshBahuleyan

Action

Add public sync and async SDK methods for caller-orchestrated MCP after mozilla-ai/otari#812 is merged and deployed:

  • mcp.list_tools(mcp_server_id) for GET /v1/mcp/servers/{mcp_server_id}/tools
  • mcp.execute(...) for POST /v1/mcp/execute

Expose the generated request and response types through the supported SDK shell. Preserve the MCP error fields (code, execution_state, and request_id), and ensure execute makes exactly one HTTP attempt with no automatic retry. Add unit tests for both authentication modes and the outcome_unknown path.

Why

The gateway merge automatically opens an sdk-codegen/client-core PR, but that PR only replaces src/otari/_client/. It does not modify the hand-written OtariClient or AsyncOtariClient shell, so applications such as Octonous still have no supported public method for these endpoints.

Notes

  • The gateway currently classifies both endpoints as [excluded] in its canonical scripts/sdk_codegen/sdk-endpoints.txt, with a note that the public SDK wrapper is follow-up work. Move them to [covered] in a gateway PR when the shell methods land.
  • client_execution_id is for correlation, not idempotency. Repeating an execution may run the remote tool twice.
  • A network failure without a typed Otari response is indeterminate and must not be converted into an ordinary retryable failure.
  • Publish a new SDK release after the wrapper lands so Octonous can update its lockfile.

Blocked by: mozilla-ai/otari#812

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions