使用说明

项目简介

PermShell MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)提供安全执行 shell 命令的能力。它通过桌面通知请求用户许可,确保所有命令执行都经过用户授权和知情,从而在增强 LLM 功能的同时,维护系统的安全性。

主要功能点

  • 安全命令执行: 通过桌面通知,在执行 shell 命令前显式请求用户许可,防止未授权的命令执行。
  • 透明的操作: 清晰展示即将执行的命令及其工作目录,用户可以完全了解操作内容。
  • 集成 MCP 协议: 遵循 MCP 标准,易于与支持 MCP 协议的 LLM 客户端集成,如 Claude Desktop。
  • 系统信息获取: 提供获取系统基本信息的功能,例如操作系统、运行时间、内存使用情况等。
  • 多重安全措施: 包括命令输入清理、执行超时限制等,进一步提升安全性。

安装步骤

  1. 克隆仓库
    git clone https://github.com/mcollina/perm-shell-mcp.git
    cd perm-shell-mcp
  2. 安装依赖
    npm install
  3. 构建项目
    npm run build

服务器配置

PermShell MCP 服务器需要配置在 MCP 客户端中才能使用。以 Claude Desktop 为例,您需要在 Claude Desktop 的配置文件中添加如下服务器配置:

{
  "mcpServers": {
    "permshell": {
      "command": "node",
      "args": ["/path/to/perm-shell-mcp/dist/index.js"]
      // 请将 "/path/to/perm-shell-mcp" 替换为您克隆仓库的实际路径
    }
  }
}

配置参数说明:

  • 'server name': 'permshell' (服务器名称,客户端用于标识和调用)
  • 'command': 'node' (启动服务器的命令,这里使用 Node.js 运行)
  • 'args': '["/path/to/perm-shell-mcp/dist/index.js"]' (命令参数,指向编译后的服务器入口文件)

基本使用方法

  1. 启动服务器: 在仓库目录下执行 'npm start' 命令,启动 PermShell MCP 服务器。

  2. 配置客户端: 根据 MCP 客户端 (如 Claude Desktop) 的要求,配置 PermShell MCP 服务器连接信息。

  3. 通过 LLM 客户端调用工具: 在 LLM 客户端中,您可以指示 LLM 使用 PermShell MCP 提供的工具。例如:

    • 询问 "列出我 home 目录下的文件" (将触发 'execute-command' 工具,执行 'ls' 命令,并请求用户许可)
    • 询问 "我的系统信息是什么?" (将触发 'system-info' 工具,获取并返回系统信息)

    当 LLM 尝试使用 'execute-command' 工具时,PermShell MCP 服务器会弹出桌面通知,请求您允许或拒绝执行相应的 shell 命令。只有在您允许后,命令才会被执行,并将结果返回给 LLM 客户端。

信息

分类

桌面与硬件