MCPShell
@inercia
About MCPShell
Use shell scripts as MCP tools
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"mcpshell": {
"command": "go",
"args": [
"run",
"github.com/inercia/[email protected]",
"mcp",
"--config",
"https://raw.githubusercontent.com/inercia/MCPShell/refs/heads/main/examples/kubectl-ro.yaml"
]
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is MCPShell?
MCPShell is a tool that allows LLMs to safely execute command-line tools through the Model Context Protocol (MCP). It provides a secure bridge between LLMs and operating system commands, enabling AI assistants to run shell commands with configurable constraints and parameter validation.
How to use MCPShell?
Create a YAML configuration file defining your tools with parameters, constraints, and the shell command to run. Then configure MCPShell as an MCP server in your LLM client (e.g., Cursor, VS Code) using go run github.com/inercia/[email protected] mcp --tools <config>. After refreshing the client, you can ask the LLM questions that require command execution.
Key features of MCPShell
- Flexible command execution with parameter substitution through templates
- Configuration-based tool definitions in YAML with parameters and constraints
- Security through CEL expression validation and optional sandboxed environments
- Quick prototyping of MCP tools by adding shell code
- Simple integration with any LLM client supporting the MCP protocol
Use cases of MCPShell
- Analyzing disk usage to identify space-consuming directories
- Running Kubernetes commands via kubectl for cluster management
- Executing AWS CLI commands for network diagnostics
FAQ from MCPShell
What makes MCPShell secure for executing shell commands?
MCPShell validates tool parameters using CEL expressions before execution, and optionally runs commands in sandboxed environments. The README strongly recommends limiting tools to read-only actions and reviewing templates for injection vulnerabilities.
Does MCPShell require specific runtime dependencies?
Yes, the go command must be available to run MCPShell, as it is invoked via go run. The tool itself is written in Go and fetched from GitHub.
Where are tool configurations stored?
Tool definitions are stored in YAML files. By default, MCPShell looks for them in the ~/.mcpshell/tools/ directory, though custom paths can be specified with the --tools argument and relative paths are supported.
How does MCPShell relate to the "Don" project?
Frequently asked questions
What makes MCPShell secure for executing shell commands?
MCPShell validates tool parameters using CEL expressions before execution, and optionally runs commands in sandboxed environments. The README strongly recommends limiting tools to read-only actions and reviewing templates for injection vulnerabilities.
Does MCPShell require specific runtime dependencies?
Yes, the `go` command must be available to run MCPShell, as it is invoked via `go run`. The tool itself is written in Go and fetched from GitHub.
Where are tool configurations stored?
Tool definitions are stored in YAML files. By default, MCPShell looks for them in the `~/.mcpshell/tools/` directory, though custom paths can be specified with the `--tools` argument and relative paths are supported.
Basic information
More Other MCP servers
🪟 Windows-MCP
CursorTouchMCP Server for Computer Use in Windows
Mcp
browsermcpBrowser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser
Mobile Mcp
mobile-nextModel Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices)
XcodeBuildMCP
cameroncookeA Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
ICSS
chokcoco不止于 CSS
Comments