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

Dev Ops MCP Python

MCP Server

DevOpsMCP是一个基于FastAPI和Python的生产级MCP API服务,专注于DevOps分析、错误跟踪和自动化工作流程,适用于云原生数据存储与分析的场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Python云原生云端部署

安装说明

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

作者 / 组织

MichalLeviAman

提供方

MichalLeviAman

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

python -m venv venv

详细介绍

DevOpsMCP-模型上下文协议API

DevOpsMCP 是一种可用于生产的MCP(模型上下文协议)API服务,使用 快速APIpython,专为DevOps分析、错误跟踪和自动化工作流程而设计。它与 Azure SQL数据库 用于云原生数据存储。

🚀 特性

  • FastAPI框架 -高性能异步API
  • Azure SQL数据库 -云原生数据库集成
  • 模块化架构 -清晰地分离关注点
  • OpenAPI文档 -自动生成的API文档
  • MCP合规性 -完整的模型上下文协议支持
  • Docker就绪 -集装箱化部署
  • 生产就绪 -错误处理、日志记录和验证

📋 当前操作

1.GetBugFixTrends

端点: POST /api/bugs/get_bug_fix_trends

分析指定时间段内的错误修复趋势。

输入:

  • days_back (整数,默认值:10)-要分析的天数
  • project_id (字符串,可选)-按项目ID筛选

输出:

  • 已修复的错误总数
  • 每日汇总明细
  • 用于可视化的趋势图数据
  • SQL查询详细信息
  • 期间开始/结束日期

🛠️ 技术栈

  • Python 3.11
  • 快速API -现代web框架
  • 派丹蒂克 -数据验证
  • pyodbc -Azure SQL连接
  • 乌维科恩 -ASGI服务器
  • 码头工人 -集装箱化

📦 项目结构

DevOpsMCP/
├── app/
│   ├── __init__.py
│   ├── main.py              # FastAPI application entry point
│   ├── config.py            # Configuration management
│   ├── database.py          # Database connection management
│   ├── models/
│   │   ├── __init__.py
│   │   └── bug.py           # Bug database models
│   ├── routers/
│   │   ├── __init__.py
│   │   └── bugs.py          # Bug-related endpoints
│   ├── schemas/
│   │   ├── __init__.py
│   │   └── bug_schemas.py   # Request/response schemas
│   └── services/
│       ├── __init__.py
│       └── bug_service.py   # Business logic layer
├── tests/
│   ├── __init__.py
│   └── test_bugs.py         # Unit tests
├── .env.example             # Environment variables template
├── .gitignore
├── Dockerfile               # Docker configuration
├── requirements.txt         # Python dependencies
├── schema.sql              # Database schema
├── mcp.json                # MCP configuration
└── README.md

🔧 本地设置

先决条件

  • Python 3.11或更高版本
  • Azure SQL数据库实例
  • SQL Server的ODBC驱动程序18

安装步骤

  1. 克隆或下载项目:
cd C:\DevOpsMCP
  1. 创建虚拟环境:
python -m venv venv
.\venv\Scripts\Activate.ps1
  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置环境变量:
cp .env.example .env

编辑 .env 使用您的Azure SQL凭据:

DB_HOST=your-server.database.windows.net
DB_NAME=your-database-name
DB_USER=your-username
DB_PASS=your-password
DB_PORT=1433
  1. 设置数据库架构:

连接到Azure SQL数据库并运行:

# Using Azure Data Studio or SQL Server Management Studio
# Execute the contents of schema.sql

或者使用sqlcmd:

sqlcmd -S your-server.database.windows.net -d your-database-name -U your-username -P your-password -i schema.sql
  1. 运行应用程序:
python -m app.main

或者直接使用uvicorn:

uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
  1. 访问API:
  • APIhttp://localhost:8000
  • Swagger文档:http://localhost:8000/docs
  • 重新记录:http://localhost:8000/redoc
  • OpenAPI JSON:http://localhost:8000/openapi.json

🐳 Docker部署

构建Docker镜像

docker build -t devopsmcp:latest .

运行容器

docker run -d `
  --name devopsmcp `
  -p 8000:8000 `
  -e DB_HOST=your-server.database.windows.net `
  -e DB_NAME=your-database-name `
  -e DB_USER=your-username `
  -e DB_PASS=your-password `
  -e DB_PORT=1433 `
  devopsmcp:latest

Docker编写(可选)

创建 docker-compose.yml:

version: "3.8"

services:
  api:
    build: .
    ports:
      - "8000:8000"
    env_file:
      - .env
    restart: unless-stopped

运行:

docker-compose up -d

☁️ Azure部署

选项1:Azure应用服务

  1. 创建应用服务:
az webapp create `
  --resource-group your-rg `
  --plan your-plan `
  --name devopsmcp `
  --runtime "PYTHON:3.11"
  1. 配置环境变量:
az webapp config appsettings set `
  --resource-group your-rg `
  --name devopsmcp `
  --settings `
    DB_HOST=your-server.database.windows.net `
    DB_NAME=your-database-name `
    DB_USER=your-username `
    DB_PASS=your-password
  1. 部署代码:
az webapp up --name devopsmcp

选项2:Azure容器实例

  1. 构建映像并将其推送到Azure容器注册表:
az acr build `
  --registry your-acr `
  --image devopsmcp:latest `
  --file Dockerfile .
  1. 部署容器:
