当前位置: 首页 > news >正文

MCP和FastMCP的使用

一、基础概念

1.mcp是什么

  • 模型上下文协议,实现LLM应用与外部数据源和工具之间的无缝集成

2.mcp消息交换协议

  • JSON-RPC 2.0
  • 好处:使用JSON作为数据格式,兼容各种编程语言、简单易用、轻量灵活

3.通信模式

(1)STDIO 模式

  1. STDIO是一种基于标准输入(stdin)和标准输出(stdout)的本地通信方式
  2. MCP客户端启动一个子进程(MCP Server),通过stdin和stdout交换JSON-RPC消息实现通信

(2)SSE 模式

        1.概念
  • SSE是一种基于HTTP协议的通信技术,允许Server主动实时向Client推送消息
        2.特点
  • 单向(仅Server →Client),严格的说,是一种HTTP Post(Client->Server) + HTTP SSE(Server->Client)的伪双工通信模式
  • 基于HTTP协议
  • 适合实时消息推送场景
        3.通信过程
  • 1.连接建立:Client首先请求建立SSE连接,Server“同意”后生成并推送唯一的Session ID
  • 2.请求发送:Client通过HTTP POST发送JSON-RPC2.0请求
  • 3.请求接收确认:Server接收请求后立即返回202(Accepted)状态码,表示已接受请求
  • 4.异步处理:Server应用框架会自动处理请求,根据请求中的参数,决定调用某个工具或资源
  • 5.结果推送:处理完成后,Server通过SSE通道推送JSON-RPC2.0响应,
  • 6.结果匹配:Client的SSE连接侦听接收到数据流后,会根据RequestID将接收到的响应与之前的请求匹配
  • 7.连接断开:在Client完成所有请求后,断开SSE连接,会话结束
        4.存在问题
  • 需要维护两个独立的连接端点
  • 有较高的连接可靠性要求。一旦SSE连接断开,Client无法自动恢复,需要重新建立新连接,导致上下文丢失
  • Server必须为每个Client维持一个高可用长连接,对可用性和伸缩性提出挑战
  • 强制所有Server向Client的消息都经由SSE单向推送,缺乏灵活性

(3)StreamableHTTP模式

        1.StreamableHTTP特性
  • 允许无状态的Server存在,不依赖长连接。有更好的部署灵活性与扩展能力
  • 对Server中间件的兼容性更好,只需要支持HTTP即可,无需做SSE处理
  • 允许根据自身需要开启SSE响应或长连接,保留了现有规范SSE模式的优势

二、FastMCP环境搭建

1.安装包

#安装包 pip install "mcp[cli]"

2.简单示例

# 导入这个包才能使用Inspector from mcp.server.fastmcp import FastMCP # 生产导入包 #from fastmcp import FastMCP mcp = FastMCP("Math") @mcp.tool() def add(a: int, b: int) -> int: """Add two numbers""" return a + b @mcp.tool() def multiply(a: int, b: int) -> int: """Multiply two numbers""" return a * b if __name__ == "__main__": mcp.run(transport="stdio")

3.Inspector方式启动

mcp dev server.py(python文件名) 如果是http模式,需要先启动服务端

4.官方网址

FastMCP框架网址: https://gofastmcp.com/servers/tools#advanced-metadata-with-field

三、通信模式代码示例

1.stdio模式

(1)服务端代码

from fastmcp import FastMCP mcp = FastMCP("Math") @mcp.tool() def add(a: int, b: int) -> int: """Add two numbers""" return a + b @mcp.tool() def multiply(a: int, b: int) -> int: """Multiply two numbers""" return a * b if __name__ == "__
http://www.jsqmd.com/news/338260/

相关文章:

  • 上海留学中介学生真实评价:哪家被上海学子夸得最多? - 博客湾
  • 完整教程:为突破上限我果断转用VMware ESXI7.0,使用后感觉ESXI7.0真的很香!(虚拟机使用进级篇)
  • 深入解析:C++的第十三天笔记
  • Java中的代码块
  • 25. 屏幕像素和纹理像素不匹配
  • 端侧识物+离线翻译轻量化模型选型表
  • 2026年评价高的冷却塔改造公司推荐:冷却塔改造、昆山良机冷却塔、圆形冷却塔、常州良机冷却塔、方型冷却塔、良机冷却塔厂家选择指南 - 优质品牌商家
  • 每天给AI写10000字小作文后,我学到了什么
  • 万物识物的模型规模、多国语言翻译的词库/模型体量在端侧本地模型可以放下吗?
  • APUE笔记:Standard I/O Library(五) - Invinc
  • 运维人别硬扛!转行网安,把熬夜受的气全找补
  • 2026年豆干品类推荐:四川圆豆豆食品麻辣/特色/圆豆豆/五香/泡椒/花椒豆干全系供应 - 品牌推荐官
  • Java中,方法/类的修饰符的书写位置
  • 2026年落地式篮球架厂家推荐:壁挂式篮球架/悬空式篮球架厂家精选 - 品牌推荐官
  • 2026年海光计算产品厂家推荐:北京集特智能科技有限公司,海光3450台式机/海光工控机/海光5380服务器等全系供应,适配政务办公、智能制造与数据中心多场景 - 品牌推荐官
  • 【必藏干货】AI Agent智能体架构设计全攻略:从理论到实战,构建企业级解决方案
  • 电脑提示msvcp140.dll缺失/报错?2026最新解决方法,小白也能1分钟搞定! - PC修复电脑医生
  • iPhone 13 Pro 深度解析:配色外观|核心参数|ProMotion 屏幕|影像与视频|续航与充电|官方维修手册要点|二手验机避坑清单(图文版)
  • “新”意十足 · HarmonyOS模板组件(本次上新:面包屑、验证码、超链接、签名、水印等组件)
  • 2026年昆山良机冷却塔厂家权威推荐榜:冷却塔改造/昆山良机冷却塔/常州良机冷却塔/方型冷却塔/良机冷却塔厂家/选择指南 - 优质品牌商家
  • iPhone 12 Pro 深度解析:配色外观|核心参数|摄影/视频|续航与MagSafe|维修手册要点|二手验机避坑清单(图文版)
  • 智慧城市、能源等优质学术会议分享!
  • 2026苏州婚纱摄影机构推荐:华纳婚纱摄影与姑苏区星纳摄影店,专业拍摄与礼服全解析 - 品牌推荐官
  • 一张图看懂网络空间安全:从网络层到应用层的“防护圈”都有哪些?
  • 2026年geo推广服务推荐:上海俐麸信息科技,本地geo/优化/AIgeo推广全链路解决方案 - 品牌推荐官
  • iPhone 12 深度解析:配色外观|核心参数|MagSafe/充电续航|维修手册要点|二手验机避坑清单(图文版)
  • MySQL 分库分表
  • 2026年展览展台搭建厂家推荐:重庆觉觅文化传播有限公司,展览制作/活动搭建一站式服务 - 品牌推荐官
  • 家用空气能取暖哪个牌子好?关键看这4 大核心要点! - 资讯焦点
  • 别再当“社会NPC”:Human 3.0 时代的 5 个颠覆性进化指南