OpenAPI MCP Server使用指南

MCP(Model Context Protocol)是大模型与外部工具、数据源之间的标准化接口协议。它像“USB-C”一样,让不同工具(如数据库、API)能统一接入大模型,无需重复开发适配代码。通过客户端-服务器架构,MCP将工具调用逻辑集中在服务端,大模型仅需通过统一协议请求,即可灵活调用各类功能。阿里云OpenAPI Explorer已推出OpenAPI MCP Server,支持用户在大模型中调用API操作云上资源,本文将介绍如何创建并使用该MCP服务。

创建MCP服务

说明

在使用无管理员权限的RAM用户进行操作时,需为该RAM用户授予相应的权限。详细信息,请参见RAM用户授予操作MCP Server的权限

  1. 访问阿里云OpenAPI MCP服务,单击创建MCP服务页签,填入如下信息:

    说明

    由于大模型在上下文长度及其tools选择精确度方面的限制,MCP Server对可选择的API数量也受到相应的约束。建议单个MCP Server所选择的API数量不超过30个,如需使用更多API,建议创建多个MCP Server来实现。

    配置项

    说明

    名称

    3-16位,支持a-z0-9_-组合,例如mcp-demo。

    文档语言

    选择ToolsAPI描述所使用的语言。

    OAuth配置

    阿里云官方OAuth:适用于本地客户端,如通义灵码、Cherry Studio、Cursor 等;

    说明

    请管理员账号前往RAM 控制台 - OAuth 应用 - 第三方应用,安装 OpenAPI MCP Server 官方应用并分配。否则您创建的MCP 服务将无法进行OAuth授权。具体操作,请参见安装和授权第三方应用

    自定义OAuth:适用于自建平台、三方服务,如自部署 Dify、AgentScope,以及Claude Web/Mobile 等;

    多账号MCP

    多账号场景统一管理MCP Server。具体使用介绍,请参见多账号场景下如何使用OpenAPI MCP Server

    云产品与API列表

    MCP服务配置API Tools。

    • 每次只能为一个云产品选择API。如需为多个云产品的API进行选择,需在确定后继续添加云产品与API

    • 若需为已选择的云产品继续添加API,单击添加API

    Terraform Tools

    Terraform HCL代码的方式定义MCP Tools。具体使用介绍,请参见OpenAPI MCP Server中如何使用Terraform Tools

    说明

    Terraform Tools仅支持创建资源,不支持资源修改。

    系统 Tools

    系统Tools为官方预设的Tools。选择后,系统Tools将被集成到MCP服务中。

    备注

    MCP服务添加说明信息。

    image

  2. 单击创建,确认风险提示。创建完成后,将返回Streamable HTTP Endpoint、SSE Endpoint以及MCP Client配置方式。这些内容将在客户端连接MCP服务时使用。

配置MCP

您可以在常见客户端中使用MCP,如Cherry StudioCursor通义灵码Cline等,请根据所使用的客户端查阅相应的配置方式。

说明

若您是在Dify中使用MCP,请参见Dify中集成OpenAPI MCP Server

一键配置

说明

请提前安装Cherry StudioCursor

如果您在Cherry StudioCursor中使用MCP,可以通过官方提供的一键配置功能完成MCP配置。

手动配置

Cherry Studio

说明

确保已安装Cherry Studio

  1. Cherry Studio中配置模型服务。

    1. 建议使用阿里云百炼qwen3-235b-a22b模型。

      image

      其中API密钥为百炼控制台创建的API Key,API地址为https://dashscope.aliyuncs.com/compatible-mode/v1/

    2. 模型添加完成之后编辑模型,为模型配置联网、推理、工具等能力。

      image

  2. 配置MCP服务器。

    1. 设置 > MCP服务器中添加服务器。

      image

    2. 配置MCP服务器。填入名称,类型选择可流式传输的HTTP,URL填入创建MCP服务所返回的Streamable HTTP Endpoint

      image

    3. 单击保存会跳转到阿里云OAuth授权页面,阅读完授权信息之后,单击授权。有关OAuth的详细介绍,请参见开放授权管理(OAuth)

      说明

      请提前为参与授权的RAM用户授予对应API的操作权限,否则在使用过程中可能会出现无权限等情况。具体操作请参见RAM用户授权

      image

      完成授权之后,Cherry Studio会自动启动MCP服务。

      image

