全部产品
Search
文档中心

函数计算:创建 MCP 工具

更新时间:Jun 03, 2026

AgentRun 支持通过远程连接、代码/代码包创建和 API/MCP 打包三种方式接入 MCP(Model Context Protocol)工具。可根据是否已有 MCP Server、是否需要自定义代码或已有 API 端点选择合适的方式。

创建方式概览

在创建页面选择 MCP 类型后,可选择以下创建方式:

创建方式

说明

适用场景

远程连接

通过 JSON 配置导入已有的 MCP Server

已有远程或本地 MCP Server

代码/代码包创建

上传代码包部署自定义 MCP 工具

需要自定义工具逻辑

将已有 API 或 MCP 配置打包为工具

已有 API 端点或已配置的 MCP 工具

方式一:远程连接

通过导入 MCP Server 的 JSON 配置,将已有的 MCP Server 接入 AgentRun。支持远程和本地两种模式。

操作步骤

  1. 登录 AgentRun 控制台

  2. 在左侧导航栏,选择模型与工具 > 工具与Skills

  3. 在「工具与Skills」页面,单击创建工具

  4. 创建类型区域,选择 MCP

  5. 创建方式中,选择 远程连接

  6. 配置基本信息。

    参数

    必填

    说明

    MCP名称

    MCP 工具的标识名称。1-100 字符,以字母或下划线开头,仅支持字母、数字、下划线和连字符。

    描述

    简要说明工具的功能用途,最多 1000 个字符。

  7. 根据 MCP Server 的部署位置,选择远程本地标签页。

    远程

    远程 MCP Server 通过 SSE 或 Streamable HTTP 协议连接至 AgentRun。

    MCP配置编辑器中,粘贴 MCP Server 的 JSON 配置。格式正确时编辑器顶部会显示「格式正确」提示。

    SSE 协议示例

    {
      "mcpServers": {
        "my-server": {
          "transportType": "sse",
          "url": "https://your-mcp-server.example.com/sse"
        }
      }
    }

    Streamable HTTP 协议示例

    {
      "mcpServers": {
        "my-server": {
          "transportType": "streamable-http",
          "url": "https://your-mcp-server.example.com/mcp"
        }
      }
    }
    说明

    单击SSE示例StreamableHTTP示例可自动填充对应格式的配置模板。

    本地

    本地 MCP Server 使用 npxuvx 等命令直接运行。

    MCP配置编辑器中,粘贴 stdio 协议的 MCP 配置。

    本地 MCP 配置示例

    {
      "mcpServers": {
        "my-server": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-everything", "stdio"],
          "env": {}
        }
      }
    }
    说明

    单击本地示例可自动填充一个示例配置。

    重要

    本地模式不支持 url 字段,必须使用 command 启动方式。

  8. MCP 代理

    开启后可配置 Hook,支持以下事件类型,详情见MCP Tool Hook

    • PRE_LIST_TOOLS

    • PRE_CALL_TOOL

    • POST_LIST_TOOLS

    • POST_CALL_TOOL

  9. (可选)配置访问凭证

    访问凭证区域,选择凭证方式:

    • 使用已有凭证:使用已有的访问凭证进行身份认证。

    • 匿名访问:不携带任何认证信息进行调用。

    警告

    匿名访问无法保障数据安全,建议配置凭证以保护数据。匿名访问模式下调用将不携带任何认证信息,请确保工具服务支持无认证访问。

  10. (可选)配置工作空间

  11. 单击立即创建

方式二:代码/代码包创建

当需要自定义 MCP 工具的逻辑时,可以通过上传代码包创建工具。工具以函数计算 HTTP 函数的形式运行。

前提条件

  • 已准备好 MCP Server 代码(支持 StreamableHTTP 或 SSE 协议)。

  • 代码中监听的地址为 0.0.0.0,而非 127.0.0.1

