基础设施管理MCP服务器

一套用于管理多种基础设施组件的Model Context Protocol (MCP)服务器集合,支持AI助手通过标准化MCP接口直接交互和管理基础设施。

  • by filthyrake
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 filthyrake/damens_mcps

使用说明

Damen的MCP服务器集合🚀

注: 这些MCP服务器是使用 光标 AI工具。虽然功能正常,但它们可能会从生产使用的人工审查和改进中受益。

用于管理各种基础设施组件的模型上下文协议(MCP)服务器的综合集合。这些服务器使AI助手能够通过标准化的MCP接口直接与您的基础设施进行交互和管理。

📋 项目概述

此存储库包含以下平台的MCP服务器:

项目 状态 描述
pfSense MCP ✅ 生产就绪 pfSense的防火墙和网络管理
TrueNAS MCP ✅ 生产就绪 TrueNAS的存储和NAS管理
iDRAC MCP ✅ 生产就绪 通过iDRAC管理Dell PowerEdge服务器
Proxmox MCP ✅ 生产就绪 Proxmox VE的虚拟化平台管理

🚀 快速开始

先决条件

  • Python 3.8+ 对于所有项目
  • 码头工人 (可选,用于容器化部署)
  • 网络接入 到您的目标系统
  • API证书 对于每个平台

安装和设置

  1. 克隆存储库:

    git clone <your-repo-url>
    cd damens_mcps
    
  2. 选择你的项目 并导航到它:

    cd pfsense-mcp    # For pfSense management
    cd truenas-mcp    # For TrueNAS management
    cd idrac-mcp      # For Dell server management (production ready)
    cd proxmox-mcp    # For Proxmox management (production ready)
    
  3. 设置虚拟环境:

    python3 -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    pip install -r requirements.txt
    
  4. 配置环境:

    cp env.example .env
    # Edit .env with your system credentials
    
  5. 启动服务器:

    # Method varies by project - check individual READMEs
    python -m src.http_server
    # or
    python -m src.cli serve
    

🔧 配置

环境变量

每个项目都使用环境变量进行配置。复制 env.example 文件到 .env 并使用您的设置进行更新:

# Example for pfSense
PFSENSE_HOST=192.168.1.1
PFSENSE_USERNAME=admin
PFSENSE_PASSWORD=your-password
PFSENSE_API_KEY=your-api-key

# Example for TrueNAS
TRUENAS_HOST=192.168.1.100
TRUENAS_API_KEY=your-api-key
TRUENAS_USERNAME=admin
TRUENAS_PASSWORD=your-password

安全说明

⚠️ 重要安全注意事项:

  • 更改默认密码 生产中
  • 使用API密钥 尽可能使用密码
  • 更新IP地址 根据示例值
  • 使用HTTPS 对于所有连接
  • 限制网络访问 到MCP服务器

🐳 Docker部署

Docker部署可用于 TrueNAS MCP 和 Proxmox MCP 项目:

# Navigate to project with Docker support
cd truenas-mcp  # or proxmox-mcp

# Build and run with Docker Compose
docker-compose -f docker/docker-compose.yml up -d

# Or build manually
docker build -f docker/Dockerfile -t mcp-server .
docker run -p 8000:8000 --env-file .env mcp-server

Docker项目支持:

项目 Docker支持 K8s支持
TrueNAS MCP ✅ 是 ✅ 是的
Proxmox MCP ✅ 是 ✅ 是的
pfSense MCP ❌ 否 ❌ 没有
iDRAC MCP ❌ 否 ❌ 没有

注: pfSense和iDRAC项目因其特定的部署要求而设计为直接执行Python,目前尚未容器化。

☸️ Kubernetes部署

Kubernetes清单是为 TrueNAS MCP 和 Proxmox MCP:

# Navigate to project with K8s support
cd truenas-mcp  # or proxmox-mcp

# Deploy to Kubernetes
kubectl apply -f k8s/

# Check deployment status
kubectl get pods -l app=mcp-server

📊 监测和健康检查

每台服务器都提供健康检查端点:

# Check server health
curl http://localhost:8000/health

# Get server status
curl http://localhost:8000/status

🔍 测试

测试覆盖状态

现在,所有项目都拥有具有CI/CD自动化的全面测试基础设施:

项目 测试 覆盖范围 状态
pfSense 14+ 6%(49%验证) ✅ 路过
TrueNAS 20+ 框架就绪 ✅ 准备好了
iDRAC 11+ 15%(91%验证) ✅ 路过
Proxmox 18+ 11%(72%验证) ✅ 路过

运行测试

# Navigate to any project
cd <project-name>

# Install test dependencies
pip install pytest pytest-cov pytest-asyncio pytest-mock

# Run all tests
pytest tests/ -v

# Run with coverage report
pytest tests/ --cov=src --cov-report=html

# Run specific test file
pytest tests/test_validation.py -v

代码质量检查

在本地对所有项目运行代码质量检查:

# Run all quality checks (black, isort, flake8, mypy, bandit, safety, interrogate)
./run_code_quality_checks.sh

看 代码_质量.md 详细的代码质量标准和工具。

CI/CD

通过GitHub Actions对每个推送和拉取请求运行自动检查:

  • ✅ 所有4个项目均已独立测试
  • ✅ 覆盖率报告已上传至Codecov
  • ✅ Python 3.12兼容性已验证
  • ✅ 代码质量检查(linting、格式化、安全性、类型检查)

看 测试.md 获取详细的测试指南和 测试_验证_ SUMMARY.md 有关覆盖范围的详细信息。

集成测试

# Test with actual system (requires configuration)
python examples/basic_usage.py

📚 文档

每个项目都有详细的文件:

  • 个人自述 在每个项目目录中
  • CLAUDE.md -AI助手集成的开发指南和架构概述
  • 代码_质量.md -代码质量标准和工具文档
  • API文档 在 docs/ 文件夹
  • 示例脚本 在 examples/ 目录
  • 部署指南 适用于Docker和Kubernetes

🛠️ 发展

项目结构

project-name/
├── src/                    # Source code
│   ├── auth.py            # Authentication
│   ├── client.py          # API client
│   ├── server.py          # MCP server
│   └── utils/             # Utilities
├── tests/                 # Test files
├── examples/              # Example usage
├── docker/                # Docker files
├── k8s/                   # Kubernetes manifests
├── docs/                  # Documentation
├── requirements.txt       # Python dependencies
├── env.example           # Environment template
└── README.md             # Project documentation

添加新功能

  1. 更新源代码 在 src/
  2. 添加测试 在 tests/
  3. 更新文档 在 docs/
  4. 彻底测试 部署前

🚨 重要说明

✅ 生产就绪项目

此集合中的所有MCP服务器现在 生产就绪 并且已经过彻底的测试:

  • pfSense MCP -防火墙和网络管理
  • TrueNAS MCP -存储和NAS管理
  • iDRAC MCP -Dell PowerEdge服务器管理
  • Proxmox MCP -虚拟化平台管理

这些服务器已经过真实系统的测试,包括全面的错误处理、输入验证和安全功能。

🔒 安全

  • 永不承诺 .env 文件或凭据
  • 使用强密码 和API密钥
  • 限制网络访问 适当地
  • 监控日志 可疑活动
  • 保持依赖关系更新

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加测试 对于新功能
  5. 更新文档
  6. 提交拉取请求

📄 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🆘 支持

  • 问题:为bug或功能请求创建GitHub问题
  • 文档:查看单个项目的自述文件
  • 例子:评论 examples/ 使用模式目录

🔗 相关链接


快乐的基础设施管理! 🎉