概要
What is CLI MCP Server?
A secure Model Context Protocol (MCP) server implementation for executing controlled command-line operations with comprehensive security features. It enables LLM applications to run whitelisted CLI commands within allowed directories, providing controlled CLI access while maintaining security.
How to use CLI MCP Server?
Install via Smithery (npx @smithery/cli install cli-mcp-server --client claude) or manually configure for Claude Desktop by adding a mcpServers entry in claude_desktop_config.json using uv or uvx. Set environment variables (ALLOWED_DIR, ALLOWED_COMMANDS, ALLOWED_FLAGS, MAX_COMMAND_LENGTH, COMMAND_TIMEOUT) to define restrictions. Then use the run_command tool to execute whitelisted commands or show_security_rules to view current security settings.
Key features of CLI MCP Server
- Secure command execution with strict validation
- Configurable command and flag whitelisting
- Path traversal prevention and shell operator injection protection
- Execution timeouts and command length limits
- Detailed error reporting for security violations and failures
- Async operation support
Use cases of CLI MCP Server
- Allow an AI assistant to run
ls,cat, andpwdin a sandboxed directory - Prevent unauthorized commands by enforcing a whitelist of allowed commands and flags
- Enforce execution timeouts and command length limits for safety
- Display current security configuration for transparency via
show_security_rules
FAQ from CLI MCP Server
What commands are allowed by default?
The default allowed commands are ls, cat, and pwd, configurable via the ALLOWED_COMMANDS environment variable.
How do I configure security restrictions?
Set environment variables in the MCP server configuration: ALLOWED_DIR (required), ALLOWED_COMMANDS, ALLOWED_FLAGS, MAX_COMMAND_LENGTH (default 1024), and COMMAND_TIMEOUT (default 30 seconds).
What security measures are in place?
Command whitelist enforcement, flag validation, path traversal prevention, shell operator blocking, command length limits, execution timeouts, and working directory restrictions.
How do I run CLI MCP Server with Claude Desktop?
Add a mcpServers entry to ~/Library/Application\ Support/Claude/claude_desktop_config.json using uv for local development or uvx for published packages, with the required env variables.
How can I debug the server?
Use the MCP Inspector by running npx @modelcontextprotocol/inspector uv --directory <path> run cli-mcp-server and open the provided URL in a browser.