DevOps AI助手

一个使用LLM和模型上下文协议(MCP)编排Jira、GitHub和Slack操作的自然语言接口DevOps自动化工具。

  • by PixelAndSyntax
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 PixelAndSyntax/mcp-demo

使用说明

带有模型上下文协议的DevOps AI助手

一个利用大型语言模型(LLMs)和模型上下文协议(MCP)来协调Jira、GitHub和Slack操作的DevOps自动化自然语言接口。

什么是模型上下文协议?

模型上下文协议(MCP)是一种标准化接口,使人工智能模型能够以一致的方式与外部工具和服务进行交互。主要优势:

  • 抽象工具通过统一的协议暴露其功能,使得人工智能模型能够轻松地利用这些功能
  • 可组合性将多个工具调用链接成复杂的工作流程
  • 安全内置验证、速率限制和访问控制
  • 可扩展性在保持相同界面的同时,易于添加新工具
  • 可观测性在所有工具交互中进行标准的日志记录和监控

它是如何工作的

这个项目展示了一个完整的用于DevOps自动化的AI助手:

  1. 自然语言理解

    • 用户提交用简单英语表述的请求
    • GPT将其转换为工具调用的结构化计划
    • 每一步都包括工具名称、操作、参数以及解释性注释
  2. MCP执行

    • 计划通过MCP服务器逐步执行
    • 每台服务器负责处理特定的工具(Jira/GitHub/Slack)
    • 结果收集包含成功/失败状态
  3. 结果总结

    • GPT分析执行结果
    • 生成易于人类理解的摘要
    • 突出关键成果及任何错误

设置说明

  1. 克隆并配置

    # Clone repository
    git clone https://github.com/your-org/mcp-demo
    cd mcp-demo
    
    # Copy and edit environment variables
    cp backend/app/.env.example backend/app/.env
    
  2. 配置环境 编辑 backend/app/.env:

    # OpenAI API key for GPT model access
    OPENAI_API_KEY=your_openai_api_key_here
    
    # Jira MCP Server
    JIRA_MCP_ENDPOINT=https://mcp.example.com/jira
    JIRA_MCP_TOKEN=your_jira_mcp_token_here
    
    # GitHub MCP Server
    GITHUB_MCP_ENDPOINT=https://mcp.example.com/github
    GITHUB_MCP_TOKEN=your_github_mcp_token_here
    
    # Slack MCP Server
    SLACK_MCP_ENDPOINT=https://mcp.example.com/slack
    SLACK_MCP_TOKEN=your_slack_mcp_token_here
    
  3. 使用 Docker 运行

    docker-compose up --build
    
  4. 访问用户界面

    • 前端:http://localhost:5173
    • 后端API:http://localhost:8000

示例提示

  1. 跨工具状态报告

    Prompt: "Summarize high-priority Jira issues and merged GitHub PRs; post to #devops."
    
    Result:
    - Fetches high-priority Jira issues
    - Lists recently merged PRs
    - Posts formatted summary to Slack
    
  2. GitHub活动报告

    Prompt: "List merged PRs since last week."
    
    Result:
    - Retrieves PRs merged in last 7 days
    - Formats as markdown report
    
  3. 自动化任务创建

    Prompt: "Create Jira tickets for PRs with TODO comments."
    
    Result:
    - Scans merged code for TODOs
    - Creates Jira tasks
    - Notifies team on Slack
    

见 `demo_prompts.json` 翻译为中文是:“演示提示词.json” 如需更多带有详细计划的示例。

演示要点

  1. 自然语言的力量

    • 展示如何用通俗易懂的英语表达复杂的流程
    • 突出计划生成与智能参数选择
    • 展示错误处理和恢复机制
  2. 工具集成

    • 解释MCP服务器架构
    • 展示工具是如何被抽象和组合的
    • 讨论安全与访问控制
  3. 开发者体验

    • 演示计划审批的审核工作流程
    • 显示实时更新和错误报告
    • 强调与手动操作相比所节省的时间
  4. 建筑优势

    • 解释MCP如何实现工具独立性
    • 讨论扩展和监控能力
    • 展示如何添加新工具和操作
  5. 实际影响

    • 分享节省时间的指标
    • 探讨减少人为错误的方法
    • 展示自动化复杂工作流程的示例

贡献;做出贡献

看 CONTRIBUTING.md 翻译为中文是:“贡献指南.md” 或 “贡献规范.md”(具体翻译可能根据上下文略有调整,但基本意思是文件名表示的是关于如何贡献或参与项目的指南或规范) 用于开发设置和指南。

许可证

此项目遵循MIT许可证授权 - 详见 许可证 详情请见。