az container create `
  --resource-group your-rg `
  --name devopsmcp `
  --image your-acr.azurecr.io/devopsmcp:latest `
  --cpu 1 `
  --memory 1 `
  --ports 8000 `
  --environment-variables `
    DB_HOST=your-server.database.windows.net `
    DB_NAME=your-database-name

选项3:Azure Kubernetes服务(AKS)

创建Kubernetes清单并使用 kubectl.

🌐 公开曝光选项

选项1:ngrok(开发/测试)

  1. 安装ngrok:
choco install ngrok
  1. 暴露本地服务器:
ngrok http 8000
  1. 更新 mcp.json 使用ngrok URL:
{
  "url": "https://your-subdomain.ngrok.io/openapi.json"
}

选项2:Azure应用服务(生产)

您的应用服务将有一个公共URL:

https://devopsmcp.azurewebsites.net

更新 mcp.json:

{
  "url": "https://devopsmcp.azurewebsites.net/openapi.json"
}

选项3:自定义域

在Azure中配置自定义域并更新DNS设置。

🔌 ChatGPT MCP连接器设置

步骤1:确保API可公开访问

您的API必须可以通过公共URL(ngrok、Azure等)访问

步骤2:更新mcp.json

确保 mcp.json 包含正确的公共URL:

{
  "name": "DevOpsMCP",
  "version": "1.0.1",
  "type": "openapi",
  "url": "https://your-public-url/openapi.json",
  "actions": [
    {
      "name": "get_bug_fix_trends",
      "endpoint": "/api/bugs/get_bug_fix_trends",
      "method": "POST"
    }
  ]
}

步骤3:在ChatGPT中配置

  1. 打开ChatGPT
  2. 转到“设置”→ Beta功能
  3. 启用“MCP连接器”(如果可用)
  4. 添加新的MCP连接:

- 姓名: DevOpsMCP - 类型: 开放API - 网址: https://your-public-url/openapi.json - 环境变量: 从配置 .env 价值观

步骤4:测试连接

在ChatGPT中,尝试:

"Use DevOpsMCP to get bug fix trends for the last 14 days"

ChatGPT应调用 get_bug_fix_trends 操作并返回结果。

🧪 测试

运行单元测试

pytest tests/ -v

跑步有保障

pytest tests/ --cov=app --cov-report=html

API测试手册

使用curl:

curl -X POST http://localhost:8000/api/bugs/get_bug_fix_trends `
  -H "Content-Type: application/json" `
  -d '{"days_back": 14, "project_id": "PROJ001"}'

使用PowerShell:

$body = @{
    days_back = 14
    project_id = "PROJ001"
} | ConvertTo-Json

Invoke-RestMethod -Uri http://localhost:8000/api/bugs/get_bug_fix_trends `
  -Method POST `
  -Body $body `
  -ContentType "application/json"

📊 示例数据库数据

若要使用示例数据测试API,请运行以下SQL:

INSERT INTO Bugs (Title, ProjectId, CreatedAt, ClosedAt, Status)
VALUES
    ('Login page crash', 'PROJ001', DATEADD(DAY, -15, GETDATE()), DATEADD(DAY, -10, GETDATE()), 'Closed'),
    ('API timeout error', 'PROJ001', DATEADD(DAY, -12, GETDATE()), DATEADD(DAY, -8, GETDATE()), 'Closed'),
    ('UI alignment issue', 'PROJ001', DATEADD(DAY, -9, GETDATE()), DATEADD(DAY, -5, GETDATE()), 'Closed'),
    ('Database connection', 'PROJ002', DATEADD(DAY, -7, GETDATE()), DATEADD(DAY, -3, GETDATE()), 'Closed'),
    ('Memory leak', 'PROJ001', DATEADD(DAY, -5, GETDATE()), DATEADD(DAY, -2, GETDATE()), 'Closed'),
    ('Security vulnerability', 'PROJ001', DATEADD(DAY, -3, GETDATE()), DATEADD(DAY, -1, GETDATE()), 'Closed'),
    ('Performance degradation', 'PROJ002', DATEADD(DAY, -2, GETDATE()), NULL, 'Open');

📝 API验证检查表

  • \[\]API可通过公共URL访问
  • \[ \] /openapi.json 返回有效的OpenAPI架构
  • \[ \] /docs 显示Swagger用户界面
  • \[\]数据库连接成功
  • \[\]职位 /api/bugs/get_bug_fix_trends 返回数据
  • \[ \] mcp.json 已正确配置
  • \[\]已设置环境变量
  • \[\]ChatGPT可以连接到MCP端点

🔒 安全考虑

  • 永不承诺 .env 文件 -使用 .env.example 作为模板
  • 使用Azure密钥库 -在生产中安全地存储机密
  • 启用SSL/TLS -在生产环境中始终使用HTTPS
  • 限制CORS来源 -不要使用 allow_origins=["*"] 生产中
  • 使用托管身份 -用于Azure服务身份验证
  • 启用SQL防火墙规则 -限制数据库访问

📚 额外资源

🤝 贡献

未来的增强功能:

  • 其他错误分析端点
  • 与Azure DevOps API集成
  • 实时bug跟踪webhooks
  • 认证和授权
  • 速率限制
  • 缓存层

📄 许可证

MIT许可证-可根据需要自由使用和修改。

👤 作者

DevOpsMCP开发团队

______________________________________________________________________

版本: 1.0.1\ 最后更新时间: 2025年11月20日

目录标签

目录标签

Python云原生云端部署DevOps分析本地部署错误跟踪自动化工作流程FastAPI

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP