Shell工具MCP服务器

一个基于MCP协议的Shell工具服务器,允许通过模型上下文协议运行Shell命令和编辑文件。

  • by rcx86
  • Python
  • 混合部署
  • 更新于
在 GitHub 查看 rcx86/shell-tools-mcp

使用说明

外壳工具MCP服务器

用于shell工具的MCP服务器,允许您通过模型上下文协议运行shell命令和编辑文件。

安装

使用 uv (推荐)

您可以直接使用以下命令运行服务器 uv:

uv run shell-tools-mcp-server

使用 pip

pip install .
shell-tools-mcp-server

用法

标准(默认)

默认情况下,服务器在stdio上运行,stdio适合与Claude Desktop或其他代理等MCP客户端集成。

uv run shell-tools-mcp-server

HTTP(SSE)

您还可以使用服务器发送事件(SSE)通过HTTP运行服务器。

uv run shell-tools-mcp-server --http --port 8000

可用工具

run_shell_command

运行shell命令并返回其输出。

  • 命令 (str):要运行的shell命令。
  • 当前工作目录 (str,可选):运行命令的工作目录。默认为当前目录。
  • 超时 (int,可选):命令超时时间(秒)。默认为60秒。
  • run_in_bg (bool,可选):如果 True,在后台运行该命令。默认为 False.

file_edit

通过替换字符串的出现来编辑文件。

  • 文件路径 (str):要修改的文件的绝对路径。
  • old_string (str):要替换的文本。
  • new_string (str):将其替换为的文本。
  • replace_all (bool,可选):如果出现以下情况,请替换所有出现的内容 True,否则只有第一次出现。默认为 False.

file_multi_edit

通过按顺序应用多个编辑操作来编辑文件。

  • 文件路径 (str):要修改的文件的绝对路径。
  • 编辑 (List[dict]):编辑操作列表。每个字典都应该有:
    • old_string:要替换的文本。
    • new_string:将其替换为的文本。
    • replace_all (可选):布尔值,用于替换所有出现的内容。

file_read

读取具有可选偏移量和限制的文件。

  • 文件路径 (str):要读取的文件的绝对路径。
  • 偏移 (int,可选):开始读取的行号(0索引)。
  • 限制 (int,可选):要读取的行数。

file_replace

替换文件中出现的字符串。这在功能上与 file_edit.

  • 文件路径 (str):要修改的文件的绝对路径。
  • old_string (str):要替换的文本。
  • new_string (str):将其替换为的文本。
  • replace_all (bool,可选):如果出现以下情况,请替换所有出现的内容 True,否则只有第一次出现。默认为 False.

发展

先决条件

  • Python 3.10+
  • uv 包管理器

设置

  1. 克隆存储库。
  2. 安装依赖项:
uv sync

本地运行

您可以在本地运行服务器进行测试:

uv run shell-tools-mcp-server --help

测试

您可以通过运行服务器并通过MCP检查器与之交互来测试服务器,或者如果您添加了测试脚本,则可以直接调用工具来测试服务器。