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

Shell Stream MCP

MCP Server

MCP Shell-Stream Server是一个基于Python的服务器,允许以编程方式运行、监控和控制长期运行的shell命令,支持实时输出流、会话管理和远程命令执行,适用于系统管理和自动化任务。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude会话管理Claude

安装说明

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

作者 / 组织

kilgor

提供方

kilgor

最后核验

2026/5/17 20:23

运行时

Python

快速接入

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

命令预览

python -m venv .venv

详细介绍

MCP Shell流服务器

概述

MCP Shell Stream Server是一个基于Python的服务器,允许您以编程方式运行、监视和控制长期存在的Shell命令。它支持Windows和Unix系统,通过模型上下文协议(MCP)提供实时输出流、会话管理和远程命令执行。

🛡️ 安全增强版本: 此实现包括全面的安全过滤,以防止危险操作,同时保持管理功能。

特性

  • 🔧 命令执行: 在隔离会话中启动长时间运行的shell命令
  • 📡 实时流媒体: 实时流命令输出
  • 📊 会话管理: 检查运行进程的状态和返回代码
  • ⛔ 过程控制: 安全终止进程
  • 🌐 跨平台: 支持Windows、Linux、macOS
  • 🛡️ 安全筛选: 内置防止危险系统操作的保护
  • 📝 审核日志记录: 用于命令批准/阻止的安全事件日志记录
  • 🔍 命令测试: 不执行针对安全过滤器的测试命令

安全功能

🟢 安全操作(允许)

  • 用户目录、D:\\drive、临时文件夹中的文件操作
  • 网络诊断(ping、tracert、nslookup、DNS更改)
  • 系统信息收集(主机名、whoami、systeminfo)
  • 安全注册表读取(HKCU、非关键HKLM区域)
  • 开发工具和用户应用程序
  • 系统重启和关闭命令
  • 非系统驱动器(E:、F:、USB驱动器)上的磁盘操作
  • 受控磁盘部件操作

🔴 阻止操作(自动阻止)

  • 系统文件: 访问C:\\Windows、C:\\程序文件、注册表配置单元
  • 受保护的驱动器: C:和D:驱动器上的格式化操作
  • 启动配置: bcdedit、bootrec、bcdboot修改
  • 关键流程: 强制终止winlogon、csrss、lsass等。
  • 关键服务: 停止基本Windows服务
  • 危险磁盘部件: 清理、选择磁盘0、格式化操作
  • 系统修改: 系统文件的文件属性/所有权更改

🟡 有条件允许

  • 设置命令格式: 允许在E:、F:和其他非系统驱动器上使用
  • 磁盘部件: 允许安全操作,阻止危险模式
  • 注册表操作: 关键路径上的写入/删除被阻止

安装

先决条件

  • Python 3.10或更新版本
  • 管理员权限(用于提升的操作)

设置

  1. 克隆存储库或将项目文件复制到您的计算机上。
  2. (可选)创建并激活虚拟环境:
   python -m venv .venv
   .\.venv\Scripts\activate
  1. 安装依赖项:
   pip install -r requirements.txt

或者,如果使用 pyproject.toml:

   pip install .

用法

启动服务器

以管理员权限运行MCP服务器以获得完整功能:

# Run as Administrator
python cmd_mcp.py

示例命令

系统信息

# Get comprehensive system info
mcp_shell_stream.start(command="hostname & whoami & systeminfo")

# Check DNS configuration  
mcp_shell_stream.start(command="netsh interface ip show dns")

# View network interfaces
mcp_shell_stream.start(command="netsh interface show interface")

安全行政操作

# Change DNS to Google DNS
mcp_shell_stream.start(command='netsh interface ip set dns "Ethernet" static 8.8.8.8')

# Restart computer
mcp_shell_stream.start(command="Restart-Computer", shell="powershell")

# Rename computer (requires restart)
mcp_shell_stream.start(command='Rename-Computer -NewName "NEW-PC" -Force', shell="powershell")

磁盘操作(非系统驱动器)

# Format external drive (E: allowed, C:/D: blocked)
mcp_shell_stream.start(command="format E: /fs:NTFS /q")

# Safe diskpart operations
mcp_shell_stream.start(command="diskpart")  # Opens diskpart console

安全性测试

