本工具用于向大语言模型(LLMs)发起请求,具体是针对 Claude 桌面应用程序。Claude Sonnet 3.5 能够智能运用这两种工具,着实令人惊喜。
run_command:可运行一条命令,例如 hostname、ls -al 或 echo "hello world" 等。该命令会返回标准输出(STDOUT)和标准错误输出(STDERR)的文本内容。run_script:用于运行脚本,支持 fish、bash、zsh、python 等脚本类型。此功能可让大语言模型执行其编写的代码,脚本通过标准输入(STDIN)传递。实际上,run_script 等同于 run_command 加上脚本通过 STDIN 传递。Claude 已经极具创意地运用了该功能,例如使用 cat 作为解释器来创建新文件。⚠️ 重要提示
对于让服务器运行的内容务必小心!在 Claude 桌面应用程序中,请使用
Approve Once(而非Allow for This Chat),以便逐条审查每个命令;若不信任该命令,可使用Deny。权限由运行服务器的用户决定,请勿以sudo运行。
提示用于用户在聊天历史中包含的内容,可通过 Zed 的命令(在其 AI 聊天面板中)实现。
run_command:生成一条带有命令输出的消息。npm install
npm run build
npm run watch
需添加服务器配置,不同系统的配置文件路径如下:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%/Claude/claude_desktop_config.json该工具已发布到 npm,包名为 mcp-server-commands,使用此 工作流。配置如下:
{
"mcpServers": {
"mcp-server-commands": {
"command": "npx",
"args": ["mcp-server-commands"]
}
}
}
配置如下:
{
"mcpServers": {
"mcp-server-commands": {
// 这是因为 index.js 中的 shebang
"command": "/path/to/mcp-server-commands/build/index.js"
}
}
}
Claude 桌面应用程序会将日志写入 ~/Library/Logs/Claude/mcp-server-mcp-server-commands.log。默认情况下,仅记录重要消息(即错误信息)。若想查看更多消息,可在配置服务器时的 args 中添加 --verbose。需注意,日志是通过 STDERR 写入的,因为这是 Claude 桌面应用程序路由到日志文件的内容。未来,期望格式化良好的日志消息通过 STDIO 传输写入 MCP 客户端(注意:不是 Claude 桌面应用程序)。
由于 MCP 服务器通过标准输入输出(stdio)通信,调试可能具有一定挑战性。建议使用 MCP Inspector,它作为包脚本可用,运行命令如下:
npm run inspector
Inspector 会在浏览器中提供一个访问调试工具的 URL。