Cursor

说明

确保已安装Cursor。本示例中使用的是Cursor提供的免费版,请您根据实际使用情况选择对应版本下载。

  1. Cursor菜单栏,依次选择File > Preferences > Cursor Settings > Tools & Integrations,然后单击Add Custom MCP配置MCP Servers。

    image

  2. MCP Server配置方式中复制内容,粘贴到mcp.json文件中,并按Ctrl+S保存。

    image

  3. OAuth页面完成授权。有关OAuth的详细介绍,请参见开放授权管理(OAuth)

    说明

    请提前为参与授权的RAM用户授予对应API的操作权限,否则在使用过程中可能会出现无权限等情况。具体操作请参见RAM用户授权

    image

  4. Cursor Settings中可以查看配置的MCP Server信息。

    image

通义灵码

说明

确保已安装通义灵码

  1. 打开通义灵码插件,在通义灵码插件的介绍页面中单击MCP工具。

    image

  2. 在弹出窗口右上角单击+,选择手动添加。

    image

  3. 在添加MCP服务窗口填入如下内容,参数输入完成后单击立即添加。

    名称

    MCP服务的名称,建议与虚拟MCP服务名称保持一致。

    类型

    固定选择STDIO

    命令

    固定为npx

    参数

    格式为mcp-remote-alibaba-cloud <SSE Endpoint>

    说明

    仅支持SSE Endpoint,可从创建虚拟MCP服务所返回结果获取SSE Endpoint。

  4. OAuth页面完成授权。有关OAuth的详细介绍,请参见开放授权管理(OAuth)

    说明

    请提前为参与授权的RAM用户授予对应API的操作权限,否则在使用过程中可能会出现无权限等情况。具体操作请参见RAM用户授权

    image

    通义灵码中启用MCP效果如下:

    image

Cline

说明

确保已安装Cline插件(本文以VS Code为例),更多信息请参见Cline

  1. VS Code中打开Cline插件,输入您的API Key。

  2. Cline顶部菜单栏单击MCP Servers配置MCP Server。

    image

    image

  3. OAuth页面完成授权。有关OAuth的详细介绍,请参见开放授权管理(OAuth)

    说明

    请提前为参与授权的RAM用户授予对应API的操作权限,否则在使用过程中可能会出现无权限等情况。具体操作请参见RAM用户授权

    image

  4. 授权完成后,如果在Cline底部的MCP Servers中出现新配置的MCP Server,则表示配置已成功。

    image

Inspector

说明
  • 本文内容仅为简单介绍,关于Inspector的更多详细信息,请参见Inspector

  • Node.js的版本不低于22.7.5。

  1. Terminal中运行以下命令启动Inspector,服务启动后,默认可通过http://localhost:6274访问。

    npx @modelcontextprotocol/inspector
  2. Inspector UI界面的左侧选择Transport Type,本文以Streamable HTTP为例。在URL中输入创建MCP服务所返回的Streamable HTTP Endpoint,然后单击Connect

    image

  3. OAuth页面完成授权。有关OAuth的详细介绍,请参见开放授权管理(OAuth)

    说明

    请提前为参与授权的RAM用户授予对应API的操作权限,否则在使用过程中可能会出现无权限等情况。具体操作请参见RAM用户授权

    image

  4. 授权完成后,在Inspector UI界面即可看到MCP Server的工具信息。

    image

  5. 您可以单击任意一个Tool,在右侧查看该Tool的详细信息,同时也支持设置参数调用该Tool。

    image

使用MCP

配置完成后,您可以使用MCP对云端资源进行操作。更多使用方式,请参见更多集成MCP方式

