MCMCP服务(Remote MCP Server)

更新时间:
复制 MD 格式

本文面向需要接入 MaxCompute MCP 服务的用户和 MCP Client 接入方,文档覆盖从配置客户端到完成一次工具调用的端到端流程。

重要

为保障安全性,请在使用之前了解并遵循安全注意事项

支持地域

按客户端所在网络选择一个入口。

一次连接、OAuth 授权和后续调用应始终使用同一个入口域名,不要在授权过程中混用公网和 VPC 域名。

公网Endpoint

公网 MCP Endpoint 按服务地域开通。当前已开通地域如下:

地域类型

服务地域

MCP Endpoint

中国内地公共云

cn-hangzhou

https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp

中国香港及海外

暂未开通

-

金融云

暂未开通

-

政务云

暂未开通

-

访问非默认地域的 project 时,在对话里直接说明地域即可,例如:“请查看cn-shanghai 地域 <project> 下有哪些表”。

未列入“服务地域”的 Region ID 表示该地域的公网 MCP Endpoint 尚未开通,请不要直接拼接域名。

VPC Endpoint

地域类型

服务地域

MCP Endpoint

中国内地公共云

cn-hangzhou

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"
    }
  }
}

如果客户端使用endpointserver_urltransport等字段名,按客户端文档填写,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 中的参数泄露给他人。

连通性验证

授权完成后,建议按下面顺序做一次最小验证。

  1. 先让客户端列出工具:

    tools/list
  2. 调用健康检查工具:

    {
      "name": "maxcompute_health_ping",
      "arguments": {}
    }
  3. 成功时,返回的 structuredContent 中应包含:

    {
      "ok": true,
      "data": {
        "pong": true
      }
    }
  4. 再列出当前账号可见的 MaxCompute project:

    {
      "name": "maxcompute_schema_list_projects",
      "arguments": {
        "limit": 10
      }
    }

    如果这一步返回空列表或权限错误,请先检查当前阿里云账号是否有目标 MaxCompute project 的权限。

工具能力清单

使用时通常无需手工填写工具参数,直接用自然语言描述目标即可。

下面列出MaxCompute 工具,便于接入方确认能力范围,客户端实际可用工具以 tools/list 返回为准。

能力

工具

连接检查

maxcompute_health_ping

project 和 schema 查看

maxcompute_schema_list_projects, maxcompute_schema_get_project, maxcompute_schema_list_schemas, maxcompute_schema_get_schema

表和分区元数据

maxcompute_schema_search_metadata, maxcompute_schema_list_tables, maxcompute_schema_describe_table, maxcompute_schema_list_partitions, maxcompute_schema_get_latest_partition, maxcompute_schema_get_table_ddl

SQL 执行和作业管理

maxcompute_sql_validate, maxcompute_sql_estimate_cost, maxcompute_sql_execute, maxcompute_sql_get_status, maxcompute_sql_fetch_result, maxcompute_sql_cancel, maxcompute_sql_get_logview, maxcompute_sql_list_instances, maxcompute_sql_list_queueing

账号和权限检查

maxcompute_access_check

写入和元数据变更

maxcompute_schema_create_table, maxcompute_schema_update_table, maxcompute_table_insert_values

对于传统 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 页面没有弹出

  • 检查客户端是否支持 MCP OAuth。

  • 检查本机浏览器或回调端口是否被拦截。

401 / 未授权

  • 重新授权。

  • 确认客户端保存的 token是否过期或被清理。

403 / 权限不足

换用有权限的阿里云账号,或在 MaxCompute / RAM 侧补齐授权。

已授权但 project 或表仍访问失败

检查目标 project 是否配置了 IP 白名单,当前 MCP 服务暂不支持该白名单场景。

tools/list 看不到某个工具

  • 确认客户端连接的是正确入口。

  • 实际工具列表以 tools/list 返回为准。

SQL 被拒绝为写操作

使用 mode: "write",并先在客户端侧获得用户确认。

查询结果太大

使用 LIMIT、分页参数 limit / cursor,或缩小查询范围。

地域不符合预期

在工具参数中显式传入支持的 region,当前支持地域见上文。

排障时可以记录 request_id、工具名、时间和脱敏后的错误码。不要记录或传播 token、授权码、完整 SQL 中的敏感业务数据、账号敏感信息或 Logview 中不应外发的内容。

安全注意事项

  • 使用可信客户端

    只通过受信任的 MCP Client 配置和访问生产入口,不要在不可信页面中发起 MCP请求。

  • 亲自完成 OAuth 授权

    OAuth 确认页须由本人操作,不要让他人代为点击。

  • 使用最小权限账号

    MCP 可访问的 MaxCompute 资源由账号权限决定,建议使用仅具备必要权限的账号接入。

  • 不泄露敏感凭证

    不要在聊天、工单、文档或截图中泄露 token、refresh、token、授权码、密钥或回调 URL。

  • 写操作须显式确认

    执行前确认客户端已展示目标 project、table、SQL或变更摘要,核查无误再继续。