MaxCompute MCP Server(MCMCP)基于 MCP(Model Context Protocol)协议,将MaxCompute 的元数据、计算和表管理能力封装为 Agent 可以理解和调用的结构化工具。通过MCMCP,AI Agent可以直接完成大规模数据分析、多模数据加工处理和智能化运维。
本文介绍托管版 Remote MCP Server (推荐)和本地 Local MCP Server。
功能概述
Agent通过标准MCP协议直接调用MCMCP提供的结构化工具,无需额外的SDK或驱动。MCMCP覆盖从元数据浏览、SQL分析到表管理的完整数据操作链路。
核心能力
Catalog元数据浏览与搜索:按项目、Schema、表、字段、分区层级浏览,支持自然语言搜索。
表管理与元数据维护:创建表(支持生命周期、主键、部分列更新等选项)、插入少量数据、更新表注释/标签/列描述。
身份与权限检查:查看当前账号身份,并结合 MaxCompute 授权信息排查访问问题。
认证与授权:
Remote MCP 使用阿里云 OAuth 授权;
Local MCP 支持 AK/SK、STS、Credentials URI、ECS RAM Role 以及阿里云默认凭证链。
只读SQL分析:成本预估、异步执行、实例状态查询、结果读取。只读查询路径由服务端保护,写入和元数据变更能力单独列明并要求用户确认。
Information Schema 运维与治理分析:
Remote MCP 已内置 Information Schema 语义包;
Local MCP 需要额外安装对应 Skill。
架构概览

