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

MCP Shell Executor

MCP Server

一个基于MCP协议的Linux Shell命令执行服务,提供安全防护和输出管理功能,适用于需要在受控环境中执行系统命令的场景。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude开发工具Claude DesktopClaude

安装说明

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

作者 / 组织

xyphanajay

提供方

xyphanajay

最后核验

2026/5/17 20:20

快速接入

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

命令预览

pip install "mcp[cli]"

详细介绍

MCP外壳执行器

一个全面的模型上下文协议(MCP)服务器,使LLM能够在具有高级安全功能和输出管理的Linux系统上执行shell命令。

特性

  • 安全命令执行:执行具有超时保护和输出限制的bash命令
  • 脚本支持:从字符串内容运行多行bash脚本
  • 安全选项:可选命令分配和工作目录验证
  • 综合产出:格式化结果,包括退出代码、stdout、stderr
  • 系统信息:系统信息和当前目录的内置资源
  • 错误处理:针对各种故障情况的强大错误处理

安装

先决条件

  • Python 3.8或更高版本
  • 基于Linux的操作系统
  • MCP Python SDK

设置

  1. 克隆存储库:
git clone https://github.com/xyphanajay/mcp-shell-executor.git
cd mcp-shell-executor
  1. 安装依赖项:
# Using uv (recommended)
uv add "mcp[cli]"

# Or using pip
pip install "mcp[cli]"
  1. 安装服务器:
# Install in Claude Desktop
mcp install server.py --name "Shell Executor"

# Or test in development mode
mcp dev server.py

用法

工具

run_bash_command

执行一个bash命令:

run_bash_command(
    command="ls -la",
    working_directory="/tmp",  # Optional
    timeout=30                 # Optional (seconds)
)

run_bash_script

执行一个多行bash脚本:

run_bash_script(
    script_content="""#!/bin/bash
    echo "System Information:"
    uname -a
    date
    uptime
    """,
    working_directory="/home/user",  # Optional
    timeout=60                       # Optional (seconds)
)

资源

  • system://info -获取详细的系统信息
  • pwd://current -获取当前工作目录

鼓励

  • bash_helper -获取全面的使用示例和文档

配置

您可以通过在中修改这些常量来自定义服务器行为 server.py:

MAX_OUTPUT_LENGTH = 10000    # Maximum characters in output
TIMEOUT_SECONDS = 30         # Default command timeout
ALLOWED_COMMANDS = None      # List of allowed commands (None = allow all)

安全配置

为了增强安全性,请设置 ALLOWED_COMMANDS 要限制可用命令,请执行以下操作:

ALLOWED_COMMANDS = [
    "ls", "pwd", "whoami", "date", "uptime",
    "df", "free", "ps", "top", "htop"
]

例子

基本命令

# List directory contents
run_bash_command("ls -la")

# Check disk usage
run_bash_command("df -h")

# View system processes
run_bash_command("ps aux")

高级脚本

# System monitoring script
run_bash_script("""
#!/bin/bash
echo "=== System Monitor ==="
echo "Date: $(date)"
echo "Uptime: $(uptime)"
echo "Disk Usage:"
df -h
echo "Memory Usage:"
free -h
echo "Load Average:"
cat /proc/loadavg
""")

工作目录管理

# Execute command in specific directory
run_bash_command("pwd && ls -la", working_directory="/var/log")

安全考虑

⚠️ 重要安全注意事项:

  • 命令的执行权限与服务器进程相同
  • 考虑在容器化环境中运行以供生产使用
  • 使用权限有限的专用用户帐户
  • ALLOWED_COMMANDS 限制可用命令
  • 监控可疑活动的命令执行情况
  • 对破坏性命令要小心

输出格式

所有命令执行都返回结构化输出:

Command: ls -la
Exit Code: 0
Working Directory: /home/user

STDOUT:
total 12
drwxr-xr-x 3 user user 4096 May 24 10:30 .
drwxr-xr-x 3 user user 4096 May 24 10:29 ..
-rw-r--r-- 1 user user  220 May 24 10:29 .bash_logout

STDERR:
(none)

错误处理

服务器处理各种错误情况:

  • 命令超时:超过超时限制的命令
  • 工作目录无效:目录不存在
  • 权限错误:执行命令的权限不足
  • 未找到命令:命令无效或不存在
  • 输出截断:大输出被截断并发出警告

发展

测试

# Run in development mode
mcp dev server.py

# Test with MCP Inspector
mcp dev server.py --inspector

定制

通过以下方式扩展服务器:

  1. 为特定命令类别添加新工具
  2. 实现自定义安全验证器
  3. 添加日志记录和监控功能
  4. 创建专用脚本模板

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

支持

对于问题和疑问:

  • 在GitHub上打开一个问题
  • 检查MCP文件:https://modelcontextprotocol.io
  • 审查MCP规范:https://spec.modelcontextprotocol.io

______________________________________________________________________

免责声明:此工具执行系统命令,应负责任地使用。执行命令前务必检查命令,并为您的环境实施适当的安全措施。

目录标签

目录标签

PythonClaude开发工具Shell命令执行本地部署Linux系统管理安全命令执行脚本自动化系统监控

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP