Provides AI assistants with direct access to the Linux terminal to execute shell commands, manage system processes, perform surgical file editing, and launch over 900 applications.
Allows for the management of persistent Node.js REPL sessions, enabling interactive JavaScript code execution through the terminal.
Facilitates data analysis and manipulation within persistent terminal-based Python processes using the pandas library.
Enables AI assistants to start and interact with persistent Python REPL sessions for interactive coding and execution within the terminal environment.
Click on "Install 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., "@TermPipe MCPfind all python files modified today and show their sizes"
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.
TermPipe MCP Server
MCP server for Claude Desktop providing surgical file editing, shell execution, AI debugging, and more.
Architecture
/home/craig/termpipe-mcp/ ← CANONICAL SOURCE (edit here)
termpipe_mcp/
server.py ← FastMCP entry point (stdio)
tools/
surgical.py ← Line-level file editing
system.py ← list_tools, reload_tools, etc.
files.py ← read/write/list
termf.py ← Shell execution
debug.py ← iFlow debug assist
gemini_debug.py ← Gemini debug assist
... (all tool modules)
~/.termpipe/mcp_server/tools/ ← SYMLINK → termpipe_mcp/tools/~/.termpipe/mcp_server/tools/ is a symlink to termpipe_mcp/tools/.
Edit files in either location — they are the same files.
How Claude Desktop Runs It
From ~/.config/Claude/claude_desktop_config.json:
"termpipe": {
"command": "/home/craig/.local/share/pipx/venvs/termpipe-mcp/bin/python",
"args": ["-m", "termpipe_mcp.server"],
"env": { "TERMCP_URL": "http://localhost:8421" }
}The pipx venv is installed in editable mode pointing to /home/craig/termpipe-mcp/.
Edits to .py files take effect on next restart — no reinstall needed.
Applying Changes
Option A — Restart Claude Desktop
Kills and respawns the stdio server process. Always picks up changes.
Option B — Hot Reload (no restart)
Ask Claude to call reload_tools(). It will:
importlib.reload()every tool moduleClear FastMCP's tool registry
Re-register all tools in-place
Useful for mid-session edits. Note: changes to server.py itself still require a full restart.
Adding a New Tool
Open the relevant module in
termpipe_mcp/tools/(or create a new one)Add your
@mcp.tool()function insideregister_tools(mcp):If new module: import and call
register_tools(mcp)inserver.pyCall
reload_tools()or restart Claude Desktop
list_tools() is dynamic — it introspects the live FastMCP registry, so new tools appear automatically without editing any manifest.
Tool Categories
Category | Module | Description |
SURGICAL | surgical.py | Line-level file editing |
FILE | files.py | Read/write/list/move |
TERMF | termf.py | Shell command execution |
DEBUG | debug.py | iFlow AI debug assist |
GEMINI | gemini_debug.py | Gemini AI debug/analyze |
PROCESS | process.py | Session/process management |
IFLOW | iflow.py | iFlow AI backend |
SYSTEM | system.py | list_tools, reload_tools, config |
SEARCH | search.py | File content search |
APPS | apps.py | App launcher |
WBIND | wbind.py | Wayland GUI automation |
THREAD | thread.py | Thread coordination log |
WEB_SEARCH | web_search.py | Web search |
Key Surgical Tool Behaviors (v2.3)
Line delta feedback: Every mutating tool (
replace_lines,insert_lines,delete_lines, etc.) returns📊 File: N → M lines (delta: ±X)so models track shifted line numbers across sequential edits.smart_replace: Operates on full file content — supports multi-lineold_textspans.replace_at_line: Multi-occurrence lines — replaces first by default, passreplace_all=Truefor all.list_tools: Dynamic — reads live FastMCP registry, never stale.reload_tools: Hot-reload all modules in-place without restarting Claude Desktop.
FastAPI Backend
The FastAPI backend (termf server / termcp server) runs separately on port 8421.
The MCP server connects to it via TERMCP_URL=http://localhost:8421.
Check status: termcp status
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.