Rubber Duck MCP
A tool that applies rubber duck debugging techniques to AI development environments.
Rubber Duck MCP
Description
Rubber Duck MCP is a Model Context Protocol (MCP) tool that brings the power of rubber duck debugging to your AI development environment. Rubber duck debugging is a proven technique in software engineering, where articulating a problem in natural language—often to an inanimate object like a rubber duck—can illuminate solutions and clarify thought processes. This method, first popularized in The Pragmatic Programmer (Hunt & Thomas, 1999), is widely recognized for its effectiveness in:
- Revealing hidden assumptions and logical errors
- Encouraging step-by-step reasoning
- Facilitating deeper understanding through explanation
- Reducing cognitive load by externalizing thought
"In describing what the code is supposed to do and observing what it actually does, any incongruity between these two becomes apparent." — Wikipedia: Rubber Duck Debugging
By integrating this method into an LLM-powered IDE, Rubber Duck MCP enables developers and AI agents to:
- Debug more effectively by explaining problems to a non-judgmental, always-available listener
- Enhance LLM reasoning by prompting the model to articulate and reflect on its own logic
- Accelerate problem-solving by surfacing solutions through structured self-explanation
For further reading:
- Rubber Duck Debugging (rubberduckdebugging.com)
- The Psychology Underlying the Power of Rubber Duck Debugging
Installation
Prerequisites
- Python 3.8+
- fastmcp (install via pip)
Steps
- Clone the repository:
git clone https://github.com/Omer-Sadeh/RubberDuckMCP.git cd RubberDuckMCP - Create and activate a virtual environment (recommended):
python3 -m venv .venv source .venv/bin/activate - Install dependencies:
pip install -r requirements.txt - Add Rubber Duck MCP to Cursor (or another AI IDE supporting MCP):
- Open your
.cursor/mcp.jsonfile (or the equivalent configuration for your IDE). - Add an entry for Rubber Duck MCP, specifying the venv's Python executable and the path to
RubberMCP.py. For example:{ "mcpServers": { "rubber-duck": { "command": "/absolute/path/to/RubberDuckMCP/.venv/bin/python", "args": [ "/absolute/path/to/RubberDuckMCP/RubberMCP.py" ] } } } - Adjust the
commandandargsfields to match your virtual environment's Python executable and the path toRubberMCP.pyon your system. - Save the file and restart Cursor (or your IDE) to load the new MCP server.
- Open your
Usage
Once configured, use the explain_to_duck tool to articulate your problem or code issue. The Rubber Duck MCP will listen and respond, helping you clarify your thinking and uncover solutions.
License
This project is licensed under the MIT License. Everyone is welcome to contribute, fork, and copy this repository. Collaboration and open-source contributions are highly encouraged!
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Cedardiff
Edit files using CEDARScript, a SQL-like language for code manipulation.
Azure DevOps
Manage Azure DevOps projects, work items, builds, and releases.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers, without authentication.
MAXential Thinking MCP
Gives Claude explicit tools for reasoning: adding thoughts, branching to explore alternatives, revising earlier thinking, and navigating thought history. 11 focused tools designed for how Claude actually thinks
Figma MCP Server
Provides read-only access to Figma files and projects using the Figma API.
MCP Prompt Collector
Tools for logging, analyzing, and improving Claude Desktop prompts to enhance prompt engineering skills.
Digma
A code observability MCP enabling dynamic code analysis based on OTEL/APM data to assist in code reviews, issues identification and fix, highlighting risky code etc.
Stata-MCP
Perform regression analysis using Stata with the help of an LLM. Requires a local Stata installation and an external LLM API key.
Dash0
Navigate your OpenTelemetry resources, investigate incidents and query metrics, logs and traces on Dash0.
Kafka Schema Registry
A comprehensive Message Control Protocol (MCP) server for Kafka Schema Registry.