🚀 阿里雲操作 MCP 服務器
這是一個用於 Amazon Q CLI 的阿里雲操作 MCP 服務器,支持 ECS、VPC、RDS、OSS、CloudMonitor、OOS 等服務。藉助該服務器,可更便捷地對阿里雲相關服務進行操作與管理。
English | 中文
🚀 快速開始
1. 安裝 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
pip install uv
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
2. 克隆項目
git clone https://github.com/your-username/alicloud-ops-mcp.git
cd alicloud-ops-mcp
3. 一鍵安裝
./install.sh
uv sync
cp .env.example .env
4. 配置環境變量
編輯 .env 文件:
ALIBABA_CLOUD_ACCESS_KEY_ID="your_access_key_id"
ALIBABA_CLOUD_ACCESS_KEY_SECRET="your_access_key_secret"
ALIBABA_CLOUD_REGION="cn-beijing"
5. 驗證安裝
uv run python verify_setup.py
uv run python complete_fastmcp_server.py
如果看到 "Server is ready to accept connections." 說明安裝成功。
✨ 主要特性
- 支持 Amazon Q CLI,可通過該 CLI 便捷操作。
- 支持阿里雲 ECS、VPC、RDS、OSS、CloudMonitor、OOS 等多種服務。
📦 安裝指南
系統要求
- Python 3.10+ (通過 uv 自動管理)
- uv - Python 包和項目管理器
- 阿里雲訪問憑證
💻 使用示例
基礎用法
在完成上述安裝和配置後,可通過以下命令啟動服務器:
uv run python complete_fastmcp_server.py
高級用法
在 ~/.aws/amazonq/mcp.json 中添加以下配置:
{
"mcpServers": {
"alibaba-cloud-ops-mcp-server": {
"timeout": 30000,
"command": "uv",
"args": [
"--directory",
"/絕對路徑/to/alicloud-ops-mcp",
"run",
"python",
"complete_fastmcp_server.py"
],
"env": {
"PYTHONUNBUFFERED": "1"
},
"disabled": false,
"autoApprove": []
}
}
}
⚠️ 重要提示
將 /絕對路徑/to/alicloud-ops-mcp 替換為項目的實際絕對路徑。
配置示例
假設項目位於 /home/user/alicloud-ops-mcp:
{
"mcpServers": {
"alibaba-cloud-ops-mcp-server": {
"timeout": 30000,
"command": "uv",
"args": [
"--directory",
"/home/user/alicloud-ops-mcp",
"run",
"python",
"complete_fastmcp_server.py"
],
"env": {
"PYTHONUNBUFFERED": "1"
},
"disabled": false,
"autoApprove": []
}
}
}
📚 詳細文檔
支持的服務
| 屬性 |
詳情 |
| 支持服務 |
ECS(雲服務器管理、實例操作、鏡像管理)、VPC(虛擬私有云、網絡配置、安全組)、RDS(關係型數據庫管理、備份恢復)、OSS(對象存儲、文件上傳下載)、CloudMonitor(雲監控、告警管理、指標查詢)、OOS(運維編排、自動化任務) |
開發說明
項目結構
alicloud-ops-mcp/
├── pyproject.toml # 項目配置和依賴
├── requirements.txt # 依賴列表(兼容性)
├── complete_fastmcp_server.py # 主服務器文件
├── alibaba_cloud_ops_mcp_server/
│ ├── __init__.py
│ ├── __main__.py
│ ├── server.py # 服務器核心邏輯
│ ├── config.py # 配置管理
│ └── tools/ # 各服務工具
│ ├── __init__.py
│ ├── api_tools.py # 通用 API 工具
│ ├── cms_tools.py # CloudMonitor 工具
│ ├── common_api_tools.py # 公共 API 工具
│ ├── oos_tools.py # OOS 工具
│ └── oss_tools.py # OSS 工具
├── .env.example # 環境變量模板
├── .env # 環境變量(需要創建)
├── install.sh # 安裝腳本
├── verify_setup.py # 驗證腳本
├── README.md # 中文文檔
├── README_EN.md # 英文文檔
└── LICENSE
使用 uv 進行開發
uv sync --dev
uv run pytest
uv run python complete_fastmcp_server.py
uv add package-name
uv add --dev package-name
uv sync --upgrade
uv tree
Python 版本管理
項目在 pyproject.toml 中指定了 Python 版本要求:
requires-python = ">=3.10"
uv 會自動:
- 檢測並安裝合適的 Python 版本
- 創建隔離的虛擬環境
- 管理所有依賴關係
- 確保跨平臺兼容性
故障排除
常見問題
1. Permission denied (os error 13)
原因:配置錯誤或權限問題
解決方案:
uv run python complete_fastmcp_server.py
pwd
chmod +x complete_fastmcp_server.py
2. Python 版本不兼容
錯誤信息:Could not find a version that satisfies the requirement fastmcp>=2.8.0
解決方案:
uv sync
uv clean
uv sync
3. 依賴安裝失敗
解決方案:
uv clean
uv sync
uv sync --verbose
4. 環境變量未加載
解決方案:
ls -la .env
cat .env
uv run python -c "
import os
from dotenv import load_dotenv
load_dotenv()
print('Access Key ID:', os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID', 'Not found'))
print('Region:', os.getenv('ALIBABA_CLOUD_REGION', 'Not found'))
"
5. MCP 服務器無法啟動
解決方案:
cat ~/.aws/amazonq/mcp.json
ls -la /絕對路徑/to/alicloud-ops-mcp/complete_fastmcp_server.py
cd /絕對路徑/to/alicloud-ops-mcp
uv run python complete_fastmcp_server.py
調試模式
啟用詳細日誌:
export FASTMCP_LOG_LEVEL=DEBUG
uv run python complete_fastmcp_server.py
echo "FASTMCP_LOG_LEVEL=DEBUG" >> .env
驗證配置
運行完整的環境檢查:
uv run python verify_setup.py
uv run python -c "
import sys
print(f'Python version: {sys.version}')
try:
import fastmcp
print(f'FastMCP version: {fastmcp.__version__}')
except ImportError as e:
print(f'FastMCP import error: {e}')
try:
from alibaba_cloud_ops_mcp_server import server
print('Server module loaded successfully')
except ImportError as e:
print(f'Server module error: {e}')
"
性能優化
啟動優化
uv run python -m compileall .
uv run python -O complete_fastmcp_server.py
內存優化
在 .env 文件中添加:
# 限制內存使用
PYTHONHASHSEED=0
PYTHONDONTWRITEBYTECODE=1
貢獻指南
- Fork 項目
- 創建功能分支 (
git checkout -b feature/amazing-feature)
- 安裝開發依賴 (
uv sync --dev)
- 運行測試 (
uv run pytest)
- 提交更改 (
git commit -m 'Add some amazing feature')
- 推送到分支 (
git push origin feature/amazing-feature)
- 創建 Pull Request
開發環境設置
git clone https://github.com/your-username/alicloud-ops-mcp.git
cd alicloud-ops-mcp
uv sync --dev
uv run pre-commit install
uv run pytest
uv run black .
uv run isort .
uv run mypy .
📄 許可證
本項目採用 MIT 許可證 - 查看 LICENSE 文件瞭解詳情。
支持
如果遇到問題,請:
- 查看 故障排除 部分
- 運行
uv run python verify_setup.py 檢查環境
- 查看 GitHub Issues
- 創建新的 Issue 報告問題
獲取幫助
更新日誌
v0.9.2 (2024-12-XX)
- ✨ 支持使用 uv 進行包管理
- 🚀 簡化安裝和配置流程
- 🐛 改進錯誤處理和調試信息
- 📚 更新文檔和故障排除指南
- 🔧 添加環境驗證腳本
- 📦 添加一鍵安裝腳本
v0.9.1
- 🔧 修復依賴版本兼容性問題
- 📝 改進文檔結構
- 🐛 修復環境變量加載問題
v0.9.0
- 🎉 初始版本發佈
- ✅ 支持 ECS、VPC、RDS、OSS、CloudMonitor、OOS 服務
- 🔐 支持阿里雲訪問憑證配置
- 📖 完整的文檔和示例
致謝
感謝所有貢獻者和社區成員的支持!
⭐ 如果這個項目對你有幫助,請給個 Star!