runProcess 工具
这 runProcess 该工具在主机上运行进程。调用它有两种互斥的方式:
command_line(string)--通过系统的默认shell执行(就像键入bash/fish/pwsh/等等)。Shell的特性,如管道、重定向和可变扩展,都能正常工作。argv(字符串数组)--直接可执行调用。argv[0]是可执行文件,其余是参数。没有外壳解释。
你不能两者都通过。该工具根据您提供的参数推断是否使用shell。
如果你想让你的模型在系统上使用特定的shell,我会在你的系统提示符中列出它们。或者,也许在你的工具说明中,尽管模型往往更关注系统提示中的示例。
如果你遇到问题,请告诉我!
工具
工具供LLM请求。克劳德·十四行诗3.5智能使用 run_process而且,初步测试显示了有希望的结果 带MCP的Groq桌面 和 llama4 模型。
目前,只有一个命令可以统治所有人!
run_process-运行命令,即。hostname或ls -al或echo "hello world"等等
- 退货 STDOUT 和 STDERR 以文本形式 - 可选的 stdin 参数表示您的LLM可以 - 传递脚本 STDIN 命令如下 fish, bash, zsh, python - 使用创建文件 cat >> foo/bar.txt 从文本中 stdin
\[!警告\] 请小心您要求此服务器运行的内容! 在Claude Desktop应用程序中,使用Approve Once(不是Allow for This Chat)因此,您可以查看每个命令,使用Deny如果你不信任这个命令。 权限由运行服务器的用户决定。 不要带着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包
{
"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_processs 没有双重检查。
- 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,使用 mcpo 为了一个 OpenAPI 兼容的web服务器界面。 这适用于 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\[!警告\] 我简要地使用了mcpo和open-webui,确保对其进行安全审查。
日志记录
Claude Desktop应用程序将日志写入 ~/Library/Logs/Claude/mcp-server-mcp-server-commands.log
默认情况下,只记录重要消息(即错误)。 如果您想查看更多消息,请添加 --verbose 到 args 在配置服务器时。
顺便说一句,日志被写入 STDERR 因为这是Claude Desktop发送到日志文件的路径。 在未来,我希望格式良好的日志消息能够被写在 STDIO 传输到MCP客户端(注意:不是Claude Desktop应用程序)。
调试
由于MCP服务器通过stdio进行通信,调试可能具有挑战性。我们建议使用 MCP检查员,可作为包脚本使用:
npm run inspector检查器将提供一个URL,用于访问浏览器中的调试工具。
