Token导航 LogoToken导航TokenDH.com
MCP Shell logo
开发工具stdio官方级别未说明来源级核验

MCP Shell

MCP Server

Run shell scripts and command line tools as MCP tools.

工具数

1

提示词数

0

GitHub Stars

65

资源数

0
命令行工具安全执行GoCursorCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

inercia

提供方

inercia

最后核验

2026/5/18 04:07

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

go run github.com/inercia/MCPShell@v0.1.4 mcp --config https://raw.githubusercontent.com/inercia/MCPShell/refs/heads/mai...

详细介绍

MCPShell

MCPShell 是一种允许LLM安全执行的工具 命令行工具 通过 模型上下文协议(MCP). 它在LLM和操作系统命令之间提供了一个安全的桥梁。

特性

  • 灵活的命令执行:将任何shell命令作为MCP工具运行,

通过模板进行参数替换。

  • 基于配置的工具定义:在YAML中用参数定义工具,

约束和输出格式。

  • 通过约束实现安全:使用CEL表达式验证工具参数

执行前,以及可选 沙盒环境 用于运行命令。

  • MCP工具的快速预测:只需添加一些shell代码并将其用作

LLM中的MCP工具。

  • 简单集成:适用于支持MCP协议的任何LLM客户端

(即光标、VSCode、Witsy……)

快速开始

想象一下,你希望Cursor(或其他MCP客户端)帮助你 硬盘空间问题。

  1. 创建配置文件 /my/example.yaml 定义你的工具:
   mcp:
     description: |
       Tool for analyzing disk usage to help identify what's consuming space.
     run:
       shell: bash
     tools:
       - name: "disk_usage"
         description: "Check disk usage for a directory"
         params:
           directory:
             type: string
             description: "Directory to analyze"
             required: true
           max_depth:
             type: number
             description: "Maximum depth to analyze (1-3)"
             default: 2
         constraints:
           - "directory.startsWith('/')"  # Must be absolute path
           - "!directory.contains('..')"  # Prevent directory traversal
           - "max_depth >= 1 && max_depth <= 3"  # Limit recursion depth
           - "directory.matches('^[\\w\\s./\\-_]+$')"  # Only allow safe path characters, prevent command injection
         run:
           command: |
             du -h --max-depth={{ .max_depth }} {{ .directory }} | sort -hr | head -20
         output:
           prefix: |
             Disk Usage Analysis (Top 20 largest directories):

看看 示例目录 以获取更复杂和有用的示例。 也许你更喜欢让LLM知道你的Kubernetes集群 kubectl 的? 或者让它运行一些 AWS-CLI 命令?

  1. 在Cursor(或任何其他支持MCP的LLM客户端)中配置MCP服务器

例如,对于Cursor,创建 .cursor/mcp.json:

   {
       // you need the "go" command available
       "mcpServers": {
           "mcp-cli-examples": {
               "command": "go",
               "args": [
                  "run", "github.com/inercia/MCPShell@v0.1.8",
                  "mcp", "--tools", "/my/example.yaml",
                  "--logfile", "/some/path/mcpshell/example.log"
               ]
           }
       }
   }

您还可以使用相对路径并省略 .yaml 扩展名:

   {
       "mcpServers": {
           "mcp-cli-examples": {
               "command": "go",
               "args": [
                  "run", "github.com/inercia/MCPShell@v0.1.8",
                  "mcp", "--tools", "example",
                  "--logfile", "/some/path/mcpshell/example.log"
               ]
           }
       }
   }

这将寻找 example.yaml 在工具目录中(~/.mcpshell/tools/ 默认情况下)。

查看有关如何配置的更多详细信息 光标Visual Studio Code其他支持MCP的LLM 应该以类似的方式配置。

  1. 确保您的MCP客户端已刷新(Cursor应自动识别它)

第一次,但配置文件中的任何更改都需要刷新)。

  1. 问你的法学硕士一些问题,它应该能够用新工具回答。例如:

_“我的硬盘空间不足。你能帮我找到问题吗?”_.

使用和配置

查看中的所有命令 本文件.

配置文件使用定义的YAML格式 这里. 请参阅 这个目录 举几个例子。

要在容器和Kubernetes中部署MCPShell,请参阅 容器部署指南.

代理模式

有关将LLM直接连接到工具的AI代理功能,请参阅 项目。唐提供:

  • 无需单独的MCP客户端即可直接连接LLM
  • RAG(检索增强生成)支持
  • 多代理架构
  • 使用MCPShell的工具配置格式

安全考虑

所以你可能会觉得 _“这个人工智能帮助我找到了所有这些大文件。如果我创建另一个删除文件的工具呢?”_. 不要那样做!.

  • 将这些工具的范围限制在 只读操作,不要赋予法学硕士改变事物的权力。
  • 使用 约束 将命令执行限制为安全参数
  • 考虑使用 沙盒环境 用于运行命令。
  • 检查所有命令模板是否存在潜在的注入漏洞
  • 仅暴露可安全外部使用的工具
  • 以上所有!

请阅读 安全考虑 在使用此软件之前,请先记录。

贡献

欢迎投稿!看看 开发指南. 请在GitHub上打开问题或提交拉取请求。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

目录标签

目录标签

命令行工具安全执行GoCursormcpanalysis-toolshellCLIdeveloper-tools本地部署LLM集成YAML配置MCP协议

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP