TermPipe MCP (wbind-core/termpipe-mcp) is an MCP server listed on the M8ven Trust Index. It scores 36 out of 100, grade F. It declares 119 tools. No publisher has claimed this listing.
Provides AI assistants with direct terminal access to execute commands, manage files, and run persistent REPL sessions. It features automated installation scripts that educate AI assistants on its capabilities for seamless integration.
Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
wbind-core
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
launch_appLaunch an application via normalized launch script. Args: app_name: App name (e.g., "Firefox", "Claude", "Visual_Studio_Code")
list_appsList available launch scripts. Args: filter_term: Optional filter (e.g., "firefox", "code")
buildBuild and deploy a project in a live terminal. Handles pre-build steps, compilation, service detection, restart, and optional service registration.
cond_get_activeGet info about the currently active/focused window.
cond_list_windowsList all available windows across all workspaces.
cond_focusFocus a window by app-id or name (fuzzy match). Args: target: App ID or window title fragment
cond_closeClose a window by app-id or name (fuzzy match). Args: target: App ID or window title fragment
cond_snapSnap active window to a screen region. Args: direction: left | right | top | bottom | maximize | center | next | prev
cond_move_windowMove a window. x/y can be pixels or 0.0-1.0 percentage of screen. Args: window_id: Window ID from cond_list_windows x: X position (pixels or 0.0-1.0) y: Y position (pixels or 0.0-1.0)
cond_resize_windowResize a window. w/h can be pixels or 0.0-1.0 percentage. Args: window_id: Window ID from cond_list_windows w: Width (pixels or 0.0-1.0) h: Height (pixels or 0.0-1.0)
cond_save_layoutSave current window layout to a numbered slot (1-9). Args: slot: Layout slot number
cond_restore_layoutRestore a previously saved window layout. Args: slot: Layout slot number
cond_typeType text into the active window via compositor input injection. Args: text: Text to type
cond_keySend a key combination. Separate keys with space or ,,. Examples: 'ctrl+c', 'super,,space', 'ctrl+alt+t' Args: combo: Key combination string
cond_mouse_moveMove the mouse cursor. Args: coords: 'x,y' in pixels e.g. '100,200'
cond_mouse_clickClick a mouse button. Args: button: left | right | middle
cond_launchLaunch an application by name (uses cond app database, fuzzy match). Args: app_name: Application name
cond_search_appsSearch installed applications matching a pattern (supports regex). Args: pattern: Name pattern or regex
cond_get_app_cmdGet the launch command for an app by name. Args: app_name: Application name
cond_clipboard_getGet current clipboard content.
cond_clipboard_setSet clipboard content. Args: text: Content to place in clipboard
cond_clipboard_pasteTrigger Ctrl+V to paste current clipboard content into active window.
cond_screenshotTake a full-screen screenshot. Auto-copies to clipboard. Args: path: Optional save path. If omitted, clipboard only.
cond_ocrCapture active window, run AI OCR (qwen-vl via iflow), copy result to clipboard. Returns the recognized text.
cond_ocr_fileRun AI OCR on an existing image file and copy result to clipboard. Args: path: Path to image file
cond_list_hotkeysList all registered hotkeys.
cond_register_hotkey_scriptRegister a hotkey to execute a shell script. Args: key: Key combination e.g. 'ctrl+alt+t' script: Shell command or script path to execute
cond_register_hotkey_inputRegister a hotkey to execute input commands (type, key, click, etc). Args: key: Key combination command: Input command string
cond_clear_hotkeysClear all registered hotkeys.
cond_save_hotkeysSave current hotkey config to a file. Args: path: Destination file path
cond_load_hotkeysLoad hotkey config from a file. Args: path: Source file path
cond_subscribeSubscribe to a real-time event stream for a bounded duration. Collects events and returns them as a JSON list.
cond_daemon_sendSend a command directly to the condd daemon via named pipe. Faster than subprocess for high-frequency operations.
cond_visual_queryTake a screenshot and ask cond's built-in vision model to analyze it. Returns plain-text analysis, or structured JSON element map if as_schema=True.
cond_verify_launchVerify that an application launched successfully by taking a screenshot and asking qwen-vl for a structured verdict.
debug_assistAI debugging assistant via openrouter — fast, always available.
analyze_file_structureAI-powered analysis of a file's structure and content. Useful when you need to understand a file before editing it, or when the file structure is unexpected. Args: path: File path to analyze
suggest_edit_approachAI suggests the best approach for editing a file. Tell it what you want to accomplish, and it recommends which surgical tools to use and in what order. Args: file_path: File you want to edit goal: What you're trying to accomplish
read_fileRead contents of a file. Supports partial reads. Args: path: File path (supports ~ for home) offset: Start line (0-based). Negative = from end length: Max lines to read
write_fileWrite content to a file (overwrites). Args: path: File path (supports ~ for home) content: Content to write
append_fileAppend content to a file. Args: path: File path (supports ~ for home) content: Content to append
list_directoryList files and directories in a path. Args: path: Directory path (supports ~ for home)
glob_filesFind files matching a glob pattern. Args: pattern: Glob pattern (e.g., "*.py", "**/*.json") path: Root directory
search_file_contentSynchronous grep-like search — returns results immediately in one call.
get_file_infoGet file metadata (size, modified time, etc). Args: path: File path
move_fileMove or rename a file/directory. Args: source: Source path destination: Destination path
create_directoryCreate a directory (including parents). Args: path: Directory path to create
write_batchWrite multiple files atomically — all succeed or none do.
gemini_debugGemini-powered debugging assistant — second opinion via Gemini CLI subprocess.
gemini_analyzeGemini-powered file analysis - understand a file before editing. Args: path: File path to analyze
gemini_suggestGemini suggests how to edit a file - get edit strategy from Gemini. Args: file_path: File you want to edit goal: What you're trying to accomplish
git_logShow git commit history for a repository.
git_diffShow git diff — working tree, staged changes, or between commits/branches.
git_statusShow working tree status — modified, staged, untracked files.
git_showShow the full diff and metadata for a specific commit.
git_blameShow who last modified each line of a file (git blame).
ifp_sendSend a prompt to local omniproxy (qwen2.5-coder-7b-instruct).
ifp_modelNo-op: all inference is fixed to qwen2.5-coder-7b-instruct via local omniproxy.
ifp_statusGet iFlow status and current configuration.
list_sessionsList all active terminal sessions (running processes). Shows session status including PID, blocked status, and runtime.
read_process_outputRead output from a running process (REPL/interactive session).
interact_with_processSend input to a running process (REPL, interactive shell, etc).
force_terminateForce terminate a running process by PID.
list_processesList all running processes (system-wide).
start_searchStart a streaming search. Args: pattern: What to search for path: Root directory searchType: "files" or "content" filePattern: Filter to specific file types ignoreCase: Case-insensitive search literalSearch: Exact string matching maxResults: Maximum results contextLines: Lines of context around matc…
get_more_search_resultsGet results from an active search. Args: sessionId: Search ID from start_search offset: Start index length: Number of results to return
stop_searchStop and clean up a search. Args: sessionId: Search ID to stop
list_searchesList all active searches.
indentIndent a range of lines by N spaces (0-based, end exclusive).
unindentRemove up to N leading spaces from a range of lines (0-based, end exclusive).
read_linesRead specific line range from a file (0-based).
find_in_fileFind pattern in file with line numbers and optional context lines.
read_multiple_filesRead contents of multiple files at once.
smart_replaceContent-addressed find-and-replace with full diagnostics.
remove_duplicatesRemove consecutive duplicate lines in a range.
undoUndo the last N edits.
historyShow edit history for this session.
insert_linesInsert lines BEFORE line_number (0-based).
delete_linesDelete lines start_line..end_line-1 (0-based, end exclusive).
overwrite_linesReplace a contiguous block of lines with new content (formerly replace_lines).
patch_lineReplace a substring within a single known line (formerly replace_at_line).
system_infoGet high-level system and TermPipe metadata.
get_configGet current TermPipe configuration.
get_recent_tool_callsGet recent tool call history.
list_toolsList available tools with tactical briefing and auto-context.
bootMid-session context refresh with integrated briefing.
telemetry_reportQuery tool-call telemetry from ~/.termpipe/telemetry.db.
reload_toolsHot-reload all tool modules.
termf_execExecute a shell command via TermPipe (existing method, preserved). Args: command: Shell command to execute timeout_ms: Optional timeout in milliseconds run_in_bg: Run in background and return PID
termf_live_execInject a command into a live WezTerm pane via 'wezterm cli send-text'.
termf_live_continueExecute another command in an existing terminal session. Args: session_id: Session ID from termf_live_exec command: Next command to execute Returns: Command output
termf_live_outputRetrieve latest output from a terminal session. Args: session_id: Optional session ID. If omitted, returns most recent output. Returns: Latest terminal output
termf_list_sessionsList all active terminal sessions.
termf_nlpExecute NLP command via TermPipe. Translates natural language to CLI. Args: instruction: Natural language instruction
termf_nlp_aliasGenerate and install a shell alias/function from natural language. Args: description: What the alias should do
termf_hsp_pipelineRun command through HSP micro-pipeline for automatic error correction. This implements the full 1-2-3-4 HSP pattern: 1. Execute command in terminal 2. Analyze output for errors 3. Suggest and apply fixes 4. Re-execute and verify 5. Loop until success or max_loops Args: command: Initial command to tr…
thread_logLog a message to the coordination thread.
thread_readRead recent entries from the coordination thread.
wbind_actionExecute WBind GUI automation actions.
wbind_launch_and_focusLaunch an app and bring it to a known state. Args: app_name: App name (e.g., "Firefox", "Claude") maximize: Whether to maximize the window fullscreen: Whether to make fullscreen with F11
19 further tools are not listed here. The complete surface is in the source.
SHELLXDG_CONFIG_HOMETERMCP_URL"env": { "": "http://localhost:8421" }XDG_SESSION_TYPEVIRTUAL_ENVWEZTERM_UNIX_SOCKETWEZTERM_PANEDBUS_SYSTEM_BUS_ADDRESSDBUS_SESSION_BUS_ADDRESSDISPLAYTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
119/119 tools missing one or more hints — launch_app (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list_apps (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); build (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +116 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Destructive tools are labelled
1 tool perform destructive updates without destructiveHint — write_batch deletes at line 391 (p.unlink(missing_ok=True) # file didn't exist before — delete it)
Add destructiveHint:true to any tool whose handler calls .delete(), .upsert(), .update(), unlink, rm, DELETE, DROP, REPLACE INTO, or any operation that overwrites existing data.
Descriptions match behaviour
3 tools describe read intent but their handlers mutate — cond_subscribe (line 315: proc = subprocess.Popen(); list_processes (line 183: proc = subprocess.run(); list_tools (line 438: res = subprocess.run([KB_PATH, "exec", "pwd"], capture_output=True, text=True, timeout=1))
Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.
Tool inputs are validated
103/119 tool handlers declare input schemas (87%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool handlers catch errors
Only 45/119 tool handlers wrap calls in try/catch (38%)
Wrap each tool handler body in try/catch and return a structured error response.
Tests exist
No test files found
Add tests that exercise each declared tool.
Shell command execution
2 child_process calls — runs shell commands
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
Tool description accuracy
4 tools have description/behavior mismatches: cond_subscribe: description implies read-only but handler writes/deletes/executes; list_processes: description implies read-only but handler writes/deletes/executes; start_search: description implies read-only but handler writes/deletes/executes
Update tool descriptions to accurately reflect all capabilities — especially write, delete, or execute operations.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/wbind-core/termpipe-mcp)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check