Skip to main content
Glama

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:

  1. importlib.reload() every tool module

  2. Clear FastMCP's tool registry

  3. 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

  1. Open the relevant module in termpipe_mcp/tools/ (or create a new one)

  2. Add your @mcp.tool() function inside register_tools(mcp):

  3. If new module: import and call register_tools(mcp) in server.py

  4. Call 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-line old_text spans.

  • replace_at_line: Multi-occurrence lines — replaces first by default, pass replace_all=True for 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

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wbind-core/termpipe-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server