命令行执行服务器

一个安全可控的工具,允许通过Claude界面在本地系统执行shell命令,提供跨平台支持、安全限制和详细错误反馈。

  • by ryaker
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 ryaker/CommandExecution

使用说明

Claude桌面命令执行MCP服务器

概述

命令执行MCP(模型上下文协议)服务器是一个安全、受控的工具,允许Claude直接在本地系统上执行shell命令。此服务器提供了一种安全灵活的方式,可以通过Claude的界面与计算机的命令行进行交互。

主要特点

  • 安全命令执行:运行带有内置安全检查的shell命令
  • 工作目录支持:在特定目录中执行命令
  • 跨平台兼容性:适用于macOS和其他类Unix系统
  • 广泛的错误处理:提供有关命令执行的详细反馈
  • 超时和缓冲限制:防止失控或资源密集型命令

安全措施

服务器实现了多层安全:

  1. 危险指令封锁

    • 防止执行可能有害的命令,如 rm -rf, sudo等等。
    • 阻止可能损害系统完整性的命令
  2. 执行约束

    • 最长执行时间:30秒
    • 最大输出缓冲区:1MB
    • 验证工作目录是否存在

支持的工具

1. execute-command

使用可选的工作目录规范执行shell命令。

参数:

  • command (必填):要执行的shell命令
  • workingDirectory (可选):指定命令执行的目录

Claude中的示例用法:

execute-command with command="ls -la" and workingDirectory="/Users/yourusername/Documents"

2. simple-hello

一个返回问候的基本演示工具。

参数:

  • name (可选):要问候的名字(默认为“World”)

Claude中的示例用法:

simple-hello with name="Claude"

安装

1.先决条件

  • Node.js(v16或更高版本)
  • 克劳德桌面
  • npm(节点包管理器)

2.安装依赖项

cd /path/to/command-execution-tool
npm install @modelcontextprotocol/sdk

3.克劳德桌面配置

将以下内容添加到您的Claude Desktop配置文件中:

地点:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

配置块:

{
  "mcpServers": {
    "command-execution": {
      "command": "node",
      "args": [
        "/full/path/to/command-execution-tool.js"
      ],
      "env": {
        "NODE_OPTIONS": "--no-deprecation"
      }
    }
  }
}

重要提示: 替换 /full/path/to/command-execution-tool.js 带有脚本的实际路径。

使用指南

  • 谨慎行事:只运行您理解的命令
  • 安全第一:该工具可防止明显危险的命令
  • 工作目录:指定一个工作目录以实现更可控的执行

局限性

  • 不支持交互式命令
  • 最大命令执行时间为30秒
  • 输出限制为1MB
  • 一些系统关键命令被阻止

贡献

欢迎投稿!请在GitHub存储库上提交pull请求或开放问题。

许可证

MIT许可证

支持

对于问题或功能请求,请打开GitHub问题。