Aider is the CLI-first AI pair programmer. It works from a git repo and makes commits as it edits, which suits a tight feedback loop. MCP support arrived in late 2025 and opens the door to tool calls beyond the built-in file-edit and shell-execute primitives. ToolPiper plugs in through the same MCP path any other server uses.
How do I configure Aider to use ToolPiper?
Edit Aider's config file ~/.aider.conf.yml and add an mcp-servers entry for ToolPiper. Alternatively, pass --mcp-server name=toolpiper,url=http://127.0.0.1:9998/mcp on the command line. Restart Aider for the change to take effect.
Config file path (YAML):
mcp-servers:
- name: toolpiper
transport: http
url: http://127.0.0.1:9998/mcpCommand-line path:
aider --mcp-server name=toolpiper,transport=http,url=http://127.0.0.1:9998/mcpThe config file approach is better for repeated use. Save it once and every Aider invocation picks up ToolPiper automatically. The CLI flag is useful for one-off sessions or testing.
Does Aider support HTTP MCP, or only stdio?
Both as of the late-2025 release. Earlier Aider versions only supported stdio MCP servers, which would require a stdio bridge for ToolPiper. Check your version with aider --version. If it's older than 0.69 or so, update before continuing.
HTTP is the recommended transport. ToolPiper is already a running app, so pointing Aider at its HTTP endpoint avoids the stdio bridge and the process-spawning that comes with it.
If you need stdio (older Aider, or strict environment policies that block HTTP), the stdio fallback uses a small toolpiper-mcp-stdio binary that bridges stdin/stdout to ToolPiper's HTTP API. It ships with ToolPiper. The config entry shape changes to:
mcp-servers:
- name: toolpiper
transport: stdio
command: /Applications/ToolPiper.app/Contents/MacOS/toolpiper-mcp-stdioHow does Aider's model call ToolPiper tools?
Aider hands the MCP tool catalog to the model along with Aider's built-in file-edit tools. The model decides when to call an MCP tool based on the prompt. Tool calls show up in Aider's output as you watch.
Concrete pattern: ask Aider to fix a UI bug, including "take a screenshot first to see the current state". The model calls vision_screenshot through ToolPiper, gets the image, identifies the issue, then makes the code edits using Aider's normal flow. End to end in one prompt.
For mostly-code tasks, Aider's built-in file edit primitives are faster than MCP roundtrips. ToolPiper's tools shine when the task crosses the code/system boundary: capturing screen state, running browser tests, transcribing audio, querying OAuth-backed services.
How do I verify the connection?
Start Aider with --verbose and watch for MCP tool registration in the startup output. Aider should log discovered ToolPiper tools as it connects to the server.
Sample verbose output:
$ aider --verbose
...
Connecting to MCP server: toolpiper at http://127.0.0.1:9998/mcp
Discovered over 300 tools from toolpiper
Ready.End-to-end test: in the Aider session, prompt "take a screenshot of my screen and describe what's open". If the model invokes a ToolPiper tool and reports back, the wiring is correct.
What if Aider can't see ToolPiper?
Four checks. Aider version supports MCP. ToolPiper is running. Config syntax is valid YAML. Endpoint actually responds. Each rules out a different failure mode.
- Aider version.
aider --version. Pre-0.69 builds don't reliably support MCP. Update withpip install --upgrade aider-chat. - ToolPiper running.
curl http://127.0.0.1:9998/healthreturns JSON. Connection refused means ToolPiper isn't open. - YAML valid. Run
python3 -c "import yaml; yaml.safe_load(open('~/.aider.conf.yml'.replace('~', '/Users/$(whoami)')))"or a similar YAML validator. Indentation errors are a common YAML failure mode. - Endpoint reachable.
curl http://127.0.0.1:9998/mcp. A 404 or connection refused means ToolPiper isn't serving MCP at that path.
For full MCP setup options across other editors, see MCP Setup on Mac.
