[P1] Implement canonical rlm_mcp model plus MCP 2025-11-25 client/server adapter #14

Closed
opened 2026-08-12 01:19:22 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-08-12 01:19:22 +00:00 (Migrated from github.com)

Goal

Add MCP interoperability without leaking wire-version behavior into rlm_agent or rlm_graph.

Scope

  • define canonical internal MCP request/result/error/tool/resource/prompt terms;
  • implement transport abstraction for stdio and Streamable HTTP where applicable;
  • implement MCP 2025-11-25 lifecycle: initialize, capability/version negotiation, notifications/initialized, and session handling;
  • support MCP-Protocol-Version and MCP-Session-Id semantics;
  • normalize tool/resource/prompt discovery and invocation into canonical terms;
  • recover cleanly from invalidated legacy sessions;
  • expose selected version/transport in traces.

Acceptance criteria

  • prolog-rlm client interoperates with a 2025-11-25-only server fixture;
  • prolog-rlm server accepts a 2025-11-25-only client fixture;
  • session invalidation triggers a bounded re-initialize/retry path;
  • version-specific code remains inside the 2025 adapter;
  • agent/graph modules only see canonical MCP terms.

Dependencies

Research

See RLM-RESEARCH-006-mcp-dual-version-runtime.org.

## Goal Add MCP interoperability without leaking wire-version behavior into `rlm_agent` or `rlm_graph`. ## Scope - define canonical internal MCP request/result/error/tool/resource/prompt terms; - implement transport abstraction for stdio and Streamable HTTP where applicable; - implement MCP 2025-11-25 lifecycle: `initialize`, capability/version negotiation, `notifications/initialized`, and session handling; - support `MCP-Protocol-Version` and `MCP-Session-Id` semantics; - normalize tool/resource/prompt discovery and invocation into canonical terms; - recover cleanly from invalidated legacy sessions; - expose selected version/transport in traces. ## Acceptance criteria - prolog-rlm client interoperates with a 2025-11-25-only server fixture; - prolog-rlm server accepts a 2025-11-25-only client fixture; - session invalidation triggers a bounded re-initialize/retry path; - version-specific code remains inside the 2025 adapter; - agent/graph modules only see canonical MCP terms. ## Dependencies - #8 - #10 - parent #3 ## Research See `RLM-RESEARCH-006-mcp-dual-version-runtime.org`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/prolog-rlm#14
No description provided.