Azure诊断助手

ArcOps MCP是一个基于Model Context Protocol (MCP)和本地AI模型的Azure Local和AKS Arc部署诊断助手,提供自然语言故障排除功能。

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

使用说明

ArcOps MCP


⚠️ 项目状态:学习项目(已存档)

此存储库是一个个人学习/探索项目,不是生产就绪的软件。

我创建这个是为了探索:

  • 模型上下文协议(MCP)架构和模式
  • 基于Foundry Local的局部人工智能推理
  • Azure本地/AKS Arc诊断的工具编排
  • React+FastAPI全栈开发

Azure Local和AKS Arc的人工智能诊断助手 --由模型上下文协议(MCP)和本地AI模型提供支持。

ArcOps MCP提供了一个对话界面,用于排除Azure本地和AKS Arc部署的故障。用自然语言提问,并从微软官方工具中获得诊断见解。

🏗️ 建筑

查看交互图→ (在本地打开以播放动画)

✨ 特性

  • 🤖 AI聊天界面 --由本地SLM支持的自然语言故障排除
  • 🔧 MCP工具集成 --人工智能代理的标准化模型上下文协议
  • 📊 真实诊断 --包装微软官方工具(无虚假数据)
  • 🔍 TSG搜索 --通过搜索149个Azure本地故障排除指南 AzLocalTSG工具
  • 📦 离线功能 --所有AI模型都完全在您的机器上运行

🚀 快速开始

先决条件

  • Windows 10/11或Windows Server 2019+
  • Python 3.11+
  • 铸造厂本地 (用于AI聊天)
  • Node.js 18+(用于用户界面)

安装

# Clone the repository
git clone https://github.com/smitzlroy/arcops-mcp
cd arcops-mcp

# Create virtual environment and install
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e ".[dev]"

# Install PowerShell modules for diagnostics
Install-Module -Name AzStackHci.EnvironmentChecker -Force
Install-Module -Name AzLocalTSGTool -Force
Install-Module -Name Support.AksArc -Force

启动服务器

# Start MCP server
python -m cli server --port 8080

# Start Foundry Local with a model
foundry model run qwen2.5-0.5b

# Start the UI
cd ui && npm install && npm run dev

打开 http://localhost:5173 开始聊天吧!

一键开始

# Full setup and run (first time)
.\start.ps1

# Skip installation (already set up)
.\start.ps1 -SkipInstall

# Use a different model
.\start.ps1 -Model "phi-4-mini"

🔌 连接到IDE

ArcOps MCP可以与任何兼容MCP的客户端一起使用。

VS代码/GitHub副本

添加到 .vscode/mcp.json 在您的项目中:

{
  "mcpServers": {
    "arcops": {
      "command": "python",
      "args": ["-m", "cli", "server"],
      "cwd": "C:\\path\\to\\arcops-mcp"
    }
  }
}

克劳德桌面版

编辑 %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "arcops": {
      "command": "python",
      "args": ["-m", "cli", "server"],
      "cwd": "C:\\path\\to\\arcops-mcp"
    }
  }
}

光标IDE

添加到 .cursor/mcp.json 在您的项目中:

{
  "mcpServers": {
    "arcops": {
      "command": "python",
      "args": ["-m", "cli", "server"],
      "cwd": "C:\\path\\to\\arcops-mcp"
    }
  }
}

任何兼容OpenAI的客户端

from openai import OpenAI

client = OpenAI(
    base_url="http://127.0.0.1:8082/api",
    api_key="not-needed"
)

response = client.chat.completions.create(
    model="qwen2.5-0.5b",
    messages=[{"role": "user", "content": "Run environment check"}]
)

API终点

终点 目的
/mcp MCP协议(基于HTTP的stdio)
/api/chat OpenAI兼容的聊天完成
/api/tools 列出可用工具
/api/tools/{name}/run 执行特定工具

💬 用法示例

试着问:

  • “检查与Azure的连接”
  • “验证我的AKS Arc集群”
  • “我收到错误0x80004005”
  • “搜索群集验证问题”

🔧 MCP工具

工具 描述 后端
arc.connectivity.check Azure端点连接(52个以上端点) AzStackHci.EnvironmentChecker
arc.gateway.egress.check Arc网关TLS/代理验证 AzStackHci.EnvironmentChecker
azlocal.envcheck 全面环境验证 AzStackHci.EnvironmentChecker
azlocal.tsg.search 搜索149个故障排除指南 AzLocalTSGTool
aks.arc.validate AKS Arc群集运行状况检查 az connectedk8s + kubectl
aksarc.support.diagnose 已知问题检测 Support.AksArc
aksarc.logs.collect 收集日志以获取支持 Support.AksArc
arcops.diagnostics.bundle 创建支持包 本地打包
azlocal.educational Azure本地概念和学习 内置

🤖 支持的型号

ArcOps可与任何与OpenAI兼容的API配合使用。通过以下方式推荐当地车型 铸造厂本地:

型号 尺寸 工具调用
qwen2.5-0.5b 520 MB ✅ 太好了
qwen2.5-1.5b 1.25 GB ✅ 太好了
phi-4-mini 3.6 GB ✅ 很好

🔒 隐私和安全

  • 所有AI都在本地运行 --没有数据发送到外部API
  • 无遥测 --您的数据保留在您的计算机上
  • 干运行模式 --无需实际操作即可进行安全测试

📚 文档

📄 许可证

MIT许可证——见 许可证


🎓 这个项目教会了我什么

领域 技术/概念
MCP协议 工具定义、stdio传输、JSON-RPC
本地AI Foundry本地、SLM、工具调用、OpenAI API兼容性
python FastAPI、异步/等待、Pydantic、pytest
前端 React、TypeScript、Vite、顺风CSS
开发运维 PowerShell自动化、VS代码任务、GitHub工作流
建筑 何时不添加抽象层

关键要点: 并非所有问题都需要AI层。有时,编写良好的脚本比LLM驱动的工具路由器更有价值。


作为一个学习项目而构建 --探索 模型上下文协议 和 铸造厂本地