Token导航 LogoToken导航TokenDH.com
MCP Linux Infra logo
运维云端stdio官方级别未说明来源级核验

MCP Linux Infra

MCP Server

MCP Linux Infra 是一个生产就绪的基础设施管理工具,提供SSH密钥认证、智能分析和插件系统,适用于灾难恢复和自动化运维。

工具数

11

提示词数

0

GitHub Stars

0

资源数

0
基础设施管理PythonClaudeClaude

安装说明

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

作者 / 组织

mipsou

提供方

mipsou

最后核验

2026/5/17 20:21

运行时

Python

快速接入

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

命令预览

uv run mcp-linux-infra

详细介绍

MCP Linux基础设施-生产就绪基础设施管理

具有MCP和基于SSH密钥的身份验证的PRA(恢复计划)参考体系结构

版本:0.3.0-智能分析+自动学习+插件系统🧠🔌

安全架构

┌─────────────────────────────────────────────────────────────┐
│                      CLAUDE (IA)                            │
└────────────┬────────────────────────────────┬───────────────┘
             │                                │
             │ MCP tool-call                  │ propose action
             │ (observation)                  │
             ▼                                ▼
     ┌───────────────┐              ┌─────────────────┐
     │  MCP Server   │              │ VALIDATION      │
     │  (SSH client) │              │ HUMAINE         │
     └───────┬───────┘              └────────┬────────┘
             │                                │
             │ ssh -i mcp-reader.key          │ ssh -i pra-exec.key
             │ mcp-reader@target              │ pra-runner@target
             ▼                                ▼
     ┌─────────────────────────────────────────────────────┐
     │           LINUX TARGET (infra réelle)               │
     │                                                     │
     │  mcp-reader → read-only (diagnostics)              │
     │  pra-runner → exec contrôlé (actions PRA)          │
     └─────────────────────────────────────────────────────┘

安全原则

✅ 特权的严格分离

2计算SSH区别:

  • mcp-reader : 只读 (诊断、监测)
  • pra-runner : 执行 (经人类验证的PRA行动)

2个不同的SSH密钥:

  • mcp-reader.key :身份验证诊断
  • pra-exec.key :身份验证操作

2个置信水平:

  • MCP观察→无可能的行动
  • PRA执行→人工验证后

✅ 强制命令SSH

# authorized_keys avec command= force
command="/usr/local/bin/mcp-wrapper",no-pty,no-agent-forwarding ssh-ed25519 ...

结果:

  • 无法打开shell
  • 只有一个命令是可能的:包装器
  • 包装器中的严格白名单

✅ 审计跟踪完成

  • 所有记录的SSH调用(/var/log/auth.log)
  • 追踪PRA行动(/var/log/pra-exec.log)
  • MCP服务器中的结构化日志记录
  • 敏感参数的消毒

项目结构