Cherry Studio

  1. 在文本输入框菜单中选择MCP服务器。

    image

  2. 测试MCP功能。例如查询某个地域下ECS实例数量:

    请帮我查询regionIdcn-chengduECS实例列表,并设置x_mcp_region_id。

    image

    说明

    在正常情况下,若MCP选择的API正确且API的请求参数设置无误,则返回结果应为准确。如果出现错误,可以尝试通过MCP调优来解决相关问题。

Cursor

  1. 选择ModelAPI Key,由于CursorLLM provider存在要求,具体请参见Supported providers,所以在选择ModelAPI Key时,您需参考该介绍。本示例使用的是默认值。

  2. Cursor对话框中单击Add Context,选择MCP Server。

    image

  3. 在对话框输入自然语言测试MCP功能,例如“请帮我查询成都地域的ECS实例数量,仅显示实例个数。”。按回车键发送内容后,根据提示信息单击Run tool继续执行。

    image

  4. 查看MCP执行结果。在正常情况下,若MCP选择的API正确且API的请求参数设置无误,则返回结果应为准确。如果出现错误,可以尝试通过MCP调优来解决相关问题。

    image

通义灵码

  1. 在通义灵码中选择智能体并输入提示内容,例如查询成都地域的ECS实例列表,需设置x_mcp_region_id。

    image

  2. 根据通义灵码的提示执行MCP工具。

    image

  3. 查看结果。在正常情况下,若MCP工具选择正确且API的请求参数设置无误,则返回结果应为准确。如果出现错误,可以尝试通过MCP调优来解决相关错误。

    image

Cline

  1. Cline对话窗口中输入自然语言测试MCP功能,例如“请帮我查询成都地域的ECS实例数量”。

    image

    从上图中可以看出,Cline使用了我们配置的MCP Server,并选择了其中一个工具DescribeInstances,其参数RegionId的值同样是从输入中获取的。

  2. MCP执行结果。在正常情况下,若MCP选择的API正确且API的请求参数设置无误,则返回结果应为准确。如果出现错误,可以尝试通过MCP调优来解决相关问题。

    image

MCP调优

当大模型依赖MCP的回答不准确时,您可以通过在服务端修改API的概述、说明以及请求参数描述等方式,提高大模型对每个API功能的理解。下面将列举几个例子帮助您更好地理解MCP调优。

示例一:操作非cn-hangzhou地域的资源时,可能会出现报错或数据不准确。

MCP底层是通过x_mcp_region_id切换endpoint的。如果大模型未能根据您的输入理解需要传递x_mcp_region_id,它将默认操作cn-hangzhou地域的资源。

您可以通过以下两种方式实现:

  • 在提问时明确告诉大模型需要设置 x_mcp_region_id。

    请帮我查询regionIdcn-qingdaoECS实例列表,并设置x_mcp_region_id。
  • MCP服务端调整API的概述或请求参数RegionId描述。

    例如在API概述中补充“将用户描述的地域传递给 x_mcp_region_id”,或在RegionId中添加“如果参数RegionId存在,必须将其与x_mcp_region_id一起传递”。

    操作步骤:

    1. 访问我的MCP服务,单击MCP服务操作栏的编辑按钮。

    2. 选中待调优的API,单击操作栏的编辑按钮。

      image

    3. 修改概述、API请求说明或API参数描述等。

    4. 保存修改内容后,在客户端需断开MCP服务并重新连接,以使修改内容生效。

示例二:删除API中部分非必填参数。

由于API文档中的参数是包括了所有场景,其中部分非必填参数可能在您的绝大多数的场景下并不需要使用,因此您可以在MCP服务端中删除这些非必填参数。大模型在传参时将不会“看到”这些被删除的参数,这不仅可以降低大模型的错误率,还可以减少tokens的使用。

MCP访问控制

AI Agent集成OpenAPI MCP Server后,访问阿里云服务时提供了两种访问模式:一种为程序身份访问,另一种为用户身份访问。

image.png

程序身份访问

