- Explore MCP Servers
- mcp-cli-adapter
Mcp Cli Adapter
What is Mcp Cli Adapter
The MCP CLI Adapter is a tool that enables Large Language Models (LLMs) to safely execute command-line tools via the Model Context Protocol (MCP), providing a secure interface between LLMs and operating system commands.
Use cases
Use cases include analyzing disk usage, automating system maintenance tasks, and integrating command-line utilities into applications that leverage LLMs for enhanced functionality.
How to use
To use the MCP CLI Adapter, create a configuration file in YAML format that defines the tools you want to use, including parameters, constraints, and commands. Then, run the adapter with the specified configuration to execute the defined shell commands.
Key features
Key features include flexible command execution with parameter substitution, configuration-based tool definitions in YAML, security through constraints using CEL expressions, robust error handling, and simple integration with any LLM that supports the MCP protocol.
Where to use
The MCP CLI Adapter can be used in various fields such as data analysis, system administration, and automation tasks where command-line tools are required to be executed safely and efficiently.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Mcp Cli Adapter
The MCP CLI Adapter is a tool that enables Large Language Models (LLMs) to safely execute command-line tools via the Model Context Protocol (MCP), providing a secure interface between LLMs and operating system commands.
Use cases
Use cases include analyzing disk usage, automating system maintenance tasks, and integrating command-line utilities into applications that leverage LLMs for enhanced functionality.
How to use
To use the MCP CLI Adapter, create a configuration file in YAML format that defines the tools you want to use, including parameters, constraints, and commands. Then, run the adapter with the specified configuration to execute the defined shell commands.
Key features
Key features include flexible command execution with parameter substitution, configuration-based tool definitions in YAML, security through constraints using CEL expressions, robust error handling, and simple integration with any LLM that supports the MCP protocol.
Where to use
The MCP CLI Adapter can be used in various fields such as data analysis, system administration, and automation tasks where command-line tools are required to be executed safely and efficiently.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
MCPShell
The 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.
Features
- Flexible command execution: Run any shell commands as MCP tools,
with parameter substitution through templates. - Configuration-based tool definitions: Define tools in YAML with parameters,
constraints, and output formatting. - Security through constraints: Validate tool parameters using CEL expressions
before execution, as well as optional sanboxed environments
for running commands. - Quick proptotyping of MCP tools: just add some shell code and use it as
a MCP tool in your LLM. - Simple integration: Works with any LLM client supporting the MCP protocol
(ie, Cursor, VSCode, Witsy…)
Quick Start
Imagine you want Cursor (or some other MCP client) help you with your
space problems in your hard disk.
-
Create a configuration file
/my/example.yamldefining your tools:mcp: description: | Tool for analyzing disk usage to help identify what's consuming space. run: shell: bash tools: - name: "disk_usage" description: "Check disk usage for a directory" params: directory: type: string description: "Directory to analyze" required: true max_depth: type: number description: "Maximum depth to analyze (1-3)" default: 2 constraints: - "directory.startsWith('/')" # Must be absolute path - "!directory.contains('..')" # Prevent directory traversal - "max_depth >= 1 && max_depth <= 3" # Limit recursion depth - "directory.matches('^[\\w\\s./\\-_]+$')" # Only allow safe path characters, prevent command injection run: command: | du -h --max-depth={{ .max_depth }} {{ .directory }} | sort -hr | head -20 output: prefix: | Disk Usage Analysis (Top 20 largest directories):Take a look at the examples directory for more sophisticated and useful examples.
Maybe you prefer to let the LLM know about your Kubernetes cluster with
kubectl?
Or let it run some AWS CLI commands? -
Configure the MCP server in Cursor (or in any other LLM client with support for MCP)
For example, for Cursor, create
.cursor/mcp.json:See more details on how to configure Cursor or
Visual Studio Code. Other LLMs with support for MCPs
should be configured in a similar way. -
Make sure your MCP client is refreshed (Cursor should recognize it automatically the
firt time, but any change in the config file will require a refresh). -
Ask your LLM some questions it should be able to answer with the new tool. For example:
“I’m running out of space in my hard disk. Could you help me finding the problem?”.
Usage and Configuration
Take a look at all the command in this document.
Configuration files use a YAML format defined here.
See the this directory for some examples.
Agent Mode
MCPShell can also be run in agent mode, providing direct connectivity between Large Language Models
(LLMs) and your command-line tools without requiring a separate MCP client. In this mode,
MCPShell connects to an OpenAI-compatible API (including local LLMs like Ollama), makes your
tools available to the model, executes requested tool operations, and manages the conversation flow.
This enables the creation of specialized AI assistants that can autonomously perform system tasks
using the tools you define in your configuration. The agent mode supports both interactive
conversations and one-shot executions, and allows you to define system and user prompts directly
in your configuration files.
For detailed information on using agent mode, see the Agent Mode documentation.
Security Considerations
So you will probably thing
“this AI has helped me finding all those big files. What if I create another tool for removing files?”.
Don’t do that!.
- Limit the scope of these tools to read-only actions, do not give the LLM the power to change things.
- Use constraints to limit command execution to safe parameters
- Consider using a sanboxed environment for running commands.
- Review all command templates for potential injection vulnerabilities
- Only expose tools that are safe for external use
- All of the above!
Please read the Security Considerations document before using this software.
Contributing
Contributions are welcome! Take a look at the development guide.
Please open an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










