更新时间:2026-07-17 gmt 08:00
调用mcp服务-j9九游会登录
智能体运行时支持部署和运行mcp服务器。本章节介绍如何创建、测试并部署mcp服务器。
前提条件
- 操作系统:linux arm64,服务器可访问公网。
需使用arm64系统制作的agent镜像,使用x86系统制作的镜像在调用智能体运行时时会调用失败。
可以使用华为云ecs服务购买服务器,购买时需要选择鲲鹏架构(arm64)。

- 安装python:请确保python 3.10及以上版本已安装。
大多数linux发行版(如ubuntu)都预装了python,您可以先通过python3 --version检查。如未安装,可以使用如下命令安装:
sudo apt update sudo apt install python3
步骤1:创建mcp服务器
- 安装mcp软件包。
pip install mcp
- 创建mcp服务器。
参考以下代码示例创建名为mcp_test.py的服务器。
# mcp_test.py from mcp.server.fastmcp import fastmcp mcp = fastmcp(host="0.0.0.0", stateless_http=true, port=8000) @mcp.tool() def add(a: float, b: float) -> float: """add two numbers""" return a b @mcp.tool() def subtract(a: float, b: float) -> float: """subtract two numbers""" return a - b @mcp.tool() def multiply(a: float, b: float) -> float: """multiply two numbers""" return a * b @mcp.tool() def divide(a: float, b: float) -> float: """divide two numbers""" if abs(b) < 1e-9: raise valueerror("division by zero") return a / b if __name__ == "__main__": mcp.run(transport="streamable-http")代码解释
- fastmcp:创建可以托管工具的mcp服务器。
- tools:工具,展示不同类型的操作。
- @mcp.tool():将python函数转换为mcp工具的装饰器。
- stateless_http=true:将服务器配置为无状态模式。
步骤2:在本地测试mcp服务器
- 启动mcp服务器。
python mcp_test.py
看到输出信息后,表明服务器正在8000端口上运行。
- 使用curl命令进行客户端测试。
示例如下:
# 获取工具列表 curl -x post http://127.0.0.1:8000/mcp \ -h "content-type: application/json" \ -h "accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' # 调用工具 curl -x post http://127.0.0.1:8000/mcp \ -h "content-type: application/json" \ -h "accept: application/json, text/event-stream" \ -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "add", "arguments": {"a": 3, "b": 5} } }' 注意 streamable http 要求客户端 accept 头必须同时包含 application/json 和 text/event-stream,否则服务器返回 406 not acceptable。
步骤3:将mcp服务器部署到agentarts
- 在本地自主开发mcp并打包成镜像,并将打包的镜像上传至容器镜像服务。
- 部署智能体运行时,部署时“入栈协议”请选择为“mcp”,具体请参考通过控制台部署智能体运行时。 图1 部署智能体运行时
步骤4:调用已部署的mcp服务器
- 登录。
- 在左侧导航栏选择“部署运行 > 智能体运行时 ”。
- 在列表单击已创建好的智能体运行时名称,进入智能体运行时详情页。
- 在“基本信息”区域即可查看“访问域名”。 图2 获取访问域名
- 使用api调用智能体运行时
使用api调用智能体运行时的操作,请参考。
streamable http 要求客户端accept头必须同时包含application/json和text/event-stream,否则服务器返回406 not acceptable。
父主题:
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好! 您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