mcp-linux-infra/
├── src/mcp_linux_infra/          # MCP Server (Python)
│   ├── server.py                  # Point d'entrée FastMCP (34 tools)
│   ├── config.py                  # Configuration centralisée
│   ├── audit.py                   # Logging structuré
│   ├── authorization/             # 🆕 Système d'autorisation
│   │   ├── engine.py              # Moteur d'autorisation
│   │   ├── models.py              # Modèles d'autorisation
│   │   └── whitelist.py           # Whitelist de commandes
│   ├── analysis/                  # 🆕 Smart Analysis & Learning
│   │   ├── command_analysis.py    # Analyse de sécurité
│   │   └── auto_learning.py       # Auto-apprentissage
│   ├── connection/
│   │   ├── ssh.py                 # SSH connection pooling
│   │   └── ansible.py             # Wrapper Ansible CLI
│   ├── tools/
│   │   ├── diagnostics/           # Read-only tools (SSH mcp-reader)
│   │   │   ├── system.py
│   │   │   ├── network.py
│   │   │   ├── services.py
│   │   │   └── logs.py
│   │   ├── pra/                   # Exec tools (SSH pra-runner)
│   │   │   ├── validation.py      # Validation humaine
│   │   │   ├── actions.py         # Actions PRA
│   │   │   └── idempotence.py     # Vérification idempotence
│   │   └── execution/             # 🆕 SSH Command Execution
│   │       ├── ssh_executor.py    # Exécuteur SSH autorisé
│   │       └── ansible_wrapper.py # Wrapper Ansible remote
│   └── utils/
│       ├── decorators.py          # Sécurité, logging
│       └── validation.py
│
├── system/                        # Scripts déployés sur targets
│   ├── wrappers/
│   │   ├── mcp-wrapper            # Whitelist read-only
│   │   └── pra-exec               # Whitelist actions PRA
│   ├── pra-run                    # Script exécuteur PRA
│   └── sudoers.d/
│       └── pra-runner             # Configuration sudo
│
├── ansible/                       # Déploiement automatisé
│   ├── playbooks/
│   │   ├── deploy-mcp-infra.yml   # Setup complet
│   │   └── rotate-keys.yml        # Rotation clés
│   └── roles/mcp_infra/
│       ├── tasks/
│       │   ├── main.yml
│       │   ├── users.yml          # Création comptes
│       │   ├── ssh.yml            # Config SSH
│       │   └── wrappers.yml       # Installation wrappers
│       ├── templates/
│       │   ├── authorized_keys.j2
│       │   ├── mcp-wrapper.j2
│       │   └── pra-exec.j2
│       └── files/
│           └── pra-run
│
├── docs/
│   ├── ARCHITECTURE.md            # Architecture détaillée
│   ├── SECURITY.md                # Modèle de sécurité
│   ├── PRA-PROCEDURES.md          # Procédures PRA
│   └── KEY-ROTATION.md            # Rotation des clés
│
├── keys/                          # Clés SSH (gitignored)
│   ├── mcp-reader.key             # Clé diagnostics
│   ├── mcp-reader.key.pub
│   ├── pra-exec.key               # Clé actions
│   └── pra-exec.key.pub
│
├── tests/
│   ├── test_security.py           # Tests sécurité
│   ├── test_wrappers.py           # Tests whitelist
│   └── test_idempotence.py        # Tests idempotence
│
├── pyproject.toml                 # Configuration projet
├── uv.lock                        # Lockfile dependencies
└── .env.example                   # Configuration exemple

安装速度快

1.生成SSH密钥

# Clé read-only (diagnostics)
ssh-keygen -t ed25519 -f keys/mcp-reader.key -C "mcp-reader@infra"

# Clé exec (PRA)
ssh-keygen -t ed25519 -f keys/pra-exec.key -C "pra-runner@infra"

2.目标部署

# Avec Ansible (recommandé)
cd ansible
ansible-playbook -i inventory/production.ini playbooks/deploy-mcp-infra.yml

# Ou script manuel
./scripts/deploy-manual.sh target.example.com

3.配置MCP服务器

# Installation dependencies
uv sync

# Configuration
cp .env.example .env
# Éditer .env avec vos paramètres

# Lancement
uv run mcp-linux-infra

4.在Claude桌面中注册

{
  "mcpServers": {
    "linux-infra": {
      "command": "uv",
      "args": [
        "--directory",
        "D:\\infra\\mcp-servers\\mcp-linux-infra",
        "run",
        "mcp-linux-infra"
      ],
      "env": {
        "LINUX_MCP_SSH_KEY_PATH": "D:\\infra\\mcp-servers\\mcp-linux-infra\\keys\\mcp-reader.key",
        "LINUX_MCP_PRA_KEY_PATH": "D:\\infra\\mcp-servers\\mcp-linux-infra\\keys\\pra-exec.key",
        "LINUX_MCP_LOG_LEVEL": "INFO"
      }
    }
  }
}

用法

诊断(自动,无需验证)

# Via MCP tools (read-only, SSH mcp-reader)
mcp.call_tool("diagnose_system", {
    "host": "web01.infra",
    "checks": ["services", "network", "disk"]
})

mcp.call_tool("get_service_status", {
    "host": "web01.infra",
    "service": "unbound"
})

mcp.call_tool("fetch_logs", {
    "host": "web01.infra",
    "service": "caddy",
    "lines": 100
})

PRA行动(要求验证腐殖质)

# 1. IA détecte un problème
status = mcp.call_tool("diagnose_system", {"host": "web01.infra"})
# Résultat: unbound service inactive

# 2. IA propose une action
proposed_action = {
    "action": "restart_unbound",
    "host": "web01.infra",
    "rationale": "Service unbound inactive, impact sur résolution DNS"
}

# 3. Validation humaine (via interface)
# User: APPROVE

# 4. Exécution via PRA (SSH pra-runner)
result = mcp.call_tool("execute_pra_action", {
    "host": "web01.infra",
    "action": "restart_unbound",
    "approval_token": "user_approved_xyz"
})

