ralph-loop-mcp
This server runs the Ralph Loop, an iterative multi-model development workflow where a worker model produces work and a reviewer model reviews it until the reviewer decides to SHIP.
Initialize Ralph Loop sessions with a task and configure worker/reviewer models, providers, max iterations, and cross-model review enforcement.
Manage the iterative workflow: get the current task, submit work with a summary, retrieve submitted work for review, submit SHIP/REVISE decisions with feedback, and get feedback for the next iteration.
Run the complete automated loop in one call using
ralph_loop_run, which handles initialization, orchestration, execution, and state management.Inspect session state: get current status (iteration, phase), view worker/reviewer configuration, and retrieve feedback or completion status.
Reset or clear a session, and block an iteration with a reason when the worker gets stuck.
Persist session state and iteration history under
<workspace>/.ralph/{sessionId}/, supporting multiple concurrent sessions.Support multiple LLM providers (Anthropic, OpenAI, Google, GitHub Copilot, Goose) with optional monitoring-agent fallback parsing of raw outputs.
Allows using GitHub Copilot as worker or reviewer in the Ralph Loop.
Allows using Google's Gemini models as worker or reviewer in the Ralph Loop.
Allows using OpenAI's models (e.g., GPT-4) as worker or reviewer in the Ralph Loop.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ralph-loop-mcpstart a Ralph Loop session to implement JWT auth"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ralph-wiggum-loop
Multi-model iterative development agent plugin — Ralph Loop with cross-model worker/reviewer architecture and SHIP/REVISE decision engine.
Overview
The Ralph Loop implements a two-phase iterative workflow where a worker model does the work and a reviewer model provides cross-model review, iterating until the reviewer says "SHIP".
This project is a cross-platform Agent Plugin that provides both:
MCP Server Mode — 11 tools over stdio for integration with AI agents
CLI Mode — Run the full loop directly from the command line
Related MCP server: AMS Development MCP Servers
Quick Start
CLI Mode
./bin/ralph-loop-runner.sh "Implement user authentication with JWT tokens"MCP Server Mode
# Run without arguments to start the MCP server
./bin/ralph-loop-runner.shWith a Quality Profile
./bin/ralph-loop-runner.sh "Write a REST API" --profile proDocumentation
Full Documentation — API reference, tools, state management
Deployment Guide — Install and configure
Repository
Source: https://github.com/sheldonrobinson/ralph-wiggum-loop
Agent Plugin Spec: https://agent-plugins.org
MCP Spec: https://modelcontextprotocol.io
License
MIT
Available Tools
10 toolsralph_loop_blockA
Block the current iteration with a reason (creates RALPH-BLOCKED.md). Worker uses this when stuck.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | Reason for blocking | |
| sessionId | No | Session identifier | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool creates a file (RALPH-BLOCKED.md) and implies state mutation by blocking the iteration. With no annotations, this is helpful but incomplete; it doesn't explain whether the block is reversible, what happens to in-progress work, or any other side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the core purpose and key behavioral aspect (file creation). It is front-loaded with the action and resource, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two parameters, no output schema, and no nested objects. The description covers the purpose, typical user, and a key effect. It is complete enough for a focused tool, though more details about blocking semantics would be ideal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description mentions 'reason' but doesn't add additional meaning (e.g., format, length, or examples) beyond the schema's description. Thus, baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('blocks the current iteration') and the specific resource (RALPH-BLOCKED.md file creation). It distinguishes itself from siblings like ralph_loop_submit_work or ralph_loop_get_status by being the only 'block' tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Worker uses this when stuck,' which provides clear context for when to use. However, it does not mention when not to use (e.g., if the worker can proceed) or suggest alternatives like ralph_loop_get_feedback or ralph_loop_submit_work.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ralph_loop_get_configB
Get the worker/reviewer model configuration for the session.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | No | Session identifier | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It states 'Get' indicating read-only, but does not describe side effects, permissions, or behavior on missing session. Minimal transparency for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the one-parameter, read-only nature, the description is nearly complete. It does not explicitly detail return values, but an agent can infer from 'config' and absence of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with 'sessionId' described as 'Session identifier'. Description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves 'worker/reviewer model configuration for the session', specifying a verb and resource, and distinguishes from siblings like ralph_loop_get_status or ralph_loop_get_work which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like ralph_loop_get_status. The description implies use for configuration retrieval but does not mention exclusions or alternative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ralph_loop_get_feedbackB
Get reviewer feedback for the next worker iteration. Returns feedback if REVISE, or completion status if SHIP.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | No | Session identifier | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries the full burden. It mentions two return types but does not disclose side effects, whether it's read-only, authorization requirements, or default behavior for missing sessionId. Minimal behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single sentence that efficiently conveys the core purpose and key details. It is front-loaded with the verb and resource. Slightly short but no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so description should explain return values more thoroughly. It mentions two outcomes but not their structure or format. Given the complexity of the tool in a multi-tool workflow, more context is needed for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description does not add any additional meaning to the parameter beyond its schema description ('Session identifier'). The tool description does not mention the parameter, so no extra value is added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action 'Get reviewer feedback' and specifies the context 'for the next worker iteration'. It distinguishes from sibling tools like ralph_loop_get_status by mentioning two possible outcomes (feedback or completion status), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage when needing feedback for the next iteration but does not explicitly state when to use this tool versus alternatives like ralph_loop_submit_review or other get tools. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ralph_loop_get_statusA
Get current status of the Ralph Loop session including iteration, phase, and state.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | No | Session identifier | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects (e.g., is it read-only?), auth requirements, rate limits, or what triggers state changes. It only lists what the tool returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no fluff, front-loaded with verb and resource. Very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 param, no output schema, no annotations), the description covers the basic purpose. However, it lacks usage guidance and behavioral details, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema for the single parameter sessionId, which already has a description and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb "Get", the resource "current status of the Ralph Loop session", and lists the included fields (iteration, phase, state). This distinguishes it from sibling tools like ralph_loop_get_config.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking session status but provides no explicit guidance on when to use versus siblings, no prerequisites, and no when-not-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ralph_loop_get_taskC
Get the current task for the worker phase. Returns the task description.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | No | Session identifier | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only states it returns a 'task description' without mentioning read-only nature, prerequisites, or behavior when no task exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundancy. However, could be slightly more structured (e.g., separate purpose and return info). Still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description only says 'Returns the task description' without detail. For a tool with no annotations or output schema, more context on return value and edge cases is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (one parameter with description). Description adds no additional meaning beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Identifies verb ('Get') and resource ('current task for the worker phase'), distinguishing it from siblings like ralph_loop_get_work or ralph_loop_get_status. Could be more specific about what constitutes a 'task' vs 'work'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., ralph_loop_get_work, ralph_loop_get_status). Does not mention context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ralph_loop_get_workB
Get the worker's submitted work for the reviewer phase. Returns work output and summary.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | No | Session identifier | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that it 'Returns work output and summary' without mentioning side effects, authorization needs, or whether it is read-only. Additional context about what 'work output' entails is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences that front-load the action and result. No unnecessary words, but the lack of structure (e.g., bullet points) is acceptable for such a short description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal given the tool's context (no output schema, no annotations). It does not explain the nature of 'work output and summary', nor does it provide details about the reviewer phase or how it relates to sibling tools. More context would be beneficial for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents the sessionId parameter with a description. The tool description does not add any additional meaning or context beyond what is in the schema, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'worker's submitted work', and the context 'for the reviewer phase'. It is specific and distinguishes from siblings like ralph_loop_submit_work and ralph_loop_submit_review.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage in the reviewer phase but does not provide explicit guidance on when to use this tool versus alternatives like ralph_loop_get_task or ralph_loop_get_feedback. No when-not-to-use or specific prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ralph_loop_initializeB
Initialize a new Ralph Loop session with a task. Starts the iterative worker/reviewer cycle.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | The task description for the Ralph Loop to work on | |
| sessionId | No | Unique session identifier (optional, defaults to 'default') | default |
| workerModel | No | Model for the worker phase (e.g., 'claude-3-5-sonnet', 'gpt-4o') | |
| maxIterations | No | Maximum number of iterations (default: 10) | |
| reviewerModel | No | Model for the reviewer phase (should be different from worker for cross-model review) | |
| workerProvider | No | Provider for the worker phase (e.g., 'anthropic', 'openai') | |
| reviewerProvider | No | Provider for the reviewer phase (e.g., 'anthropic', 'openai', 'google') | |
| crossModelReviewEnforced | No | Enforce cross-model review (worker and reviewer must be different) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It does not mention side effects (e.g., overwriting an existing session with the same sessionId), resource usage, or any required permissions. The description is too sparse to inform the agent of potential impacts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The first sentence immediately states the primary action, and the second adds context about the cycle. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and initiates a complex iterative process, the description is insufficient. It does not explain what the return value is, what triggers the next steps, or how the cycle works. The agent may not have enough context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 100%, the baseline is 3. The description does not add any additional meaning to the parameters beyond what the schema already provides. It does not explain the roles of workerModel vs reviewerModel or how they affect behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool initializes a new Ralph Loop session with a task and starts the iterative worker/reviewer cycle. It uses a specific verb (initialize) and resource (session), distinguishing it from sibling tools that manage or query existing sessions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for starting a new session but does not explicitly state when to use it versus alternatives like ralph_loop_submit_review or ralph_loop_get_status. No guidance on prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ralph_loop_resetA
Reset/clear a Ralph Loop session, removing all state files.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | No | Session identifier | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states 'removing all state files', indicating destructive behavior, but lacks details on irreversibility, permissions, or side effects on other sessions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no extraneous words. It is appropriately sized for the simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional param, no output schema), the description covers the core action and effect. However, it omits whether the session must exist and possible error outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for 'sessionId'. The tool description adds no extra meaning beyond the schema's 'Session identifier', so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'reset/clear', the resource 'Ralph Loop session', and the effect 'removing all state files'. This distinguishes it from sibling tools like ralph_loop_initialize or ralph_loop_get_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives or any prerequisites. The description only states what it does without context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ralph_loop_submit_reviewB
Submit review decision (SHIP or REVISE) with feedback from the reviewer phase.
| Name | Required | Description | Default |
|---|---|---|---|
| decision | Yes | Review decision - SHIP to complete, REVISE to iterate again | |
| feedback | No | Feedback for the worker (required for REVISE, optional for SHIP) | |
| iteration | Yes | Current iteration number | |
| sessionId | No | Session identifier | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the action (submit review decision) and the parameters, but does not disclose behavioral traits such as side effects (e.g., state transitions), required permissions, or what happens after submission (e.g., if SHIP ends the loop).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the core action and key details. Every word earns its place; no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters, no output schema, and no annotations. The description explains the core purpose but lacks context on workflow integration (e.g., what happens after SHIP vs REVISE, how it fits with sibling tools). It is adequate but not fully complete for a non-trivial tool in a loop.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already documents each parameter. The description adds minimal extra meaning beyond restating 'SHIP' and 'REVISE'. Baseline of 3 is appropriate as it provides no additional semantic value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'submit' and the resource 'review decision'. It lists the two decision options (SHIP/REVISE) and feedback. However, it does not differentiate this tool from sibling tools like ralph_loop_submit_work, missing a chance to emphasize that this is for the reviewer phase specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage during the reviewer phase ('from the reviewer phase') but does not explicitly state when to use this tool versus alternatives, nor does it mention when not to use it. No exclusions or prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ralph_loop_submit_workA
Submit work results and summary from the worker phase. Transitions to review phase.
| Name | Required | Description | Default |
|---|---|---|---|
| work | Yes | The complete work output/results | |
| summary | Yes | Brief summary of what was done | |
| iteration | Yes | Current iteration number | |
| sessionId | No | Session identifier | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions state transition ('Transitions to review phase') but omits other behavioral traits like idempotency, side effects, or error conditions, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, no unnecessary words. Extremely concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema, the description provides minimal context: it does not explain return values, error handling, or the exact nature of the state transition. Adequate for basic usage but incomplete for comprehensive understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no parameter-specific value beyond the schema definitions. Baseline score of 3 is appropriate as the schema handles parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (submit), resource (work results and summary), and context (from worker phase, transitions to review), effectively distinguishing it from sibling tools like ralph_loop_submit_review.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after the worker phase and before review, but provides no explicit guidance on when to use vs. alternatives or when not to use it. Sibling differentiation is left to context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
v1.0.0- First observed
ralph_loop_block - First observed
ralph_loop_get_config - First observed
ralph_loop_get_feedback - First observed
ralph_loop_get_status - First observed
ralph_loop_get_task - First observed
ralph_loop_get_work - First observed
ralph_loop_initialize - First observed
ralph_loop_reset - First observed
ralph_loop_submit_review - First observed
ralph_loop_submit_work
TDQS
Scored across 10 tools
Each tool has a distinct purpose: initialization, work submission, review feedback, status, etc. No two tools have overlapping functionality.
All tools follow a consistent verb_noun pattern with the ralph_loop_ prefix in snake_case, making them predictable and logical.
With 10 tools, the set covers the full worker/reviewer cycle without being bloated or insufficient.
Covers all major phases: initialize, work, review, block, reset, and status. Minor gap: no explicit tool to list all feedback history, but core workflow is complete.
Maintenance
Related MCP Connectors
MCP Server for an Agent Task Marketplace
MCP server for generating rough-draft project plans from natural-language prompts.
MCP server for Product Management
An MCP server that automatically collects feedback on your MCP server.
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server that turns independent AI agents into a coordinated engineering team with shared task board, context, review loop, and enforced plan-implement-review-iterate workflow.24MIT
- AlicenseNot gradedqualityDmaintenanceMCP servers for real-time development monitoring and interactive pair programming.1MIT

convergeqa-mcpofficial
AlicenseBqualityDmaintenanceMCP servers for multi-model document review with critique/iterate and compare/due-diligence tools, using public verification receipts.16MIT- AlicenseNot gradedqualityDmaintenanceMCP server for creating, validating, and reviewing implementation plans in GitHub Copilot Chat, with visual review interface and MongoDB persistence.MIT