使用 Azure OpenAI + MCP 构建的云端代码处理系统,支持代码执行、分析、优化和修复。
- ✅ 执行 Python 代码 - 在云端安全执行代码
- 📊 代码分析 - AI 检测性能和安全问题
- 🔧 自动修复 - 根据错误信息修复 bug
- ⚡ 性能优化 - AI 建议代码优化方案
- 🚀 云端部署 - 部署在 Azure App Service
- 🔄 自动部署 - GitHub Actions 持续集成
# 克隆仓库
git clone https://github.com/YOUR_USERNAME/azure-mcp-code-processor.git
cd azure-mcp-code-processor
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate # Mac/Linux
# 或 venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 配置环境变量
cp .env.example .env
# 编辑 .env,填入 Azure OpenAI 的 API 密钥和端点
# 运行服务器
python3 server.py访问 http://localhost:8000/docs 查看 API 文档。
az login
az group create --name code-processor-rg --location eastasiaaz appservice plan create \
--name code-processor-plan \
--resource-group code-processor-rg \
--sku F1 \
--is-linuxaz webapp create \
--resource-group code-processor-rg \
--plan code-processor-plan \
--name code-processor-app \
--runtime "PYTHON:3.11"az webapp config set \
--resource-group code-processor-rg \
--name code-processor-app \
--startup-file "gunicorn --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000 -w 2 server:fastapi_app"az webapp config appsettings set \
--resource-group code-processor-rg \
--name code-processor-app \
--settings AZURE_OPENAI_API_KEY="your-key" \
AZURE_OPENAI_ENDPOINT="your-endpoint" \
AZURE_OPENAI_MODEL="gpt-4o-mini"# 获取发布配置
az webapp deployment list-publishing-credentials \
--name code-processor-app \
--resource-group code-processor-rg
# 部署代码
git push azure main-
获取发布配置文件:
az webapp deployment list-publishing-credentials \ --name code-processor-app \ --resource-group code-processor-rg \ --query "{url:publishingProfileUrl}" \ --output tsv -
在 GitHub 添加 Secret:
- 去往仓库 Settings → Secrets and variables → Actions
- 新建 Secret
AZURE_WEBAPP_PUBLISH_PROFILE - 粘贴发布配置的 XML 内容
-
自动部署:
- 每次推送到
main分支时自动部署
- 每次推送到
curl -X POST https://code-processor-app.azurewebsites.net/process \
-H "Content-Type: application/json" \
-d '{
"action": "execute",
"code": "print(\"Hello Azure!\")"
}'curl -X POST https://code-processor-app.azurewebsites.net/process \
-H "Content-Type: application/json" \
-d '{
"action": "analyze",
"code": "def fib(n):\n if n < 2:\n return n\n return fib(n-1) + fib(n-2)"
}'curl -X POST https://code-processor-app.azurewebsites.net/process \
-H "Content-Type: application/json" \
-d '{
"action": "fix",
"code": "x = 1 / 0",
"error_message": "ZeroDivisionError: division by zero"
}'curl -X POST https://code-processor-app.azurewebsites.net/process \
-H "Content-Type: application/json" \
-d '{
"action": "optimize",
"code": "result = []\nfor i in range(1000):\n result = result + [i]"
}'azure-mcp-code-processor/
├── server.py # FastAPI 主应用
├── requirements.txt # Python 依赖
├── .env.example # 环境变量示例
├── .gitignore # Git 忽略文件
├── README.md # 本项目文档
└── .github/workflows/
└── deploy.yml # GitHub Actions 部署工作流
创建 .env 文件:
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
AZURE_OPENAI_API_KEY=your-api-key
AZURE_OPENAI_MODEL=gpt-4o-mini
- API 密钥存储在 Azure 密钥保管库(推荐)
- 环境变量不上传到 GitHub
- 代码执行有超时限制(10 秒)
- 支持 HTTPS 连接
检查日志:
az webapp log tail --name code-processor-app --resource-group code-processor-rg验证凭证:
az account show修改 server.py 中的 timeout 参数。
- App Service F1 免费计划:学生免费
- Azure OpenAI API:按使用量计费(学生有初期额度)
- 总体成本:学生通常零成本
欢迎提交 Issue 和 Pull Request!
MIT License