MCMCP采用分层架构设计,从上到下分为以下层级:
用户Agent生态:支持OpenClaw、DataWorks Agent、Qwen Code、QoderWork、MaxAgent等多种Agent客户端接入。
MaxCompute Skills集合:Agent通用技能包,包含语义包、常用命令、开发模板、使用限制等。通过MaxCompute OpenAPI、InfraAgent、CatalogAI扩展Agent能力。
MCMCP服务:把MaxCompute OpenAPI / StorageAPI / CatalogAPI封装成可被Agent直接调用的结构化工具。
MaxCompute底层能力:
Metadata(元数据):
Catalog / Schema / Table / Partition。能力包括授权、审计、数据发现、数据导出、脱敏、行级权限、数据共享。
Compute Engines(计算引擎):
MaxCompute SQL、MaxFrame、MC Spark。算力类型包括异构算力CU/GU、AI Function、模型。
Storage(存储):
Table(Append / PK Delta Table);数据类型Blob / JSON / ARRAY / MAP / STRUCT。能力包括冷热分层、多副本、多AZ容灾、回收站/Time Travel、数据快照、存储加密。
接入方式
Remote MCP Server 是默认推荐路径。它不需要用户在本地运行 MCP Server,也不需要在本地MCP 进程里保存 AccessKey。
Local MCP Server 保留给自托管、stdio、本地开发调试或直接控制凭证的场景。
场景 | 推荐方式 | 说明 |
使用 Claude Code、Codex、Qwen Code 等客户端访问 MaxCompute | Remote MCP Server | 默认推荐。无需本地运行 MCP Server,也不需要在本地 MCP 进程中配置 AccessKey。 |
企业 VPC 环境中访问托管服务 | Remote MCP Server 的 VPC Endpoint | 与公网 Endpoint 使用同一套 OAuth 和工具语义,入口域名不同。 |
本地开发、调试 MCP Server 代码、需要 stdio 或自托管 | Local MCP Server | 可选高级路径。需要本地 Python 环境和 MaxCompute 凭证配置。 |
需要修改 local server 代码或提交 local server bug | GitHub 仓库 | 使用 |
如果不确定选择哪种方式,请从 Remote MCP Server 开始。
Remote MCP Server(推荐)
Remote MCP 生产服务使用 MCP Streamable HTTP。客户端需要支持 HTTP MCP Server,并能处理OAuth 授权流程。
支持地域
按客户端所在网络选择一个入口。
一次连接、OAuth 授权和后续调用应始终使用同一个入口域名,不要在授权过程中混用公网和 VPC 域名。
公网Endpoint
公网 MCP Endpoint 按服务地域开通。当前已开通地域如下:
地域类型 | 服务地域 | MCP Endpoint |
中国内地公共云 |
|
|
中国香港及海外 |
|
|
金融云 | 暂未开通 | - |
政务云 | 暂未开通 | - |
访问非默认地域的 project 时,在对话里直接说明地域即可,例如:“请查看cn-shanghai 地域 <project> 下有哪些表”。
未列入“服务地域”的 Region ID 表示该地域的公网 MCP Endpoint 尚未开通,请不要直接拼接域名。
VPC Endpoint
地域类型 | 服务地域 | MCP Endpoint |
中国内地公共云 |
|
|
中国香港及海外 |
|
|
无论选择公网还是 VPC Endpoint,未在对话或工具参数中说明地域时,服务默认按当前连接的服务地域处理。如当前连接 cn-hangzhou Endpoint 时,默认地域为 cn-hangzhou;连接 cn-hongkong Endpoint 时,默认地域为 cn-hongkong。
前提条件
可访问上述入口域名的网络环境。
支持 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 设为所选服务入口的地址。下方示例使用中国内地公共云公网 Endpoint,如果需要香港或海外入口,把 URL 换成 https://mcp.cn-hongkong.maxcompute.aliyun.com/mcp。如果客户端运行在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 的权限。
Local MCP Server
Local MCP Server 适用于自托管、stdio 集成、本地开发调试或需要直接控制凭证的场景。普通用户和多数 MCP Client 接入方不需要部署 Local MCP Server。
使用场景
场景 | 是否建议使用 Local MCP Server |
只想在 MCP Client 中访问 MaxCompute | 不建议,优先使用 Remote MCP Server |
需要本地 stdio MCP Server | 可以使用 |
需要修改或调试 MCP Server 代码 | 可以使用 |
需要自己管理 AK / STS / Credentials URI | 可以使用,但必须按最小权限和密钥保护要求配置 |
多人共享一个 HTTP MCP Server 并动态切换配置 | 不建议,本地命名配置是进程级状态,运行时切换会影响同一进程内其他连接 |
前置条件
Python
3.10及更高版本。
推荐使用包管理工具uv,用于安装依赖和运行服务 。
阿里云凭证
AK/SK、STS、凭证服务 URI、ECS RAM Role 或阿里云默认凭证链。
MaxCompute
项目:至少有一个可访问的MaxCompute项目。并确认默认项目名,用于创建ODPS client、SQL提交、权限检查和省略项目参数时的默认上下文。
确认endpoint,例如
https://service.cn-hangzhou.maxcompute.aliyun.com/api。
确认主账号UID,即namespaceId。
注意事项
不要提交
config.json、AK/SK、STS token、凭证 URI、查询结果文件或覆盖率输出。生产环境优先使用动态凭证来源,如
ALIBABA_CLOUD_CREDENTIALS_URI或 RAM Role。为 MCP 使用的身份配置最小必要权限,不要直接使用高权限主账号 AK。
execute_sql有只读保护,但create_table、insert_values、update_table会修改资源或元数据。output_uri只允许写服务端本地文件,应使用专门的安全目录,避免写入系统敏感路径。对成本高、结果大或跨项目的查询,先预估成本并确认项目、Schema、表名引用无误。
如遇问题,请联系 MaxCompute 团队或在GitHub仓库提交Issue。
下载与安装
下载MCMCP
GitHub Repo:https://github.com/aliyun/alibabacloud-maxcompute-mcp-server
适用于Claude Code / OpenCode / Qoder / Cursor 等MCP客户端。
通过源码安装
终端输入:
git clone https://github.com/aliyun/alibabacloud-maxcompute-mcp-server.git cd alibabacloud-maxcompute-mcp-server uv sync验证 CLI 入口:
uv run alibabacloud-maxcompute-mcp-server --help复制配置模板:
cp config.example.json config.json警告config.json包含敏感信息(AK/SK等),必须只保存在本地,不要提交到Git。
编辑
config.json后,可先在命令行启动一次服务确认没有配置错误:uv run alibabacloud-maxcompute-mcp-server --config config.json
默认传输方式是 stdio,正常启动后会等待 MCP 客户端通过标准输入输出通信。
配置MaxCompute连接
MCMCP支持两种配置来源:
配置文件:通过
--config /path/to/config.json或环境变量MAXCOMPUTE_CATALOG_CONFIG指定。环境变量:可覆盖配置文件,也可以完全不使用配置文件。
配置文件方式
config.json包含敏感信息(AK/SK等),必须只保存在本地,不要提交到Git。
config.json示例:
{
"maxcompute": {
"maxcompute_endpoint": "https://service.cn-hangzhou.maxcompute.aliyun.com/api",
"defaultProject": "<DEFAULT_PROJECT_NAME>",
"namespaceId": "<ALIBABACLOUD_ACCOUNT_UID>",
"accessKeyId": "<ALIBABA_CLOUD_ACCESS_KEY_ID>",
"accessKeySecret": "<ALIBABA_CLOUD_ACCESS_KEY_SECRET>"
}
}环境变量方式
export MAXCOMPUTE_ENDPOINT="https://service.cn-hangzhou.maxcompute.aliyun.com/api"
export MAXCOMPUTE_DEFAULT_PROJECT="<DEFAULT_PROJECT_NAME>"
export MAXCOMPUTE_NAMESPACE_ID="<ALIBABACLOUD_ACCOUNT_UID>"
# 方式 1:AK/SK
export ALIBABA_CLOUD_ACCESS_KEY_ID="<ALIBABA_CLOUD_ACCESS_KEY_ID>"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="<ALIBABA_CLOUD_ACCESS_KEY_SECRET>"
# 方式 2:STS
export ALIBABA_CLOUD_ACCESS_KEY_ID="<STS_ACCESS_KEY_ID>"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="<STS_ACCESS_KEY_SECRET>"
export ALIBABA_CLOUD_SECURITY_TOKEN="<STS_TOKEN>"
# 方式 3:凭证服务 URI,适合生产或平台托管环境
export ALIBABA_CLOUD_CREDENTIALS_URI="http://localhost:8765/credentials"凭证解析规则:
如果环境变量或配置文件中设置了 AK/SK,MCMCP 会使用这组静态凭证。
如果没有设置静态 AK/SK,MCMCP 会使用阿里云 Credentials SDK 默认凭证链。
默认凭证链可使用
ALIBABA_CLOUD_CREDENTIALS_URI、本地阿里云配置、ECS RAMRole、OIDC 等来源。
需要自动刷新 STS 时,优先使用凭证服务 URI、RAM Role 或其他动态凭证来源。
运行模式
stdio 模式:
uv run alibabacloud-maxcompute-mcp-server本地 Streamable HTTP 模式:
uv run alibabacloud-maxcompute-mcp-server --transport http --host 127.0.0.1 --port 8000
将 MCP Client 指向:
http://127.0.0.1:8000/mcp配置MCP客户端
Qoder / Cursor / Claude Code / 通用stdio客户端
常见客户端配置位置
客户端
配置位置
Cursor
~/.cursor/mcp.jsonClaude Code
项目根目录
.mcp.json其他MCP客户端
参考对应客户端的MCP server配置说明
配置方式
使用配置文件
{ "mcpServers": { "alibabacloud-maxcompute-mcp-server": { "command": "uv", "args": ["--directory", "/absolute/path/to/alibabacloud-maxcompute-mcp-server", "run", "alibabacloud-maxcompute-mcp-server"], "env": {"MAXCOMPUTE_CATALOG_CONFIG": "/absolute/path/to/config.json"} } } }仅使用环境变量
{ "mcpServers": { "alibabacloud-maxcompute-mcp-server": { "command": "uv", "args": ["--directory", "/absolute/path/to/alibabacloud-maxcompute-mcp-server", "run", "alibabacloud-maxcompute-mcp-server"], "env": { "MAXCOMPUTE_ENDPOINT": "https://service.cn-hangzhou.maxcompute.aliyun.com/api", "MAXCOMPUTE_DEFAULT_PROJECT": "<DEFAULT_PROJECT_NAME>", "MAXCOMPUTE_NAMESPACE_ID": "<ALIBABACLOUD_ACCOUNT_UID>", "ALIBABA_CLOUD_ACCESS_KEY_ID": "<AK_ID>", "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "<AK_SECRET>" } } } }
DataWorks个人实例 + Claude Code
DataWorks个人实例通常会注入ALIBABA_CLOUD_CREDENTIALS_URI。在这种环境中,config.json只需要包含endpoint、默认项目和可选的namespaceId:
{
"maxcompute": {
"maxcompute_endpoint": "https://service.cn-hangzhou.maxcompute.aliyun.com/api",
"defaultProject": "<DEFAULT_PROJECT_NAME>",
"namespaceId": "<ALIBABACLOUD_ACCOUNT_UID>"
}
}.mcp.json 示例:
{
"mcpServers": {
"alibabacloud-maxcompute-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/alibabacloud-maxcompute-mcp-server",
"run",
"alibabacloud-maxcompute-mcp-server"
],
"env": {
"MAXCOMPUTE_CATALOG_CONFIG": "/absolute/path/to/alibabacloud-maxcompute-mcp-server/config.json",
"ALIBABA_CLOUD_CREDENTIALS_URI": "<VALUE_FROM_DATAWORKS_ENV>"
}
}
}
}
可在实例内通过以下命令查看平台注入的凭证 URI:
echo "$ALIBABA_CLOUD_CREDENTIALS_URI"
Streamable HTTP模式
默认建议使用 stdio。需要远程或多进程接入时,可以启动 HTTP 模式:
uv run alibabacloud-maxcompute-mcp-server \
--config /absolute/path/to/config.json \
--transport http \
--host 127.0.0.1 \
--port 8000
客户端 MCP 地址填写:
http://127.0.0.1:8000/mcp
验证连接
配置完成后,重启 MCP 客户端,在对话中输入:
查看我的 MaxCompute 身份信息,不需要查询权限明细Agent 应调用 check_access,并返回类似结构:
{
"success": true,
"data": {
"identity": {
"accessKeyId": "LTAI***xYzW",
"defaultProject": "my_project",
"endpoint": "https://service.cn-hangzhou.maxcompute.aliyun.com/api",
"displayName": "user@example.com"
}
}
}
如需同时验证权限查询:
查看我在 my_project 项目中的 MaxCompute 权限MCP工具能力清单
使用时通常无需手工填写工具参数,直接用自然语言描述目标即可。
下面列出MaxCompute 工具,便于接入方确认能力范围,客户端实际可用工具以 tools/list 返回为准。
能力 | Remote MCP 工具 | Local MCP 工具 |
连接检查 |
| 通过 |
project 和 schema 查看 |
|
|
表和分区元数据 |
|
|
SQL 分析与实例 |
|
|
账号和权限检查 |
|
|
表管理与元数据维护 |
|
|
Information Schema 语义分析 | 内置 Information Schema 语义包 | 需要额外安装 |
本地会话配置 | 不适用 |
|
关键约束:
SQL 执行与写操作
只读查询建议先用 sql_review 校验或预估成本,再执行可能耗费资源的查询。
Local MCP 的 execute_sql 只允许只读查询,服务端会在提交 MaxCompute 作业时强制附加只读 hint。
Remote MCP 执行写 SQL 时需明确说明这是写操作,且必须在客户端侧获得用户确认后才能执行。
create_table、insert_values、update_table及对应的 Remote MCP 写工具会修改资源或元数据,需谨慎授权。
Schema 约束
2 层 MaxCompute project 通常可省略 schema。
3 层模型需按目标对象或 SQL 执行上下文传入对应 schema。
结果集处理
大结果集建议使用分页、缩小查询范围或异步实例读取。Local MCP 还可以通过本地
file://output_uri写入文件;该路径是 Local MCP Server 所在机器的文件系统,不是 MCP Client 所在机器。元数据搜索
Local MCP 的
search_meta_data依赖namespaceId/MAXCOMPUTE_NAMESPACE_ID,查询语法通常需要包含type=TABLE、type=RESOURCE或type=SCHEMA。配置切换
Local MCP 的
list_configs、get_current_config、use_config是进程级配置切换工具,更适合 stdio 或单客户端使用。
Information Schema语义包
Information_Schema 是系统级运维(Ops)语义包,基于 MaxCompute 租户级的 INFORMATION_SCHEMA 元数据视图构建。它旨在为数据团队提供全方位的项目审计、用量分析与运维观测能力,将复杂的底层元数据转化为可自然语言查询的指标和实体。
Skill Repo:https://skills.aliyun.com/skills/alibabacloud-odps-information-schema
主要应用场景如下:
存储压力诊断
能力:盘点存储TOP表,识别分区膨胀风险及数据滞后(新鲜度)问题。
Prompt举例:"分析当前租户中占用存储最大的前10张表"、"检查哪些表存在分区膨胀风险"。
成本压力诊断
能力:拆解任务成本(按Owner/项目/类型),统计CU时消耗并定位高耗资源任务。
Prompt举例:"最近一周计算成本最高的任务有哪些"、"统计各用户的资源消耗排行"。
任务失败激增分析
能力:监控失败率趋势,按维度(类型/Owner/项目)下钻分析失败根因。
Prompt举例:"最近24小时内失败的任务有哪些"、"统计各类型任务的失败率"。
权限暴露审计
能力:审计表级授权分布,识别高危管理员账号及过度授权风险。
Prompt举例:"哪些用户拥有管理员权限"、"统计每个用户被授权的表数量"。
热点表观测
能力:基于访问频次识别热表,结合最后访问时间自动发现"僵尸表"。
Prompt举例:"哪些表访问最频繁"、"识别最近90天未访问的僵尸表"。
元数据治理缺口分析
能力:统计表/字段注释覆盖率,定位元数据缺失及数据滞后的治理薄弱点。
Prompt举例:"统计列注释覆盖率"、"找出没有表注释的表"。
作业性能分析
能力:分析任务平均/P99执行时长,识别长尾慢任务及排队等待异常。
Prompt举例:"查看P99最慢任务"、"最近一周任务平均执行时长是多少"。
数据通道审计
能力:统计Tunnel上传下载量,溯源公网下载IP并检测异常传输行为。
Prompt举例:"查看最近24小时的Tunnel上传下载数据量"、"审计公网下载来源IP"。
用户角色审计
能力:梳理用户-角色映射关系,审查管理角色分配合理性及非活跃高权账号。
Prompt举例:"列出所有admin和super_administrator用户"、"查看用户角色分配情况"。
分区生命周期分析
能力:监控分区数量增长趋势,检查生命周期策略生效情况及过期分区清理状态。
Prompt举例:"哪些表的分区数量超过500"、"检查生命周期未启用的分区表"。
Quota资源监控
能力:实时监控CPU/内存配额使用率,预警资源瓶颈与分配不均。
Prompt举例:"查看当前所有Quota的CPU使用率"、"哪些Quota的资源使用率超过阈值"。
使用场景
浏览项目和表
示例如下:
列出我能访问的 MaxCompute 项目,并查看 my_project 下有哪些 schema
查看 my_project 项目 default schema 下 user_info 表的字段、分区键和表注释安全执行SQL查询
预估成本后再执行:
先查看 orders 表的结构,再预估这条 SQL 的成本:
SELECT COUNT(*) FROM orders WHERE dt='2026-05-01'执行只读查询:
在 my_project 项目执行只读查询:
SELECT * FROM default.orders WHERE dt='2026-05-01' LIMIT 100大查询建议让 Agent 走异步流程:
异步执行这个查询,返回 instanceId 后帮我轮询状态,完成后读取前 100 行结果导出大结果
默认内联结果会受行数上限保护。需要完整结果时,使用output_uri:
同步执行这个查询,并把完整结果写到 file:///tmp/maxcompute-result/orders.jsonl;
响应里只需要给我预览和最终 outputPathoutput_uri写入的是MCP服务端所在机器的本地文件系统,不是客户端电脑。
检查身份和权限
查看当前 MCP 使用的 MaxCompute 身份,并列出我在 my_project 项目中的权限搜索元数据
在 Catalog 中搜索名称包含 orders 的表,只看 my_project 项目使用 Information Schema 做治理和运维分析
分析当前租户中占用存储最大的前 10 张表。
最近一周计算成本最高的任务有哪些?按 owner 和 project 汇总。Remote MCP 已内置 Information Schema 语义包,可以直接使用这类问法。Local MCP 需要先在客户端或 Agent 环境中安装对应 Skill,安装后再使用这些场景。
维护表业务元数据
先读取 default.orders 的当前表结构,然后把表注释改为“订单事实表”,
并把列 buyer_id 的注释改为“买家 ID”update_table 支持的修改范围包括:
表注释:
description标签:
labels生命周期:
expiration.days、expiration.partitionDays列注释:
columns.setComments顶层列从非空改为可空:
columns.setNullable追加新列:
columns.add
MaxCompute 不支持通过该工具删除列、修改列类型、重排列、在中间插入列、把可空列改为非空列,或修改嵌套列的可空性。
创建表和插入少量数据
在 my_project.default 下创建一张测试表 demo_user,
字段包括 id BIGINT、name STRING、dt STRING 分区字段,生命周期 7 天向 demo_user 插入两行测试数据,dt 分区值为 2026-05-18这类操作会修改MaxCompute资源,建议只授予测试项目或受控项目权限。
常见问题
不确定应该使用 Remote 还是 Local
优先使用 Remote MCP Server。只有在需要自托管、stdio、本地开发或直接控制凭证时使用 Local MCP Server。
MCP客户端看不到工具
检查项如下:
command是否为uv,args中的--directory是否指向仓库绝对路径。如果客户端找不到
uv,将command改成which uv返回的绝对路径。仓库中是否已执行
uv sync。MAXCOMPUTE_CATALOG_CONFIG是否指向正确的config.json。是否重启了 Cursor、Claude Code 或对应 MCP 客户端。
在仓库目录手动运行
uv run alibabacloud-maxcompute-mcp-server --help是否成功。
认证失败或连接失败
检查项如下:
MAXCOMPUTE_ENDPOINT或maxcompute_endpoint是否与项目 Region 匹配。AK/SK 或 STS token 是否有效且未过期。
使用凭证服务时,
ALIBABA_CLOUD_CREDENTIALS_URI是否能在 MCP 服务端机器访问。是否给当前身份授予了目标项目的访问权限。
先用
check_access验证当前身份,再排查具体工具。
search_meta_data 返回错误
常见原因:
未配置
namespaceId或MAXCOMPUTE_NAMESPACE_ID。查询语句缺少
type=TABLE、type=RESOURCE或type=SCHEMA。同时使用了不兼容的 project 和 region 条件。
SQL 表名解析失败
先调用 get_table_schema,让 Agent 使用返回的 sqlTableRef。
三层模型项目常见表名格式是
schema.table或project.schema.table;二层模型项目常见表名格式是
table或project.table。
SQL 执行超时或结果被截断
默认推荐异步执行,拿到
instanceId后通过get_instance_status和get_instance获取结果。同步执行可设置
timeout,超时后仍可用返回的instanceId继续查询。大结果使用
output_uri=file:///path/to/result.jsonl写入服务端本地文件。执行前可调用
cost_sql,再用maxCU限制资源消耗。
其他常见错误
如果客户端展示原始工具结果,失败响应里通常会带 request_id 和错误码。常见处理方式:
现象 | 处理方式 |
首次连接要求登录 | 按浏览器里的阿里云 OAuth 页面完成授权。 |
OAuth 页面没有弹出 | 检查客户端是否支持 MCP OAuth;检查本机浏览器或回调端口是否被拦截。 |
401 / 未授权 | 重新授权;确认客户端保存的 token 没有过期或被清理。 |
403 / 权限不足 | 换用有权限的阿里云账号,或在 MaxCompute / RAM 侧补齐授权。 |
已授权但 project 或表仍访问失败 | 检查目标 project 是否配置了 IP 白名单;当前 Remote MCP 服务暂不支持该白名单场景。 |
| 确认客户端连接的是正确入口;实际工具列表以 |
SQL 写操作被拒绝 | 使用 |
查询结果太大 | 使用 |
地域不符合预期 | 在对话或工具参数中显式说明目标 |
Local MCP 工具名和 Remote MCP 工具名对不上 | 两者工具名不同。Remote MCP 使用 |
排障时可以记录 request_id、工具名、时间和脱敏后的错误码。不要记录或传播 token、授权码、完整 SQL 中的敏感业务数据、账号敏感信息或 Logview 中不应外发的内容。
安全注意事项
普通用户优先使用 Remote MCP Server,不要为了试用而在本地 MCP Server 中配置长期 AccessKey。
使用可信客户端
只通过受信任的 MCP Client 配置和访问生产入口,不要在不可信页面中发起 MCP请求。
亲自完成 OAuth 授权
OAuth 确认页须由本人操作,不要让他人代为点击。
使用最小权限账号
MCP 可访问的 MaxCompute 资源由账号权限决定,建议使用仅具备必要权限的账号接入。
不泄露敏感凭证
不要在聊天、工单、文档或截图中泄露 token、refresh、token、授权码、密钥或回调 URL。
不要把 AccessKey、STS token、
config.json或凭证服务 URI 提交到 Git。
写操作须显式确认
执行前确认客户端已展示目标 project、table、SQL或变更摘要,核查无误再继续。
反馈渠道
如需反馈 Remote MCP 服务、客户端兼容性、工具错误、文档问题或功能建议,可通过以下入口提交:
也可以让 Agent 读取 skill://maxcompute-mcp-feedback/SKILL.md,获取 issue模板链接、建议提供的诊断字段和脱敏规则。该资源不会代替创建 GitHub issue,也不会上传日志或保存反馈内容。
提交前请确认 issue 中不包含以下内容:token、Cookie、AccessKey、带 query 参数的 OAuth callback URL、敏感 SQL、客户数据或敏感 Logview 内容。
账号级权限、账单、SLA、生产故障、安全漏洞或机密数据问题,请联系阿里云官方支持或安全渠道,不要在公开 issue 中反馈。