cmd-line-mcp
Documentation
Command-Line MCP Server
An MCP server that lets AI assistants run terminal commands safely. Commands are categorized (read/write/system), directories are whitelisted, and dangerous patterns are blocked automatically.
Quick Start
pip install cmd-line-mcp
# Or from source
git clone https://github.com/andresthor/cmd-line-mcp.git
cd cmd-line-mcp
pip install -e .Run the server:
cmd-line-mcp # default config
cmd-line-mcp --config config.json # custom configClaude Desktop Setup
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
{
"mcpServers": {
"cmd-line": {
"command": "/path/to/venv/bin/cmd-line-mcp",
"args": ["--config", "/path/to/config.json"],
"env": {
"CMD_LINE_MCP_SECURITY_REQUIRE_SESSION_ID": "false",
"CMD_LINE_MCP_SECURITY_AUTO_APPROVE_DIRECTORIES_IN_DESKTOP_MODE": "true"
}
}
}
}Restart Claude Desktop after saving.
> [!TIP]
> Set `require_session_id: false` to prevent approval loops in Claude Desktop.
How It Works
Commands go through a validation pipeline before execution:
1. Pattern matching — blocks dangerous constructs (`system()`, shell escapes, etc.)
2. Command classification — each command must be in the read, write, system, or blocked list
3. Directory check — target directory must be whitelisted or session-approved
4. Approval check — write/system commands require session approval
Pipes, semicolons, and `&` are supported — each segment is validated independently.
What's Allowed
| Category | Commands | Approval |
|---|---|---|
| Read | `ls`, `cat`, `grep`, `find`, `head`, `tail`, `sort`, `wc`, … | Auto |
| Write | `cp`, `mv`, `rm`, `mkdir`, `touch`, `chmod`, `awk`, `sed`, … | Required |
| System | `ps`, `ping`, `curl`, `ssh`, `xargs`, … | Required |
| Blocked | `sudo`, `bash`, `sh`, `python`, `eval`, … | Always denied |
What's Blocked
Shells, scripting interpreters, and known command-execution vectors are blocked — including indirect execution through `awk system()`, `sed /e`, `find -exec`, `tar --checkpoint-action`, `env`, and `xargs`. See docs/SECURITY.md for the full list.
Configuration
The server works out of the box with sensible defaults. Customize via JSON config, environment variables, or `.env` files:
# Whitelist directories
export CMD_LINE_MCP_SECURITY_WHITELISTED_DIRECTORIES="/projects,/var/data"
# Add commands (merges with defaults)
export CMD_LINE_MCP_COMMANDS_READ="jq,rg"See docs/CONFIGURATION.md for full configuration reference, MCP tool documentation, and directory security details.
License
MIT
Frequently asked questions
What is cmd-line-mcp?
cmd-line-mcp is a Model Context Protocol (MCP) server listed in the TrackMCP directory.
How do I install cmd-line-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is cmd-line-mcp open source?
Yes — it is hosted on GitHub at https://github.com/andresthor/cmd-line-mcp and has 6 stars.
Related MCP tools
Cognee is the open-source AI memory platform for agents. Give your AI agents persistent long-term memory across sessions with a self-hosted knowledge graph engine.
Python SQL Parser and Transpiler
MCP server that interacts with Obsidian via the Obsidian rest API community plugin
Open-source meeting transcription API for Google Meet, Microsoft Teams & Zoom. Auto-join bots, real-time WebSocket transcripts, MCP server for AI agents. Self-host or use hosted SaaS.
A super light-weight embedded code search engine CLI (AST based) that just works - improves speed and efficiency for coding agent 🌟 Star if you like it!
Official MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP