rubber-duck-mcp
The Rubber Duck MCP Server facilitates rubber duck debugging for LLMs by providing both silent and interactive modes. It helps developers explain code to a silent listener or interactive squeaky duck, enhancing debugging efficiency and thought organization.
Rubber Duck MCP Server
A Model Context Protocol (MCP) server that provides a rubber duck debugging tool for LLMs. This server allows LLMs to explain their code to a "rubber duck" without expecting any response, helping them organize their thoughts and debug more effectively.
Features
- Silent Rubber Duck: A classic rubber duck debugging companion that listens without responding
- Squeaky Rubber Duck: A fun interactive rubber duck that squeaks when squeezed
Implementation
The server is implemented using FastMCP and provides two main tools:
rubber_duck
: A traditional rubber duck debugging tool that listens silentlysqueak
: An interactive rubber duck that responds with a "Squeak!" when activated
Usage
The server can be used by connecting to it through the MCP protocol. It's particularly useful for:
- Debugging complex code issues
- Walking through implementation logic
- Organizing thoughts during development
- Adding a bit of fun to your debugging process with the squeaky duck feature
Installation
Requirements
- Python 3.10 or higher
uv
package managerfastmcp
package
To use this rubber duck server with Claude, you'll need to install it using the FastMCP CLI. Run the following command:
fastmcp install src/server.py
This will make rubber-duck available to Claude through its MCP configuration file claude_desktop_config.json
. For more details about Claude Desktop integration, see the FastMCP documentation.
The install command will generate a json object of this format:
{
"mcpServers": {
"rubber-duck": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"fastmcp",
"run",
"<project root>/src/server.py"
]
}
}
}
To use rubber-duck in Cursor, add this json to <project root>/.cursor/mcp.json
. Go to cursor settings > MCP to see rubber-duck
installed. You may need to restart Cursor for it to become green.
License
MIT License