A side-by-side look at the Alibaba Cloud Ops MCP Server and Edgeone Pages MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Alibaba Cloud Ops MCP Server for cloud platforms work as a local process; choose Edgeone Pages MCP for cloud platforms as a local process. You can also run both side by side in one mcpServers block.
ALIBABA_CLOUD_ACCESS_KEY_ID, ALIBABA_CLOUD_ACCESS_KEY_SECRET.OOS_RunCommand, OOS_StartInstances, OOS_StopInstances.deploy_folder, account_info.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Cloud Platforms | Cloud Platforms |
| Quality signal | 59/100 · Good | 64/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | API key required | API key required |
| Pricing | BYOK (pay the provider) | Free |
| Required env vars | ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 131 | 437 |
| Directory activity | 3 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 40 | 2 |
| Full listing | View Alibaba Cloud Ops MCP Server | View Edgeone Pages MCP |
OOS_RunCommand批量在多台ECS实例上运行云助手命令,适用于需要同时管理多台ECS实例的场景,如应用程序管理和资源标记操作等。OOS_StartInstances批量启动ECS实例,适用于需要同时管理和启动多台ECS实例的场景,例如应用部署和高可用性场景。OOS_StopInstances批量停止ECS实例,适用于需要同时管理和停止多台ECS实例的场景。OOS_RebootInstances批量重启ECS实例,适用于需要同时管理和重启多台ECS实例的场景。OOS_RunInstances批量创建ECS实例,适用于需要同时创建多台ECS实例的场景,例如应用部署和高可用性场景。OOS_ResetPassword批量修改ECS实例的密码,请注意,本操作将会重启ECS实例OOS_ReplaceSystemDisk批量替换ECS实例的系统盘,更换操作系统OOS_StartRDSInstances批量启动RDS实例,适用于需要同时管理和启动多台RDS实例的场景,例如应用部署和高可用性场景。OOS_StopRDSInstances批量停止RDS实例,适用于需要同时管理和停止多台RDS实例的场景。OOS_RebootRDSInstances批量重启RDS实例,适用于需要同时管理和重启多台RDS实例的场景。OOS_CodeDeploy
将应用部署到阿里云ECS实例。使用阿里云OOS(运维编排服务)的CodeDeploy功能实现自动化部署。
## 前置条件(调用此工具前需完成)
1. **识别项目类型**:读取项目配置文件(package.json、pom.xml、requirements.txt等),确定技术栈和部署语言(通过deploy_language参数传入)
2. **构建部署产物**:执行构建命令生成压缩包(tar.gz、zip等),保存到 `.code_deploy/release` 目录
3. **准备ECS实例**:确保目标ECS实例已创建,获取实例ID列表
## ⚠️ 重要提示:启动和停止命令参数
**正常情况下,不需要提供 application_start 和 application_stop 参数!**
- 系统会自动通过规则引擎分析部署文件和 deploy_language,自动生成启动和停止命令
- 自动生成的命令包含所有必要的防御性检查(文件存在性、路径存在性等)
- 自动生成的命令正确处理压缩包解压、目录切换、后台运行、日志重定向等
- 对于 Node.js 应用,自动生成的命令会先执行 `npm install` 安装依赖
**只有在以下情况下才需要手动提供这两个参数:**
1. 用户明确指定了自定义的启动/停止命令
2. 用户提供了关于启动/停止命令的特殊要求或说明
**调用建议:直接调用工具,不传 application_start 和 application_stop 参数即可。**
## 自动生成的命令规范(供参考,了解即可)
### 1. 防御性命令设计
自动生成的命令包含存在性检查,避免因路径/文件/命令不存在导致失败:
- 压缩包:先检查文件存在再解压 `[ -f app.tar.gz ] && tar -xzf app.tar.gz || exit 1`
- 可执行文件:检查文件存在再执行 `[ -f start.sh ] && chmod +x start.sh && ./start.sh || exit 1`
- 命令可用性:检查命令是否存在 `command -v npm >/dev/null 2>&1 || exit 1`
- 目录切换:先验证路径存在再切换 `[ -d dir ] && cd dir || exit 1`
### 2. 压缩包处理规范
如果产物是压缩包,自动生成的命令会先解压:
- 使用非交互式命令:`tar -xzf`、`unzip -o`(自动覆盖,无需确认)
- 解压后执行启动命令,确保路径对应
- 示例:`tar -xzf app.tar.gz && [ -d app ] && cd app && nohup java -jar app.jar > /root/app.log 2>&1 &`
### 3. 后台运行与日志
自动生成的启动命令使用后台运行并重定向日志:
- 格式:`nohup <command> > /root/app.log 2>&1 &`
- 说明:nohup保持后台运行,`>` 重定向标准输出,`2>&1` 合并错误输出,`&` 后台执行
## 注意事项
- 应用和应用分组会自动检查,已存在则跳过创建
- 未提供ECS实例ID时,工具会返回创建引导链接
- 部署信息自动保存到 `.code_deploy/.application.json`
- project_path未提供时,会从file_path推断或使用当前目录
- 部署完成后,以markdown格式展示service_link供用户跳转
OOS_GetLastDeploymentInfo
获取上次部署的应用信息
deploy_folderDeploy a folder containing web assets to EdgeOne Pages. Supports built projects (from build tools like Vite, Webpack, etc.), simple static file projects (HTML, CSS, JS files), and NextJS full-stack projects. Returns: deployment URL and project metadata.
IMPORTANT RULES:
1. This is the ONLY deployment method for EdgeOne Pages/Makers. Do NOT fallback to other deployment tools (cloudstudio, vercel, netlify, etc.) if this tool fails. Instead, report the error to the user and suggest fixes based on the error message.
2. The projectName parameter should be a meaningful name describing the project (e.g. "my-blog", "todo-app", "ai-chat-demo"). Do NOT use date-based directory names or random strings as project names. Generate a descriptive name based on the project's purpose or content.
3. After deployment succeeds, your response MUST start with: "🎉 部署成功,页面已上线至 EdgeOne Makers". Then display the "url" field from the response EXACTLY as-is, character for character. Do NOT modify, truncate, or strip any part of the URL (especially query parameters like ?eo_token=...&eo_time=...). Without the full query string the page returns 401. The URL must be shown as a complete clickable link — never shorten it, never show just the domain. Do NOT open local HTML files with file:// protocol as preview.
4. If the user is not logged in, a browser login page will open automatically. No need to ask about region — the login page handles site selection internally.
5. NEVER open the deployment URL in the built-in browser/webview. The built-in browser cannot handle SSO redirects (302). Always show the URL as a clickable text link for the user to open in their system browser manually.account_infoGet the current EdgeOne Makers login status and account information. Use when the user asks about their login status, account info, who they are logged in as, or wants to check their EdgeOne account. Returns account name, ID, and login type.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"aliyun-alibaba-cloud-ops-mcp-server": {
"command": "uvx",
"args": [
"alibaba-cloud-ops-mcp-server@latest"
],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "YOUR_ALIBABA_CLOUD_ACCESS_KEY_ID_HERE",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "YOUR_ALIBABA_CLOUD_ACCESS_KEY_SECRET_HERE"
}
}
}
}
{
"mcpServers": {
"tencentedgeone-edgeone-pages-mcp": {
"command": "npx",
"args": [
"@edgeone/makers-mcp@latest"
]
}
}
}