是指以Agent自身的身份权限进行访问。例如,阿里云百炼自定义MCP通过配置访问OpenAPI MCP的角色后,Agent在添加该自定义MCP后,便自动获取了配置访问OpenAPI MCP角色的权限。用户在使用Agent执行操作时,仅能执行Agent所具备权限的操作,而与用户权限无关,从而实现了与用户的解耦。由于Agent需要获取所有可能需要操作的权限的并集,因此需要在Agent前做好“谁能使用Agent的这个功能”的权限控制;同时操作审计记录到的是Agent的程序身份,要实现端到端审计,还需要在Agent前做好“谁用了Agent的这个功能”,并与操作审计记录进行关联,从而实现端到端审计。

适用的Agent:阿里云百炼。

用户身份访问

Agent本身不具备访问阿里云的身份权限,必须由用户主动触发,以代理用户身份进行云操作。例如,客户端通过唤起OAuth流程,在用户授权后,Agent获得临时的访问权限。由于所有操作均需经过用户授权,因此Agent能够执行的任务受到用户权限的限制,从而实现最小授权。此外,在操作审计中,由于操作是由用户执行的,因此会记录具体是由哪个用户进行的操作。

适用的Agent:CherryStudio、通义灵码、Qwen Code、Cursor、Claude Code、Dify、AgentScope、LangGraph等。

常见问题

1. Tools中的API,在MCP客户端是否都可以调用?

问题原因:不一定都能调用成功,具体情况取决于RAM用户的权限,如果RAM用户没有某个API的调用权限,则大模型也将无法调用该API。

解决方案:可以为该RAM用户授予相应API的权限,具体操作请参见RAM用户授权

重要

建议不要为RAM用户授予删除资源的权限,以防止大模型因理解错误而调用删除资源的API,从而释放资源,对您的业务产生负面影响。

2. 使用RAM用户创建MCP Server时,提示无权限进行MCP操作,请联系具有管理员权限的账号授权。

解决方案:

  • RAM用户授予系统权限策略AliyunOpenAPIMCPServerFullAccess,具体操作,请参见RAM用户授权

  • RAM用户授予自定义权限策略:

    1. 请联系具有管理员权限的账号在RAM 控制台创建自定义权限策略,具体操作,请参见创建自定义权限策略

      权限策略内容如下:

      点击查看MCP Server操作相关权限策略

      该权限策略包括创建、更新、查询及删除MCP Server的权限,以及查询MCP系统工具的权限。

      {
        "Version": "1",
        "Statement": [
          {
            "Action": [
              "openapiexplorer:*Mcp*",
              "ram:*Application*"
            ],
            "Resource": "*",
            "Effect": "Allow"
          }
        ]
      }
    2. 请联系具有管理员权限的账号为该无权限的RAM用户授予自定义权限,具体操作,请参见RAM用户授权

3. 如果MCP Server连接端点(Endpoint)暴露了,是不是谁都可以用了?

MCP Server连接端点暴露后,其他人也不能用。当在客户端中填入MCP Server连接端点保存之后,会由客户端实现OAuth的发现。首先,会弹出阿里云控制台的授权登录页面。完成授权后,将验证MCP Server所属的阿里云主账号与授权OAuthRAM用户所属主账号是否一致,只有在两者一致的情况下,才能访问MCP Server。

更多集成MCP方式

  • 基于Dify 1.8.0版本支持的新特性,OpenAPI MCP Server以自定义OAuth应用配置完成授权。详情请查阅Dify中集成OpenAPI MCP Server

  • 通过MCP官方SDK完成自定义OAuth授权流程,并使用主流Agent框架搭建对话助手。详情请查阅Agent中集成OpenAPI MCP Server

  • 阿里云百炼通过导入MCP的方式支持与OpenAPI MCP Server的集成。完成集成后,您可以在应用中添加MCP,并在应用发布后,通过程序调用OpenAPI MCP Server。此外,您还可以将应用发布至钉钉、微信、魔笔等多个渠道以供使用。详情请查阅在阿里云百炼中集成OpenAPI MCP Server

  • 阿里云百炼提供了通过Bearer Token实现对OpenAPI MCP Server自动授权的能力,从而避免了在使用过程中需要进行人工授权的步骤。详情请查阅使用阿里云百炼MCP bearer token长期访问