# Test if a command would be blocked (without executing)
mcp_shell_stream.test_security(test_command="format C:")
# Returns: would_be_allowed: False, reason: "BLOCKED: Format command targeting protected drive C:"

mcp_shell_stream.test_security(test_command="format E:")  
# Returns: would_be_allowed: True, reason: "Command appears safe"

安全配置

受保护的驱动器

以下驱动器受到保护,无法进行格式化操作:

  • C -系统驱动
  • D -主数据驱动器

关键服务(无法停止)

  • winlogon、csrss、lsass(身份验证)
  • 服务,rpcss(核心Windows服务)
  • dhcp、dnscache(网络)
  • 事件日志、密码svc(系统/安全)

危险命令模式(已阻止)

  • 启动配置更改(bcdedit、bootrec)
  • Windows目录中的系统文件操作
  • 关键流程终止
  • 危险的磁盘部件操作(清洁,选择磁盘0)

api参考

可用工具

start(command, shell=None, cwd=None)

执行带有自动安全过滤的命令。

  • 退货: 会话信息或安全违规错误
  • 安全: 所有命令都经过预先筛选以确保安全

read(session_id, offset=0, max_bytes=65536)

读取正在运行的命令会话的输出。

  • 退货: 输出块和延续元数据

status(session_id)

获取命令会话的当前状态。

  • 退货: 运行状态、返回代码、时间戳

stop(session_id)

终止正在运行的命令会话。

  • 退货: 终止状态和记录信息

test_security(test_command)

在不执行的情况下,根据安全过滤器测试命令。

  • 退货: 安全评估和推理

配置文件

Claude桌面集成

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "shell-stream": {
      "command": "C:\\Users\\[username]\\.local\\bin\\uv.EXE",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "D:\\path\\to\\MCP_CMD\\cmd_mcp.py"
      ]
    }
  }
}

安全日志

服务器在以下位置维护安全日志:

  • 窗户: %TEMP%\\mcp-shell-security.log
  • 格式: [timestamp] ACTION: command - reason

日志条目示例:

[2025-09-08 15:30:45] APPROVED: hostname - Command appears safe
[2025-09-08 15:31:02] BLOCKED: format C: - BLOCKED: Format command targeting protected drive C:
[2025-09-08 15:31:15] APPROVED: Restart-Computer - Command appears safe

版本历史记录

v2.0.0(2025年9月8日)-安全增强

  • 增加了全面的安全过滤系统
  • 保护系统驱动器(C:、D:)免受格式化操作
  • 允许在外部驱动器上进行有条件的磁盘操作
  • 已实现智能磁盘部件过滤
  • 添加了安全测试工具(test_security)
  • 通过详细的命令分析增强审计日志记录
  • 记录所有安全限制并附上解释
  • 删除了重新启动/关闭命令块(现在允许)
  • 为格式化命令添加了特定于驱动器的保护

v1.0.0(原始)

  • 基本shell命令执行
  • 与跨平台支持
  • 会话管理
  • 实时输出流

警告和安全通知

  • 🔒 管理员权限: 完整功能需要以管理员身份运行
  • 🛡️ 安全筛选: 命令会自动过滤以确保安全
  • 📝 审计跟踪: 所有操作均已记录,以供安全审查
  • ⚠️ 职责: 执行前始终验证命令
  • 🚫 系统保护: 保护关键系统区域免受修改
  • 💾 数据安全: 保护主驱动器(C:、D:)不进行格式化

故障排除

常见问题

命令被安全阻止:

  • 使用 test_security("your_command") 了解原因
  • 检查命令是否影响受保护的驱动器或系统文件
  • 考虑阻塞操作的替代方法

拒绝权限:

  • 确保以管理员身份运行
  • 检查UAC设置
  • 验证用户是否具有必要的权限

网络操作失败:

  • 检查接口名称 netsh interface show interface
  • 验证DNS服务器地址
  • 确保网络适配器已启用

贡献

欢迎投稿!请确保任何修改都符合安全标准,并包括对危险操作的适当过滤。

许可证

MIT许可证

作者

原件: 但卡利根\ 安全增强版本: 增强了全面的安全功能(2025年9月)

______________________________________________________________________

*此MCP服务器提供强大的系统管理功能,内置安全措施,可防止意外系统损坏,同时保持管理功能。*

目录标签

目录标签

PythonClaude会话管理shell命令本地部署远程执行实时监控安全过滤跨平台

支持客户端

Claude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP