本文面向需要接入 MaxCompute MCP 服务的用户和 MCP Client 接入方,文档覆盖从配置客户端到完成一次工具调用的端到端流程。
为保障安全性,请在使用之前了解并遵循安全注意事项。
支持地域
按客户端所在网络选择一个入口。
一次连接、OAuth 授权和后续调用应始终使用同一个入口域名,不要在授权过程中混用公网和 VPC 域名。
公网Endpoint
公网 MCP Endpoint 按服务地域开通。当前已开通地域如下:
地域类型 | 服务地域 | MCP Endpoint |
中国内地公共云 |
| https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp |
中国香港及海外 | 暂未开通 | - |
金融云 | 暂未开通 | - |
政务云 | 暂未开通 | - |
访问非默认地域的 project 时,在对话里直接说明地域即可,例如:“请查看cn-shanghai 地域 <project> 下有哪些表”。
未列入“服务地域”的 Region ID 表示该地域的公网 MCP Endpoint 尚未开通,请不要直接拼接域名。
VPC Endpoint
地域类型 | 服务地域 | MCP Endpoint |
中国内地公共云 |
| https://mcp.cn-hangzhou-vpc.maxcompute.aliyun-inc.com/mcp |
无论选择公网还是 VPC Endpoint,未在对话或工具参数中说明地域时,服务默认按当前连接的服务地域处理。如当前连接 cn-hangzhou Endpoint 时,默认地域为 cn-hangzhou;后续新增其他服务地域后,以实际连接的服务地域为准。
前提条件
可访问上述入口域名的网络环境。
支持 MCP Streamable HTTP 和浏览器 OAuth 授权的 MCP Client。
具有 MaxCompute 访问权限的阿里云账号。
使用限制
权限范围:可访问的 project、schema、table 和 instance 由 MaxCompute / RAM 权限决定。
IP 白名单:目标 MaxCompute project 不应开启 project IP 白名单限制。当前 MCP 服务暂不支持这类 project 的白名单访问场景;如果已配置白名单,后续工具调用可能访问不通。
写操作确认:写操作须在客户端侧获得用户明确确认,网关不提供交互式二次确认
客户端配置
不同 MCP Client 的配置字段名称有差异,但核心只有一点:将 MCP server URL 设为所选服务入口的地址。下方示例使用公网入口,VPC 环境替换为支持地域表中对应的 VPC 服务地址即可。
通用配置形态如下。
{
"mcpServers": {
"maxcompute-mcp": {
"type": "streamable-http",
"url": "https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp"
}
}
}如果客户端使用endpoint、server_url、transport等字段名,按客户端文档填写,URL 仍使用上表中的服务地址/mcp 地址。
Claude Code
推荐使用命令行添加 HTTP MCP server:
claude mcp add --transport http --scope user maxcompute-mcp \
https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp添加后可以查看连接状态:
claude mcp list
claude mcp login maxcompute-mcp也可以在 Claude Code 会话内输入 /mcp 查看并触发登录。若只希望在当前项目使用,可以把 --scope user 改成 --scope local 或按团队约定使用 project scope。
Codex
推荐使用命令行添加 Streamable HTTP MCP server:
codex mcp add maxcompute-mcp \
--url https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp添加后查看服务列表并发起登录:
codex mcp list
codex mcp login maxcompute-mcp如果需要手工配置,在 ~/.codex/config.toml 中加入:
[mcp_servers."maxcompute-mcp"]
url = "https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp"Qwen Code
推荐使用命令行添加 HTTP MCP server:
qwen mcp add --transport http --scope user maxcompute-mcp \
https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp如果当前客户端发行版使用了不同命令名,请把上面的 qwen 替换成实际命令名。添加后动 Qwen Code,并在会话内输入 /mcp 查看连接状态和可用工具。也支持通过在 ~/.qwen/settings.json 中手工加入:
{
"mcpServers": {
"maxcompute-mcp": {
"httpUrl": "https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp"
}
}
}如果文件里已经有其他配置,只需要合并 mcpServers 这一段,不要覆盖已有设置。
除非客户端或企业环境有额外要求,否则不需要手工配置 Authorization header;首次连接会通过 OAuth 流程完成登录。
首次连接和 OAuth 授权
首次连接时,MCP Client 会自动发起 OAuth 授权流程,并在浏览器中打开阿里云授权页面。
授权流程
1. 在 MCP Client 中添加 MaxCompute MCP Server 并发起连接。第一次连接 /mcp,或第一次调用 tools/list / tool。
2. 客户端检测到登录要求,自动打开浏览器跳转至阿里云 OAuth 页面。
3. 由用户确认页面上的账号和授权信息无误并点击同意或授权。
4. 浏览器完成回调,客户端保存令牌并自动重连 MCP 服务。同一会话内通常无需再次授权。
注意事项
验证页面来源:OAuth 页面应来自阿里云官方域名,若域名、账号或授权信息异常,请勿继续。
使用正确账号:用有权访问目标 MaxCompute 数据的阿里云账号完成授权,可访问的 project和表与该账号绑定,切换账号后结果可能不同。
保护敏感信息:不要将 access token、refresh token、授权码或回调 URL 中的参数泄露给他人。
连通性验证
授权完成后,建议按下面顺序做一次最小验证。
先让客户端列出工具:
tools/list调用健康检查工具:
{ "name": "maxcompute_health_ping", "arguments": {} }成功时,返回的
structuredContent中应包含:{ "ok": true, "data": { "pong": true } }再列出当前账号可见的 MaxCompute project:
{ "name": "maxcompute_schema_list_projects", "arguments": { "limit": 10 } }如果这一步返回空列表或权限错误,请先检查当前阿里云账号是否有目标 MaxCompute project 的权限。
工具能力清单
使用时通常无需手工填写工具参数,直接用自然语言描述目标即可。
下面列出MaxCompute 工具,便于接入方确认能力范围,客户端实际可用工具以 tools/list 返回为准。
能力 | 工具 |
连接检查 |
|
project 和 schema 查看 |
|
表和分区元数据 |
|
SQL 执行和作业管理 |
|
账号和权限检查 |
|
写入和元数据变更 |
|
对于传统 2 层 MaxCompute project,通常可以省略 schema。对于 3 层模型,按目标对象或 SQL 执行上下文传入对应 schema。
常见 prompt 示例
可以从下面这些问法开始。Agent 会根据意图选择合适的 MCP 工具。
“检查 MaxCompute MCP 是否已经登录成功。”
“列出我当前账号能看到的 MaxCompute project。”
“查看
cn-shanghai地域<project>下有哪些表,优先找名字里包含orders的表。”“描述
<project>.<table>的字段、分区和表注释。”“获取
<project>.<table>的建表 DDL。”“帮我校验这条 SQL 是否是只读查询,并预估执行成本:
SELECT ...。”“在
<project>中执行这条只读 SQL,只返回前 100 行:SELECT ... LIMIT 100。”“查看 SQL instance
<instance_id>的运行状态。”“读取 SQL instance
<instance_id>的结果,按 100 行分页。”“获取 SQL instance
<instance_id>的 Logview。”“取消我提交的 SQL instance
<instance_id>。”“检查我当前账号在
<project>下的身份和权限,不需要展开全部授权明细。”
建议先让 Agent 校验 SQL 或解释计划,再执行可能耗费资源的查询。
返回格式
工具调用结果会放在 structuredContent 中。成功结果通常如下:
{
"ok": true,
"data": {},
"error": null,
"request_id": "...",
"warnings": [],
"citations": [],
"metadata": {},
"next_cursor": null
}错误处理
失败时通常是 ok: false,并带有 error。常见处理方式:
现象 | 处理方式 |
首次连接要求登录 | 按浏览器里的阿里云 OAuth 页面完成授权。 |
OAuth 页面没有弹出 |
|
401 / 未授权 |
|
403 / 权限不足 | 换用有权限的阿里云账号,或在 MaxCompute / RAM 侧补齐授权。 |
已授权但 project 或表仍访问失败 | 检查目标 project 是否配置了 IP 白名单,当前 MCP 服务暂不支持该白名单场景。 |
|
|
SQL 被拒绝为写操作 | 使用 |
查询结果太大 | 使用 |
地域不符合预期 | 在工具参数中显式传入支持的 |
排障时可以记录 request_id、工具名、时间和脱敏后的错误码。不要记录或传播 token、授权码、完整 SQL 中的敏感业务数据、账号敏感信息或 Logview 中不应外发的内容。
安全注意事项
使用可信客户端
只通过受信任的 MCP Client 配置和访问生产入口,不要在不可信页面中发起 MCP请求。
亲自完成 OAuth 授权
OAuth 确认页须由本人操作,不要让他人代为点击。
使用最小权限账号
MCP 可访问的 MaxCompute 资源由账号权限决定,建议使用仅具备必要权限的账号接入。
不泄露敏感凭证
不要在聊天、工单、文档或截图中泄露 token、refresh、token、授权码、密钥或回调 URL。
写操作须显式确认
执行前确认客户端已展示目标 project、table、SQL或变更摘要,核查无误再继续。