MCP.so
Sign In
Servers

MCP CLI

@gelisam

a simple MCP server allowing VS Code to run a specific shell command without asking

Overview

What is MCP CLI?

MCP CLI is a Model Context Protocol (MCP) server that exposes shell commands as tools for AI assistants such as GitHub Copilot. It lets users maintain a list of allowed shell commands, so each tool only needs to be authorized once for improved security.

How to use MCP CLI?

Install via cabal install, then create a JSON configuration file listing the allowed commands with optional names, descriptions, arguments, and working directories. In VS Code Agent mode, add it as a stdio MCP server using the command mcp-cli <path-to-config>.

Key features of MCP CLI

  • Exposes shell commands as MCP tools for AI assistants.
  • Restricts allowed commands to a preconfigured list.
  • Supports named tools with custom descriptions.
  • Allows passing arguments as environment variables.
  • Configurable working directory per tool.
  • Top-level and tool-specific environment variables.

Use cases of MCP CLI

  • Running build commands or test suites via an AI assistant.
  • Executing database connection scripts with specific parameters.
  • Automating git operations with custom arguments.
  • Running approved diagnostic commands like date, pwd, ls.
  • Controlling which shell commands an AI assistant may execute.

FAQ from MCP CLI

How does MCP CLI differ from allowing GitHub Copilot to run arbitrary shell commands?

MCP CLI lets you predefine a list of allowed commands, so you only authorize each tool once instead of being asked per execution, improving security and convenience.

What runtime is required to install MCP CLI?

The README shows installation via cabal install, indicating a Haskell build environment. No other runtime dependencies are mentioned.

How is the configuration file structured?

The JSON file lists commands as strings or objects. Objects can specify a name, description, command with argument placeholders, an arguments array, working directory, and environment variables.

What transport does MCP CLI use?

It uses the MCP stdio transport, as configured in .vscode/mcp.json with "type": "stdio".

Where does the MCP CLI configuration file live?

The configuration file path is provided as an argument when starting the server, typically stored in the workspace folder (e.g., ${workspaceFolder}/mcp-cli.json).

Tags

More from Developer Tools