news 2026/4/23 13:36:07

Agno中使用MCP

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Agno中使用MCP

Agno中使用MCP

1 简介

模型上下文协议(MCP)能够通过标准化的接口与外部系统进行交互。使用Agno集成的MCP客户端,可以连接到任何MCP服务器。本文使用Agno连接MCP服务。

参考地址

# MCP服务 https://github.com/modelcontextprotocol/python-sdk # Agno中MCP调用 https://docs.agno.com/basics/tools/mcp/overview

安装MCP和Agno

pip install "mcp[cli]" pip install agno

2 实现MCP服务

MCP服务代码

mcp_server.py

frommcp.server.fastmcpimportFastMCP# 创建MCP,Demo是MCP名字mcp=FastMCP("Demo")# Add an addition tool@mcp.tool(# 默认工具的名称name="add",# 说明title="加法",# 详细描述,大模型解析description="加法",# 是否结构化输出structured_output=None)defadd(a:int,b:int)->int:"""Add two numbers"""print("加法")returna+b# Add a subtraction tool@mcp.tool()defsubtraction(a:int,b:int)->int:"""Add two numbers"""print("减法")returna-b# Add a dynamic greeting resource@mcp.resource("greeting://{name}")defget_greeting(name:str)->str:"""Get a personalized greeting"""returnf"Hello,{name}!"# Add a prompt@mcp.prompt()defgreet_user(name:str,style:str="friendly")->str:"""Generate a greeting prompt"""styles={"friendly":"Please write a warm, friendly greeting","formal":"Please write a formal, professional greeting","casual":"Please write a casual, relaxed greeting",}returnf"{styles.get(style,styles['friendly'])}for someone named{name}."# Run with streamable HTTP transportif__name__=="__main__":# 使用SSE# mcp.run(transport="sse")mcp.run(transport="streamable-http")

输出

3 使用Agno实现MCP客户端

mcp_client.py

importasynciofromtextwrapimportdedentfromagno.agentimportAgentfromagno.models.openaiimportOpenAILikefromagno.tools.mcpimportMCPToolsasyncdefrun_agent(message:str)->None:# 初始化工具# 使用SSE# mcp_tools = MCPTools(# transport="sse",# url="http://127.0.0.1:8000/sse"# )mcp_tools=MCPTools(transport="streamable-http",url="http://127.0.0.1:8000/mcp")# 连接MCPawaitmcp_tools.connect()# 打印工具print(mcp_tools)# 自定义模型model=OpenAILike(# 设置自定义模型名称id="llm-v1",api_key="EMPTY",# 自定模型地址base_url="http://192.168.0.106:8000/v1")try:# 智能体agent=Agent(model=model,tools=[mcp_tools],instructions=dedent("测试"),markdown=True,)# 运行智能体,并打印awaitagent.aprint_response(message,stream=True)finally:# 关闭服务awaitmcp_tools.close()if__name__=="__main__":# 调用加法asyncio.run(run_agent("1加1等多少"))# 调用减法asyncio.run(run_agent("1减1等多少"))

输出

4 使用MCP Inspector

启动服务,第一次会初始化配置。

mcp dev .\mcp_server.py

启动服务界面

MCP Inspector连接界面

MCP Inspector简单使用

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 0:05:46

5步解决Windows鼠标卡顿:从硬件到软件的全面优化指南

5步解决Windows鼠标卡顿:从硬件到软件的全面优化指南 【免费下载链接】Mos 一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板 | A lightweight tool used to smooth scrolling and set scroll direction independently fo…

作者头像 李华
网站建设 2026/4/23 10:47:59

打造个人股票智能监控平台:用插件化思维重构投资体验

打造个人股票智能监控平台:用插件化思维重构投资体验 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins 投资监控的痛点与破局思路 每个股民都经历过这样的窘境&#x…

作者头像 李华
网站建设 2026/4/23 10:46:51

Z-Image-Turbo远程协作:团队共享生成平台搭建教程

Z-Image-Turbo远程协作:团队共享生成平台搭建教程 1. 为什么你需要一个团队级AI绘图平台 你是不是也遇到过这些情况:设计师在本地跑Z-Image-Turbo,同事想看效果得等截图发微信;市场部同事想试试“夏日沙滩奶茶海报”&#xff0c…

作者头像 李华
网站建设 2026/4/23 10:44:47

UNet人脸融合键盘快捷键,提升操作效率

UNet人脸融合键盘快捷键,提升操作效率 1. 为什么你需要关注这些快捷键 你有没有过这样的体验:在WebUI界面里反复点击「开始融合」按钮,等结果时手指都点酸了?调整参数时来回拖动滑块,一不小心就滑过头,又…

作者头像 李华
网站建设 2026/4/22 13:20:02

GPEN社交媒体内容审核辅助:可疑图像复原探测部署尝试

GPEN社交媒体内容审核辅助:可疑图像复原探测部署尝试 1. 这不是修图软件,而是内容审核的“显微镜” 你有没有遇到过这样的情况:一张模糊、低分辨率、带噪点甚至被恶意涂抹的人脸图片,出现在社交平台的举报线索里?它可…

作者头像 李华
网站建设 2026/4/23 12:14:51

Speech Seaco Paraformer ASR部署教程:科哥构建版WebUI快速上手指南

Speech Seaco Paraformer ASR部署教程:科哥构建版WebUI快速上手指南 1. 模型与镜像简介 Speech Seaco Paraformer 是阿里达摩院 FunASR 系列中专为中文语音识别优化的高性能模型,基于 Paraformer 架构设计,在长语音建模、低资源场景鲁棒性、…

作者头像 李华