# 5. Vérification post-action
verification = mcp.call_tool("verify_service", {
    "host": "web01.infra",
    "service": "unbound"
})

安全

你赢了什么

严格分离 :诊断≠操作 ✅ 可追溯性 :审计跟踪完成 ✅ 快速撤销 :简单的键旋转 ✅ 零信任 :强制人工验证 ✅ 凭证回放 :非对称SSH密钥 ✅ 监狱SSH :强制命令+白名单 ✅ 兼容堡垒 :架构跳转主机就绪

可用的PRA操作

默认情况下,最小白名单(可扩展):

  • restart_unbound :重新启动DNS
  • reload_caddy :充值反向代理
  • flush_dns_cache :清除缓存DNS
  • restart_container :重新启动Podman容器
  • rotate_logs :旋转应用程序日志

添加操作:

  1. 添加到 system/pra-run (脚本)
  2. 添加到 system/wrappers/pra-exec (白名单)
  3. 测试器幂等性
  4. 使用Ansible部署

🆕 新功能(v0.2.0)

🧠 智能命令分析与自动学习

管理订单白名单的智能系统:

1.安全分析(analyze_command)

analyze_command(command="htop", host="coreos-11")

提供:

  • 风险评估(关键/高/中/低)
  • 自动分类
  • 行动建议(ADD_AUTO、ADD_MANUAL、BLOCK)
  • 与类似白名单订单的比较

2.自动学习(get_learning_suggestions)

get_learning_suggestions(min_count=5, min_age_hours=24)

系统自动学习:

  • 记录所有被阻止的命令
  • 识别重复模式
  • 建议添加白名单(仅限低风险订单)
  • 按使用频率排序

3.统计(get_learning_stats)

get_learning_stats()

仪表板组件:

  • 被阻止的订单总数
  • 按风险级别划分的崩溃
  • 十大最被阻止的订单
  • 使用指标

4.交互式工作流

当订单被阻止时,自动建议:

❌ COMMAND BLOCKED

Command: htop
Risk Level: LOW
Category: monitoring

💡 SUGGESTIONS:
  ✅ This command appears SAFE (read-only)
  → analyze_command("htop")
  → propose_pra_action(action="htop", host="...")

完整文档 : 命令-分析.md

______________________________________________________________________

🔌 插件系统(v0.3.0)

按家庭组织的订单

136+订单 分布在 8个插件 :

插件命令描述
📊 监控10htop、iotop、nethogs、眼神。..
🌐 网络14ping、curl、netstat、dig。..
📁 文件系统17ls,grep,猫,找到。..
⚙️ 系统化15systemctl,journalctl。..
🐳 容器19podman,docker(ps/logs/restart)。..
🔧 POSIX系统24uname、主机名、日期、密码。..
POSIX进程16ps,杀,不错,lsof。..
📝 POSIX文本21sed、awk、cut、sort、tr

新的MCP工具

# Lister tous les plugins
list_command_plugins()

# Détails d'un plugin avec exemples
get_plugin_details("monitoring")

# Chercher des commandes
search_commands("docker")
search_commands("process")

完整文档 : 塞子.md

______________________________________________________________________

路线图

  • \[x\] 建筑核心
  • \[x\] SSH连接池
  • \[x\] 工具诊断只读
  • \[x\]具有验证的PRA系统
  • \[x\]安全SSH包装器
  • \[x\]Ansible部署
  • \[x\]🆕 智能命令分析(v0.2.0)
  • \[x\]🆕 自动学习系统(v0.2.0)
  • \[x\] �� 命令授权引擎(v0.2.0)
  • \[x\]🔌 插件系统(v0.3.0)
  • \[x\]🔌 8个内置插件-136+个命令(v0.3.0)
  • \[x\]🔌 插件自动发现(v0.3.0)
  • \[x\]🔧 POSIX插件(系统、进程、文本)(v0.3.0)
  • \[\]插件Git命令
  • \[\]插件安全/审计
  • \[\]Kubernetes插件
  • \[\]堡垒/跳跃主机支持
  • \[\]全自动测试
  • \[\]监测MCP指标
  • \[\]与Vault集成(秘密)
  • \[\]仪表板验证PRA
  • \[\]多租户支持

许可证

麻省理工学院

支持

  • 文档: docs/
  • 问题:GitHub问题
  • 安全:VoIP SECURITY.md

目录标签

目录标签

基础设施管理PythonClaude本地部署SSH认证灾难恢复自动化运维智能分析

支持客户端

Claude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP