mcp-server-commands
runProcess ツール
runProcess ツールは、ホストマシン上でプロセスを実行します。呼び出し方法には、相互に排他的な2つの方法があります。
command_line(文字列) — システムのデフォルトシェル経由で実行されます(bash/fish/pwshなどに直接入力するのと同じです)。パイプ、リダイレクト、変数展開などのシェル機能がすべて動作します。argv(文字列配列) — 直接実行可能ファイルとして呼び出されます。argv[0]が実行可能ファイルで、残りが引数となります。シェルによる解釈は行われません。
両方を同時に渡すことはできません。ツールは、提供されたパラメータからどちらのシェルを使用するかを推測します。
モデルにシステム上の特定のシェルを使用させたい場合は、システムプロンプトにリストアップすることをお勧めします。あるいはツール命令に含めることもできますが、モデルはシステムプロンプト内の例により注意を払う傾向があります。
問題が発生した場合はお知らせください!
Related MCP server: cargo-mcp
ツール
ツールはLLMが要求するためのものです。Claude Sonnet 3.5はrun_processをインテリジェントに使用します。また、初期テストではGroq Desktop with MCPとllama4モデルで有望な結果が得られています。
現在は、すべてを統括する1つのコマンドのみです!
run_process- コマンドを実行します(例:hostname、ls -al、echo "hello world"など)STDOUTとSTDERRをテキストとして返しますオプションの
stdinパラメータを使用すると、LLMは以下のことが可能ですfish、bash、zsh、pythonなどのコマンドにSTDIN経由でスクリプトを渡すstdinのテキストからcat >> foo/bar.txtでファイルを作成する
[!WARNING] このサーバーに実行させるコマンドには注意してください! Claude Desktopアプリでは、「このチャットで許可」ではなく「一度だけ承認」を使用し、各コマンドを確認できるようにしてください。信頼できないコマンドには「拒否」を使用してください。 権限はサーバーを実行するユーザーによって決定されます。
sudoで実行しないでください。
ビデオウォークスルー
プロンプト
プロンプトは、ユーザーがチャット履歴に含めるためのものです(例: Zedのスラッシュコマンド(AIチャットパネル内)経由)
run_process- コマンド出力を含むプロンプトメッセージを生成します
参考:これは主に学習用エクササイズでした... 私はこれをユーザーが要求するツール呼び出しとして見ています。これは、コマンドを実行してその出力をモデルに渡すためのテンプレートであるという、少し大げさな言い方です!
開発
依存関係のインストール:
npm installサーバーのビルド:
npm run build自動リビルド付きの開発:
npm run watchインストール
Claude Desktopで使用するには、サーバー設定を追加します:
MacOSの場合: ~/Library/Application Support/Claude/claude_desktop_config.json
Windowsの場合: %APPDATA%/Claude/claude_desktop_config.json
Groq Desktop (ベータ版, macOS) は ~/Library/Application Support/groq-desktop-app/settings.json を使用します
公開されたnpmパッケージを使用する
このワークフローを使用してmcp-server-commandsとしてnpmに公開されています
{
"mcpServers": {
"mcp-server-commands": {
"command": "npx",
"args": ["mcp-server-commands"]
}
}
}ローカルビルドを使用する (リポジトリのチェックアウト)
必ず npm run build を実行してください
{
"mcpServers": {
"mcp-server-commands": {
// works b/c of shebang in index.js
"command": "/path/to/mcp-server-commands/build/index.js"
}
}
}ローカルモデル
ほとんどのモデルは、自分自身でコマンドを実行できるとは考えないようにトレーニングされています。
時には躊躇なくツールを使用することもありますが、そうでない場合は、こちらから促す必要があります。
システムプロンプトやプロンプトテンプレートを使用して、ユーザーの要求に従うよう指示してください。これには、再確認なしで
run_processを使用することも含まれます。
Ollamaは、ローカルでモデルを実行する(Open-WebUIを使用)のに最適な方法です
# NOTE: make sure to review variants and sizes, so the model fits in your VRAM to perform well!
# Probably the best so far is [OpenHands LM](https://www.all-hands.dev/blog/introducing-openhands-lm-32b----a-strong-open-coding-agent-model)
ollama pull https://huggingface.co/lmstudio-community/openhands-lm-32b-v0.1-GGUF
# https://ollama.com/library/devstral
ollama pull devstral
# Qwen2.5-Coder has tool use but you have to coax it
ollama pull qwen2.5-coderHTTP / OpenAPI
サーバーはSTDIOトランスポートで実装されています。
HTTPの場合は、OpenAPI互換のWebサーバーインターフェースであるmcpoを使用してください。
これはOpen-WebUIで動作します
uvx mcpo --port 3010 --api-key "supersecret" -- npx mcp-server-commands
# uvx runs mcpo => mcpo run npx => npx runs mcp-server-commands
# then, mcpo bridges STDIO <=> HTTP[!WARNING]
open-webuiでmcpoを少し使用しましたが、セキュリティ上の懸念がないか確認してください。
ログ
Claude Desktopアプリはログを ~/Library/Logs/Claude/mcp-server-mcp-server-commands.log に書き込みます
デフォルトでは、重要なメッセージ(エラーなど)のみが記録されます。
より多くのメッセージを表示したい場合は、サーバー設定時にargsに--verboseを追加してください。
ちなみに、ログはSTDERRに書き込まれます。これはClaude Desktopがログファイルにルーティングする先だからです。
将来的には、適切にフォーマットされたログメッセージがSTDIOトランスポート経由でMCPクライアント(Claude Desktopアプリではないことに注意)に書き込まれることを期待しています。
デバッグ
MCPサーバーはstdio経由で通信するため、デバッグは困難な場合があります。パッケージスクリプトとして利用可能なMCP Inspectorの使用をお勧めします:
npm run inspectorInspectorは、ブラウザでデバッグツールにアクセスするためのURLを提供します。
Available Tools
1 toolrun_processB
Run a process on this linux machine
| Name | Required | Description | Default |
|---|---|---|---|
| command_line | No | Shell mode: a shell command line executed via the system's default shell. Supports pipes, redirects, globbing. Cannot be combined with 'argv'. | |
| argv | No | Executable mode: directly spawn a process. argv[0] is the executable, followed by arguments passed verbatim (no shell interpretation). Cannot be combined with 'command_line'. | |
| cwd | No | Optional to set working directory | |
| stdin_text | No | Optional text written to STDIN (written fully, then closed). Useful for heredoc-style input or file contents. | |
| timeout_ms | No | Optional timeout in milliseconds, defaults to 30,000ms |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the burden. It only states 'Run a process' without disclosing that it executes shell commands (which could be dangerous), blocks until completion, or handles errors. The lack of behavioral context is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence with no fluff. It is front-loaded and efficient. Could be slightly more informative without harm, but current length is acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations exist. The description fails to mention return values, error behavior, or success/failure indicators. For a command execution tool, this is notably incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already explains each parameter. The description adds no extra meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action and resource ('Run a process on this linux machine'). The verb 'run' and noun 'process' are specific. No siblings exist, so differentiation isn't needed. Slight lack of detail about the two execution modes (shell vs. argv) prevents a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when or when-not-to-use guidance is provided. However, the tool is standalone with no siblings, and the description implies it's for executing arbitrary processes. This is minimally adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.8.2- Removed
run_command - Added
run_process
1 tool update
v1.0.0- Added
run_command
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of ambiguity.
With a single tool, naming is trivially consistent. The tool name 'run_process' follows a clear verb_noun pattern.
A server named 'commands' with only one tool is too few; it suggests the scope is not well-captured.
The server only supports running a process, lacking essential operations like listing, managing, or stopping processes, which are significant gaps.
Maintenance
Related MCP Connectors
An MCP server for deep research or task groups
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server allowing any and all command execution over CMD283 npm24MIT
- Apache 2.0
- AlicenseAqualityCmaintenanceAn MCP server for interacting with Discord.19155 npm11MIT
- AGPL 3.0