MCP CLI Wrapper
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP CLI Wrappercommit with message 'Fix login bug' and stage all files"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP CLI Wrapper
A flexible MCP (Model Context Protocol) server that wraps any CLI tool and exposes its subcommands as individual MCP tools with typed parameters.
Features
Config-driven tools: Define CLI subcommands as MCP tools via JSON configuration
Fallback mode: Single
run_clitool when no config providedType-safe parameters: Zod validation for all inputs before execution
Flexible parameter types: Supports positional args, flags, and boolean switches
Preserved parameter order: Flags and positionals stay interleaved as defined
Nested subcommands: Supports
git remote addstyle commandsSafe execution: Uses
spawnSyncto prevent command injectionFull output capture: Returns stdout, stderr, and exit code
Related MCP server: cli2mcp
Installation
npm install
npm run buildUsage
Basic (Fallback Mode)
Run without a config file to get a single run_cli tool that accepts raw arguments:
node dist/index.js gitThis exposes one tool:
run_cli- Acceptsargs: string[]and executesgit <args...>
With Configuration
Run with a config file to expose multiple typed tools:
node dist/index.js git ./config.example.jsonThis exposes tools like:
git_status- Show working tree statusgit_commit- Commit with typedmessageand optionalallflaggit_add- Stage files withpathspecparametergit_log- Show logs withonelineandmax_countoptionsAnd more...
Configuration Format
Create a JSON file with tool definitions:
{
"tools": [
{
"name": "git_commit",
"description": "Record changes to the repository with a commit message.",
"subcommand": "commit",
"parameters": [
{
"name": "message",
"type": "string",
"description": "The commit message.",
"flag": "-m",
"required": true
},
{
"name": "all",
"type": "boolean",
"description": "Automatically stage all modified files.",
"flag": "--all",
"required": false
}
]
}
]
}Parameter Configuration
Each parameter supports:
Field | Type | Description |
| string | Parameter name (used in schema) |
|
| Parameter type |
| string | Description shown to AI agents |
| string (optional) | CLI flag (e.g., |
| boolean | Whether the parameter is required |
Parameter Order
Parameters are processed in declaration order. This allows you to define tools where flags must precede positional arguments:
{
"name": "docker_run",
"subcommand": "run",
"parameters": [
{ "name": "interactive", "flag": "-it", "type": "boolean", "required": false },
{ "name": "image", "type": "string", "required": true },
{ "name": "command", "type": "string", "required": false }
]
}This produces: docker run -it ubuntu bash (flags before positionals)
Nested Subcommands
Use spaces in subcommand for nested commands:
{
"name": "git_remote_add",
"subcommand": "remote add",
"parameters": [
{ "name": "name", "type": "string", "required": true },
{ "name": "url", "type": "string", "required": true }
]
}MCP Client Configuration
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"git": {
"command": "node",
"args": ["/path/to/mcp-cli-wrapper/dist/index.js", "git", "/path/to/config.json"]
}
}
}Claude Code
Add to your MCP settings:
{
"mcpServers": {
"git": {
"command": "node",
"args": ["./dist/index.js", "git", "./config.example.json"]
}
}
}Example Configs
Git (included)
See config.example.json for a complete Git configuration with 8 tools.
Docker (example)
{
"tools": [
{
"name": "docker_ps",
"description": "List running containers",
"subcommand": "ps",
"parameters": [
{ "name": "all", "type": "boolean", "flag": "-a", "description": "Show all containers", "required": false }
]
},
{
"name": "docker_run",
"description": "Run a container",
"subcommand": "run",
"parameters": [
{ "name": "detach", "type": "boolean", "flag": "-d", "description": "Run in background", "required": false },
{ "name": "name", "type": "string", "flag": "--name", "description": "Container name", "required": false },
{ "name": "image", "type": "string", "description": "Image to run", "required": true }
]
}
]
}Security
No shell interpolation: Arguments are passed directly via
spawnSync, preventing command injectionInput validation: All parameters validated with Zod schemas before execution
Local execution only: Commands run on the local machine with the user's permissions
Development
# Install dependencies
npm install
# Build
npm run build
# Run in development
npm run dev git ./config.example.jsonLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceEnables execution of arbitrary CLI tools and shell scripts by defining them in YAML configuration files as MCP Tools. Supports custom shells (bash, Python, Node.js, Deno), input parameters passed as environment variables, and flexible timeout settings.Last updated1136MIT
- Alicense-qualityBmaintenanceWrap any CLI as a Model Context Protocol (MCP) server for Claude, ChatGPT, Cursor, Gemini and any MCP-compatible client — schema auto-inferred from --help.Last updated609MIT
- Alicense-qualityBmaintenanceEnables AI assistants to call any CLI tool by scanning its help output and serving it as an MCP server.Last updatedGPL 3.0

realtimex-cli-mcpsofficial
Flicense-qualityCmaintenanceEnables running arbitrary CLI tools as MCP server tools, configured via environment variables.Last updated1
Related MCP Connectors
ClickUp MCP — wraps the ClickUp REST API v2 (BYO API key)
Package intelligence MCP for AI agents — 22 tools, 19 ecosystems, AGPL SDK, free.
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pyrex41/mcp-cli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server