# eirikb/any-cli-mcp-server [Health: Active]

**Category:** 🤖 Coding Agents  
**Repository:** https://github.com/eirikb/any-cli-mcp-server  
**GitHub Stars:** 21  
**npm Downloads (last month):** 103  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/eirikb-any-cli-mcp-server

## Description
Universal MCP server that transforms any CLI tool into an MCP server. Works with any CLI that has --help output, supports caching for performance.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "any-cli-mcp-server": {
    "command": "npx",
    "args": ["-y","any-cli-mcp-server"]
  }
}
```

## Documentation

## What eirikb/any-cli-mcp-server MCP server does

The eirikb/any-cli-mcp-server MCP server exposes a command-line interface through MCP. It uses the target CLI's `--help` output to construct the available MCP tools, allowing an MCP-compatible client to work with command-line functionality through the protocol rather than through direct shell interaction.

The approach is intended for CLI programs that provide help output in a form the server can use. The README gives GitHub CLI (`gh`), Azure CLI (`az`), and Git (`git`) as example targets. The server is distributed as an npm package and runs with Node.js 18 or newer.

## How it works

At startup, the server receives either the name of a CLI executable or a cache file. With a CLI name, it examines the command's help information and builds MCP tools from that information. The resulting tools represent the commands and options described by the CLI's help output; the README does not define a fixed set of tool names because they depend on the selected command-line program.

For repeated use, eirikb/any-cli-mcp-server MCP server can build a cache first. The cache is written using the target CLI name, such as `gh_cache.json`, and can then be supplied instead of the executable name. This avoids rebuilding the command description on every startup and is described as an optional performance improvement.

## Setup and configuration

Install and run the package through `npx`. A direct example is:

```bash
npx -y any-cli-mcp-server gh
```

Replace `gh` with the CLI you want to expose, such as `az` or `git`. The selected executable must be available to the environment where the MCP server runs.

An MCP client configuration supplies `npx` as the command and passes `-y`, the package name, and the target CLI as arguments:

```json
{
  "mcpServers": {
    "github-cli": {
      "command": "npx",
      "args": ["-y", "any-cli-mcp-server", "gh"]
    }
  }
}
```

To prepare a cache, run `npx any-cli-mcp-server --cache-build gh`, then configure the server with `gh_cache.json` instead of `gh`.

## Tools and capabilities

- Generate MCP tools from a CLI's `--help` output.
- Wrap command-line programs such as GitHub CLI, Azure CLI, and Git.
- Accept either a live CLI name or a generated cache file.
- Build a cache for faster subsequent startup.
- Run as an npm package through `npx`.

The generated tool set is determined by the selected CLI, so this package does not provide one universal list of operations independent of that CLI.

## Limitations and notes

The target command must provide usable `--help` output. This server does not replace the underlying CLI; that CLI still needs to be installed and available when the server is configured to inspect or run it. Authentication, permissions, and other requirements belong to the wrapped CLI and are not specified by the README.

Cache files are tied to the command description used to create them. If the underlying CLI changes, rebuilding the cache may be necessary so the exposed MCP tools match the current help output.

The project is open source under the MIT license. The README documents Node.js 18 or newer as the runtime requirement.

_Full upstream README: https://allmcps.com/mcp/eirikb-any-cli-mcp-server/readme_

