[PR #68] [CLOSED] feat(mcp): add experimental MCP server support #118

Closed
opened 2026-02-27 10:22:18 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/mikeyobrien/ralph-orchestrator/pull/68
Author: @mikeyobrien
Created: 1/18/2026
Status: Closed

Base: mainHead: feat/mcp-support


📝 Commits (6)

  • a4a52cb feat(mcp): add rmcp and schemars workspace dependencies
  • 54a6d1e feat(mcp): add ralph-mcp crate with MCP server implementation
  • a86246c feat(cli): add mcp serve subcommand to wire up MCP server
  • f225f4d test(mcp): add e2e tests for MCP server
  • adb1e54 docs(mcp): enhance tool descriptions for better LLM discoverability
  • c87b095 docs(readme): add experimental MCP support documentation

📊 Changes

10 files changed (+1127 additions, -5 deletions)

View changed files

📝 Cargo.lock (+286 -4)
📝 Cargo.toml (+6 -0)
📝 README.md (+67 -1)
📝 crates/ralph-cli/Cargo.toml (+1 -0)
📝 crates/ralph-cli/src/main.rs (+28 -0)
crates/ralph-mcp/Cargo.toml (+31 -0)
crates/ralph-mcp/src/lib.rs (+17 -0)
crates/ralph-mcp/src/server.rs (+213 -0)
crates/ralph-mcp/src/tools.rs (+67 -0)
crates/ralph-mcp/tests/mcp_e2e.rs (+411 -0)

📄 Description

Summary

  • Add MCP (Model Context Protocol) server support, enabling Ralph integration with Claude Desktop and other MCP clients
  • Implement ralph mcp serve subcommand with stdio transport
  • Expose orchestration tools: ralph_run, ralph_status, ralph_stop, ralph_list_sessions, ralph_list_hats
  • Add comprehensive README documentation for MCP setup and usage

Changes

  • New crate: ralph-mcp - MCP server implementation using rmcp
  • CLI: Added ralph mcp serve subcommand
  • Tests: E2E tests for MCP server tools
  • Docs: README updated with MCP support section, Claude Desktop configuration examples

Test plan

  • E2E tests pass (cargo test -p ralph-mcp)
  • ralph mcp serve starts successfully
  • Pre-commit hooks pass (fmt, clippy)
  • Manual test with Claude Desktop

Notes

This feature is marked as experimental. The MCP server uses stdio transport, making it compatible with Claude Desktop's MCP configuration format.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/mikeyobrien/ralph-orchestrator/pull/68 **Author:** [@mikeyobrien](https://github.com/mikeyobrien) **Created:** 1/18/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feat/mcp-support` --- ### 📝 Commits (6) - [`a4a52cb`](https://github.com/mikeyobrien/ralph-orchestrator/commit/a4a52cb5e25cec8f2e11bf635cf0b3bab03a7262) feat(mcp): add rmcp and schemars workspace dependencies - [`54a6d1e`](https://github.com/mikeyobrien/ralph-orchestrator/commit/54a6d1e8972a9d93b926b98960e43cd10469987b) feat(mcp): add ralph-mcp crate with MCP server implementation - [`a86246c`](https://github.com/mikeyobrien/ralph-orchestrator/commit/a86246c7e6f9675b5f31f947e3fb0fbe317920b8) feat(cli): add mcp serve subcommand to wire up MCP server - [`f225f4d`](https://github.com/mikeyobrien/ralph-orchestrator/commit/f225f4db2498f3289995699c15380ac7f231a021) test(mcp): add e2e tests for MCP server - [`adb1e54`](https://github.com/mikeyobrien/ralph-orchestrator/commit/adb1e5415d8b022d3a4af7daab89671ac2714099) docs(mcp): enhance tool descriptions for better LLM discoverability - [`c87b095`](https://github.com/mikeyobrien/ralph-orchestrator/commit/c87b0956e0e2b44d851705fa3b991378421e33a5) docs(readme): add experimental MCP support documentation ### 📊 Changes **10 files changed** (+1127 additions, -5 deletions) <details> <summary>View changed files</summary> 📝 `Cargo.lock` (+286 -4) 📝 `Cargo.toml` (+6 -0) 📝 `README.md` (+67 -1) 📝 `crates/ralph-cli/Cargo.toml` (+1 -0) 📝 `crates/ralph-cli/src/main.rs` (+28 -0) ➕ `crates/ralph-mcp/Cargo.toml` (+31 -0) ➕ `crates/ralph-mcp/src/lib.rs` (+17 -0) ➕ `crates/ralph-mcp/src/server.rs` (+213 -0) ➕ `crates/ralph-mcp/src/tools.rs` (+67 -0) ➕ `crates/ralph-mcp/tests/mcp_e2e.rs` (+411 -0) </details> ### 📄 Description ## Summary - Add MCP (Model Context Protocol) server support, enabling Ralph integration with Claude Desktop and other MCP clients - Implement `ralph mcp serve` subcommand with stdio transport - Expose orchestration tools: `ralph_run`, `ralph_status`, `ralph_stop`, `ralph_list_sessions`, `ralph_list_hats` - Add comprehensive README documentation for MCP setup and usage ## Changes - **New crate:** `ralph-mcp` - MCP server implementation using `rmcp` - **CLI:** Added `ralph mcp serve` subcommand - **Tests:** E2E tests for MCP server tools - **Docs:** README updated with MCP support section, Claude Desktop configuration examples ## Test plan - [x] E2E tests pass (`cargo test -p ralph-mcp`) - [x] `ralph mcp serve` starts successfully - [x] Pre-commit hooks pass (fmt, clippy) - [ ] Manual test with Claude Desktop ## Notes This feature is marked as **experimental**. The MCP server uses stdio transport, making it compatible with Claude Desktop's MCP configuration format. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 10:22:18 +03:00
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
starred/ralph-orchestrator#118
No description provided.