Files
yaak-mountain-loop/MCP_CLIENT_PLAN.md
Gregory Schier c415e7f471 Add MCP client plan
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:15:25 -08:00

1.2 KiB
Raw Permalink Blame History

MCP Client Plan

Goal

Add an MCP client mode to Yaak so users can connect to and debug MCP servers.

Core Design

  • Protocol layer: Implement JSONRPC framing, message IDs, and notifications as the common core.
  • Transport interface: Define an async trait with connect, send, receive, and close methods.
  • Transports:
    • Start with Standard I/O for local development.
    • Reuse the existing HTTP stack for HTTP streaming next.
    • Leave hooks for WebSocket support later.

Integration

  • Register MCP as a new request type alongside REST, GraphQL, gRPC, and WebSocket.
  • Allow perrequest transport selection (stdio or HTTP).
  • Map inbound messages into a new MCP response model that feeds existing timeline and debug views.

Testing and Dogfooding

  • Convert Yaak's own MCP server to Standard I/O for local testing.
  • Use it internally to validate protocol behavior and message flow.
  • Add unit and integration tests for JSONRPC messaging and transport abstractions.

Future Refinements

  • Add WebSocket transport support once core paths are stable.
  • Extend timelines for protocollevel visualization layered over raw transport events.
  • Implement version and capability negotiation between client and server.