操作步骤

  1. 登录 AgentRun 控制台

  2. 在左侧导航栏,选择模型与工具 > 工具与Skills

  3. 在「工具与Skills」页面,单击创建工具

  4. 创建类型区域,选择 MCP

  5. 创建方式中,选择 代码/代码包创建

  6. 配置基本信息。

    参数

    必填

    说明

    MCP名称

    MCP 工具的标识名称。1-100 字符,以字母或下划线开头,仅支持字母、数字、下划线和连字符。

    描述

    简要说明工具的功能用途,最多 1000 个字符。

  7. 选择执行环境

    执行环境

    说明

    Python 3.13

    适用于 Python 编写的 MCP Server。

    Node.js 22

    适用于 Node.js 编写的 MCP Server。

    容器镜像

    适用于有复杂依赖或自定义运行环境的 MCP Server。镜像仓库地址:registry-intl-vpc.{regionId}.aliyuncs.com

  8. 配置代码来源。将代码包文件拖拽或上传到指定区域。支持 ZIP 格式,最大 50 MB。

  9. 配置 MCP 协议。

    参数

    必填

    说明

    传输协议

    选择 MCP StreamableSSE。推荐使用 MCP Streamable。

    接入路径

    MCP Streamable 固定为 /mcp,不可修改。SSE 默认为 /sse,可自定义。

    重要

    代码创建方式不支持 stdio 协议。如果 MCP Server 使用 stdio 协议,请选择远程连接 > 本地方式。

  10. 配置启动配置。

    参数

    必填

    说明

    启动命令

    工具启动时执行的命令,如 python3 main.py

    服务端口

    服务监听的端口号(1-65535),默认 8080。必须与代码中实际监听的端口一致。

  11. 配置资源。

    参数

    说明

    CPU(核)

    工具实例的 CPU 规格,默认 0.25 核。

    内存(GB)

    工具实例的内存规格,默认 0.5 GB。

    超时时间(秒)

    单次请求的最长执行时长,默认 300 秒。

    说明

    vCPU 与内存的比例必须在 1:1 到 1:4 之间。

  12. (可选)配置环境变量。

    环境变量区域,添加环境变量。环境变量将在工具运行时注入到执行环境中,可用于配置 API 密钥、数据库连接等敏感信息。

  13. MCP 代理

    开启后可配置 Hook,支持以下事件类型,详情见MCP Tool Hook

    • PRE_LIST_TOOLS

    • PRE_CALL_TOOL

    • POST_LIST_TOOLS

    • POST_CALL_TOOL

  14. (可选)配置访问凭证

    访问凭证区域,选择凭证方式:

    • 使用已有凭证:使用已有的访问凭证进行身份认证。

    • 匿名访问:不携带任何认证信息进行调用。

    警告

    匿名访问无法保障数据安全,建议配置凭证以保护数据。匿名访问模式下调用将不携带任何认证信息,请确保工具服务支持无认证访问。

  15. (可选)配置工作空间

  16. (可选)展开高级配置,按需设置以下选项。

    网络配置

    配置项

    说明

    允许默认网卡访问公网

    开启后,工具可通过默认网卡访问公网。默认开启。

    允许访问 VPC

    开启后,工具可以访问指定 VPC 内的资源。需要配置专有网络、交换机和安全组。

    存储配置

    配置项

    说明

    OSS 存储挂载

    挂载 OSS 存储供工具使用。

    NAS 存储挂载

    挂载 NAS 存储供工具使用。请先在网络配置中配置 VPC 后,方可启用 NAS 存储挂载。

    日志配置

    配置项

    说明

    启用日志

    开启后,日志服务将收集工具的所有日志信息,包括请求日志、错误日志、性能日志等,可用于问题排查、性能分析和监控告警。

    执行角色

    配置项

    说明

    执行角色

    执行角色用于授予函数计算服务(fc.aliyuncs.com)访问其他阿里云服务的权限。根据实际使用的服务添加相应策略。

  17. 单击立即创建

示例代码

以下为基于 FastMCP 框架的最小化 MCP 工具示例(MCP Streamable 模式):

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("My App")

@mcp.tool()
async def hello() -> str:
    """Return string 'Hello World!'"""
    return "Hello World!"

if __name__ == "__main__":
    mcp.run(transport="streamable-http", host="0.0.0.0", port=8080)

方式三:API/MCP 打包

