The mcp-server-commands server allows LLMs to execute system commands and scripts on the host machine, enabling interaction with the local environment.
Execute Commands: Run shell commands (e.g.,
hostname,ls,echo) using therun_commandmethod, which returnsSTDOUTandSTDERRInput Support: Provide input to commands via
stdinparameter for interactive programs likebashorpythonRun Scripts: Execute scripts by piping them to a specified interpreter (bash, python, etc.)
Working Directory: Specify the working directory for command and script execution
Integration with LLMs: Designed for use with models like Claude Sonnet 3.5, with command review capabilities in the Claude Desktop app
Development Tools: Includes debugging and logging features such as the MCP Inspector
Provides system command execution capabilities on macOS, with specific installation paths for the Claude Desktop app configuration on macOS systems.
Tools
Tools are for LLMs to request. Claude Sonnet 3.5 intelligently uses run_command. And, initial testing shows promising results with Groq Desktop with MCP and llama4 models.
Currently, just one command to rule them all!
run_command- run a command, i.e.hostnameorls -alorecho "hello world"etcReturns
STDOUTandSTDERRas textOptional
stdinparameter means your LLM canpass code in
stdinto commands likefish,bash,zsh,pythoncreate files with
cat >> foo/bar.txtfrom the text instdin
Be careful what you ask this server to run!
In Claude Desktop app, useApprove Once (not Allow for This Chat) so you can review each command, use Deny if you don't trust the command.
Permissions are dictated by the user that runs the server.
DO NOT run with sudo.
Video walkthrough
Prompts
Prompts are for users to include in chat history, i.e. via Zed's slash commands (in its AI Chat panel)
run_command- generate a prompt message with the command output
Development
Install dependencies:
Build the server:
For development with auto-rebuild:
Installation
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Groq Desktop (beta, macOS) uses ~/Library/Application Support/groq-desktop-app/settings.json
Use the published npm package
Published to npm as mcp-server-commands using this workflow
Use a local build (repo checkout)
Make sure to run npm run build
Logging
Claude Desktop app writes logs to ~/Library/Logs/Claude/mcp-server-mcp-server-commands.log
By default, only important messages are logged (i.e. errors).
If you want to see more messages, add --verbose to the args when configuring the server.
By the way, logs are written to STDERR because that is what Claude Desktop routes to the log files.
In the future, I expect well formatted log messages to be written over the STDIO transport to the MCP client (note: not Claude Desktop app).
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
The Inspector will provide a URL to access debugging tools in your browser.
local-only server
The server can only run on the client's local machine because it depends on local resources.
An MCP server to run commands.
Related MCP Servers
- Asecurity-licenseAqualityMCP server allowing any and all command execution over CMDLast updated -22521MIT License
- Asecurity-licenseAqualityA MCP Server used to collect MCP Servers over the internet.Last updated -319
- Asecurity-licenseAqualityMCP Server for running code snippet and show the result.Last updated -1710204MIT License
- -security-license-qualityA simple MCP server that allows running terminal commands with output capture, enabling command execution on the host system from MCP-compatible clients like Claude Desktop.Last updated -1