创建 MCP 工具

更新时间:
复制为 MD 格式

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

创建方式概览

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

创建方式

说明

适用场景

远程连接

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

已有远程或本地 MCP Server

代码/代码包创建

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

需要自定义工具逻辑

说明

API/MCP 打包功能暂未开放。

方式一:远程连接

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

操作步骤

  1. 登录 AgentRun 控制台

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

  3. 单击创建工具

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

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

  6. 配置基本信息。

    参数

    必填

    说明

    MCP名称

    MCP 工具的标识名称。

    描述

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

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

    远程

    远程 MCP 通过网络连接到 MCP 服务器,支持 SSE 和 Streamable HTTP 两种协议。

    MCP配置 编辑器中,粘贴 MCP Server 的 JSON 配置。

    SSE 协议示例

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

    StreamableHTTP 协议示例

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

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

    本地

    本地 MCP 通过 npxuvx 命令启动 MCP 服务器,使用 stdio 协议通信。系统会自动将 stdio 协议转换为 SSE 协议对外提供服务,转换后的服务地址格式为 https://{AccountID}.agentrun-data.{Region}.aliyuncs.com/tools/{MCP名称}/sse

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

    本地 MCP 配置示例

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

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

    重要

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

  8. (可选)配置工作空间。

  9. 单击立即创建

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

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

前提条件

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

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

操作步骤

  1. 登录 AgentRun 控制台

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

  3. 单击创建工具

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

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

  6. 配置基本信息。

    参数

    必填

    说明

    MCP名称

    MCP 工具的标识名称。

    描述

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

  7. 选择执行环境。

    执行环境

    说明

    Python 3.13

    适用于 Python 编写的 MCP Server。

    Node.js 22

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

    容器镜像

    适用于有复杂依赖或自定义运行环境的 MCP Server。

  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. (可选)配置访问凭证。

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

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

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

    警告

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

  14. (可选)配置工作空间。

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

    网络配置

    配置项

    说明

    允许默认网卡访问公网

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

    允许访问 VPC

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

    存储配置

    配置项

    说明

    OSS 存储挂载

    挂载 OSS 存储供工具使用。

    NAS 存储挂载

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

    日志配置

    配置项

    说明

    启用日志

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

    执行角色

    配置项

    说明

    执行角色

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

  16. 单击立即创建

示例代码

以下为基于 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)

常见问题

如何选择远程连接还是代码创建?

场景

推荐方式

已有远程 MCP Server

远程连接 > 远程

已有 stdio 协议的 MCP Server

远程连接 > 本地

需要自定义工具逻辑

代码/代码包创建

MCP Streamable 和 SSE 如何选择?

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

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

工具启动失败怎么办?

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

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

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