https://github.com/g0t4/mcp-server-commands
Model Context Protocol server to run commands
https://github.com/g0t4/mcp-server-commands
Last synced: 2 months ago
JSON representation
Model Context Protocol server to run commands
- Host: GitHub
- URL: https://github.com/g0t4/mcp-server-commands
- Owner: g0t4
- License: mit
- Created: 2024-11-29T02:39:02.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-12-21T05:03:20.000Z (6 months ago)
- Last Synced: 2025-04-09T18:16:11.581Z (2 months ago)
- Language: JavaScript
- Size: 186 KB
- Stars: 99
- Watchers: 2
- Forks: 20
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-devops-mcp-servers - g0t4/mcp-server-commands - Run any command with `run_command` and `run_script` tools. (Cloud Infrastructure / 🖥️ Command Line)
- awesome-devops-mcp-servers - g0t4/mcp-server-commands - Run any command with `run_command` and `run_script` tools. (Cloud Infrastructure / 🖥️ Command Line)
- awesome-mcp-list - g0t4/mcp-server-commands - server-commands?style=social)](https://github.com/g0t4/mcp-server-commands): Executes arbitrary commands and scripts via MCP. (Uncategorized / Uncategorized)
- awesome-mcp-zh - g0t4/mcp-server-commands
- awesome-mcp-servers - g0t4/mcp-server-commands - Run any command with `run_command` and `run_script` tools. (Legend / 🖥️ <a name="command-line"></a>Command Line)
- awesome-mcp-servers - g0t4/mcp-server-commands - Run any command with `run_command` and `run_script` tools. (Legend / 🖥️ <a name="command-line"></a>Command Line)
- awesome-mcp-servers - g0t4/mcp-server-commands - コマンドを実行し、その出力を含める。ツールとプロンプト。 (サーバー実装 / 🛠️ <a name="other-tools-and-integrations"></a>その他のツールと統合)
- awesome-mcp-servers - LLM Command Runner - Model Context Protocol server to run commands (Table of Contents / AI Services)
- awesome-mcp-servers - LLM Command Runner - Model Context Protocol server to run commands (Table of Contents / AI Services)
- mcp-index - Server Commands - An MCP server that executes shell commands or scripts, returning both standard output and error messages. It supports the execution of various commands and allows input via stdin for enhanced functionality. (Code Execution)
README
## Tools
Tools are for LLMs to request, i.e. Claude Desktop app. Claude Sonnet 3.5 intelligently uses both tools, I was pleasantly surprised.
- `run_command` - run a command, i.e. `hostname` or `ls -al` or `echo "hello world"` etc
- Returns STDOUT and STDERR as text
- `run_script` - run a script! (i.e. `fish`, `bash`, `zsh`, `python`)
- Let your LLM run the code it writes!
- script is passed over STDIN
- `run_script` == `run_command` + script over STDIN
- Claude has been pretty creative with this, i.e. using `cat` as the interpreter to create new files!> [!WARNING]
> Be careful what you ask this server to run!
> In Claude Desktop app, use `Approve 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:
```bash
npm install
```Build the server:
```bash
npm run build
```For development with auto-rebuild:
```bash
npm run watch
```## 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`### Use the published npm package
Published to npm as [mcp-server-commands](https://www.npmjs.com/package/mcp-server-commands) using this [workflow](https://github.com/g0t4/mcp-server-commands/actions)
```json
{
"mcpServers": {
"mcp-server-commands": {
"command": "npx",
"args": ["mcp-server-commands"]
}
}
}
```### Use a local build (repo checkout)
```json
{
"mcpServers": {
"mcp-server-commands": {
// works b/c of shebang in index.js
"command": "/path/to/mcp-server-commands/build/index.js"
}
}
}
```### 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](https://github.com/modelcontextprotocol/inspector), which is available as a package script:
```bash
npm run inspector
```The Inspector will provide a URL to access debugging tools in your browser.