MCP挑战:“红色代码”DevOps助手
  
当生产失败时,随叫随到的工程师会惊慌失措。唯一重要的问题是 “发生了什么变化?”
“红色代码”助手是一个模型上下文协议(MCP)服务器,用于在几秒钟内回答该问题。它充当一个“智能上下文引擎”,通过将生产警报与导致警报的确切代码部署和功能标志相关联,找到“大海捞针”。
______________________________________________________________________
演示:之前与之后
查看项目价值的最简单方法是运行交互式Streamlit展示。它展示了由我们的MCP服务器驱动的“愚蠢”AI(之前)与“智能”AI(之后)。
如何运行演示:
- 终端1(后端): 启动MCP服务器。
# (Activate your venv first: source venv/bin/activate)
uvicorn main:app --reload- 2号航站楼(前端): 运行Streamlit展示。
# (Activate your venv first: source venv/bin/activate)
streamlit run showcase.py______________________________________________________________________
“智能上下文”核心
这个项目是评判标准的一个完美例子: 情境智能, 巧妙整合,以及 效率(信号与噪声).
问题(“愚蠢”的人工智能)
没有我们的服务器,人工智能在停机时是无用的。
- 查询: “为什么‘身份验证服务’失败了?”
- AI回应: “很抱歉,我无法访问您的实时系统状态或部署日志。”
解决方案(“智能”AI)
我们的MCP服务器拦截查询并执行其“智能上下文”检索:
- (推断上下文): 服务器的 关联引擎 推断用户需要 *原因* 的失败。
- (合并来源): 它从以下位置获取警报时间 数据狗,然后搜索 GitHub 和 暗启动 对于警报前15分钟内发生的任何事件。
- (巧妙整合): “魔法”是 相关性服务器找到警报与引发警报的特定部署之间的直接链接。
- (高信号上下文): 它组装了一个 高信号、低噪声 上下文包,过滤掉数千条不相关的日志,只提供关键信息。
然后,服务器将这个“上下文包”注入到提示符中,释放人工智能的真正潜力:
发送给AI的最终提示: AI回应: “'auth-service'的中断始于下午2:10。这与'jane.doe'的部署和功能标志切换直接相关。我建议调查该提交或回滚标志。”
______________________________________________________________________
技术栈
- 语言: python
- 后端: 快速API (适用于高速异步MCP服务器)
- 前端: 溪流 (用于互动展示)
- 服务器: Uvicorn
- 数据验证: 派丹蒂克
- HTTP客户端: httpx
- 数据源(API): GitHub (直播), 数据狗 (模拟), 暗启动 (模拟)
______________________________________________________________________
如何运行它(完整设置)
- 克隆存储库:
git clone
cd mcp-devops-server- 创建虚拟环境:
python3 -m venv venv
source venv/bin/activate- 安装依赖项:
pip3 install -r requirements.txt- 设置API密钥(可选):
该项目开箱即用 USE_MOCK=True 在 .env 文件。运行演示不需要密钥。
如果你想添加自己的密钥,请复制 .env.example 到 .env 并设置 USE_MOCK=False.
- 运行后端和前端:
- 终端1(后端): uvicorn main:app --reload - 2号航站楼(前端): streamlit run showcase.py
______________________________________________________________________
测试API端点(手动)
如果你想绕过UI并测试 curl 直接端点:
curl -X POST "[http://127.0.0.1:8000/analyze](http://127.0.0.1:8000/analyze)" \
-H "Content-Type: application/json" \
-d '{"query": "Why is 'auth-service' failing?"}'```