外壳工具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-serverHTTP(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包管理器
设置
- 克隆存储库。
- 安装依赖项:
uv sync本地运行
您可以在本地运行服务器进行测试:
uv run shell-tools-mcp-server --help测试
您可以通过运行服务器并通过MCP检查器与之交互来测试服务器,或者如果您添加了测试脚本,则可以直接调用工具来测试服务器。