当已有 API 端点或已配置的 MCP 工具时,并希望将它们聚合为统一的服务入口时,可以通过 MCP 打包工具创建 MCP 网关。MCP 打包的核心能力是将 RESTful API 转为 MCP 工具,使现有 API 可被封装为 MCP 工具,并与已有 MCP 工具一同通过单一端点对外提供服务。上层 Agent 或应用只需对接一个统一入口,即可调用全部能力,同时便于统一管理、访问和权限控制

操作步骤

  1. 登录 AgentRun 控制台

  2. 在左侧导航栏,选择模型与工具 > 工具与Skills

  3. 在「工具与Skills」页面,单击创建工具

  4. 创建类型区域,选择 MCP

  5. 创建方式中,选择API/MCP 打包

  6. 配置基本信息。

    参数

    必填

    说明

    MCP名称

    MCP 工具的标识名称。1-100 字符,以字母或下划线开头,仅支持字母、数字、下划线和连字符。

    描述

    简要说明工具的功能用途,最多 1000 个字符。

  7. 选择打包方式。系统提供三种打包方式:

    选择已有 API 端点

    在 API 列表中勾选要打包的 API,支持以下操作:

    • 在搜索框中按工具名称、工具集名称或 API 路径进行搜索过滤

    • 全选或单选 API 项

    • 查看表格中的 HTTP 方法(GET/POST/PUT/DELETE 等,以颜色区分)、PATH、描述、工具集名称和工具名称

    校验规则:API 打包模式下,至少需要选择一个 API。

    导入 MCP 的配置(可多选)

    以 3 列卡片网格形式展示已配置的 MCP 工具,每张卡片显示:

    • 服务名称

    • 描述

    • 工具名称标签

    支持多选,右上角显示已选数量,支持「清除选择」操作。

    校验规则:MCP 打包模式下,至少需要选择一个 MCP 配置;

    粘贴 OpenAPI/Swagger 规范文档

    使用 OpenAPI 规范编辑器,通过以下方式导入 API 规范:

    • 在 JSON 编辑器中直接粘贴 JSON 或 YAML 格式的 OpenAPI 规范

    • 单击通过 URL 导入,输入 OpenAPI 规范 URL 自动获取并格式化(支持 JSON/YAML 格式,最大 2MB)

    • 单击示例可自动填充示例配置

    • 单击复制可将内容复制到剪贴板

    • 格式正确时显示绿色 ✓ 标记「格式正确」,校验失败时显示红色错误提示

    校验规则:OpenAPI 导入模式下,至少需要一个有效的导入项;OpenAPI 规范需通过格式校验(要求 openapi 版本号为 3.0.x 或 3.1.x,info.title 和 info.version 必填,paths 必填,每个 operation 的 operationId 必填)。
  8. 网络配置

    允许默认网卡访问公网:默认开启;

    允许访问 VPC:默认关闭,开启后需填写专有网络、交换机(支持多选)、安全组;

  9. MCP 代理

    开启后可配置 Hook,支持以下事件类型,详情见MCP Tool Hook

    • PRE_LIST_TOOLS

    • PRE_CALL_TOOL

    • POST_LIST_TOOLS

    • POST_CALL_TOOL

  10. 配置访问凭证

    访问凭证区域,选择凭证方式:

    • 使用已有凭证:使用已有的访问凭证进行身份认证。

    • 匿名访问:不携带任何认证信息进行调用。

    警告

    匿名访问无法保障数据安全,建议配置凭证以保护数据。

  11. 配置工作空间

    默认填充当前工作空间,为必填项。

  12. 单击立即创建

常见问题

如何选择工具类型?

场景

推荐方式

已有远程 MCP Server

远程连接 > 远程

已有 stdio 协议的 MCP Server

远程连接 > 本地

需要自定义工具逻辑

代码/代码包创建

已有 API 端点或已配置的 MCP 工具

API/MCP 打包

MCP Streamable 和 SSE 如何选择?

  • MCP Streamable:推荐使用。HTTP 流式模式,兼容性好,接入路径固定为 /mcp

  • SSE:Server-Sent Events 推送模式,适用于已有 SSE 实现的 MCP Server。

工具启动失败怎么办?

  • 确认代码中监听的地址为 0.0.0.0,而非 127.0.0.1

  • 确认代码中监听的端口与控制台配置的服务端口一致。

  • 如使用容器镜像,确认 Dockerfile 中暴露的端口与控制台配置一致。