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

【深度学习】大模型MCP工作流原理介绍、编写MCP

https://www.dong-blog.fun/post/2127

有用的资料:

https://modelcontextprotocol.io/llms-full.txt

https://modelcontextprotocol.io/introduction

https://github.com/punkpeye/awesome-mcp-servers/blob/main/README-zh.md#what-is-mcp

https://mcp.so/

https://github.com/modelcontextprotocol/servers

理解 MCP 协议

MCP 是什么?

MCP(Model Context Protocol)是一个开放协议,用于在 AI 应用程序(如 LLMs)与外部数据源和工具之间建立标准化连接。你可以将它类比为 USB-C 接口:统一了不同设备之间的连接方式。

核心概念:

  • MCP Server:提供对本地数据、工具、API 的访问。
  • MCP Client:由 AI 应用使用,连接到 MCP Server。
  • Transport:消息传输机制,如 stdioSSE
  • Tools:定义可被调用的功能(如天气查询、文件操作)。
  • Resources:表示可读取的数据资源(如文档、数据库记录)。
  • Prompts:支持模板化的提示词管理。

启动 MCP Server

创建一个 MCP Server,暴露一些工具(Tools)。

from mcp.server.fastmcp import FastMCP
import asyncio# 创建 MCP Server 实例
mcp = FastMCP("my-tool-server")# 定义一个 Tool(工具)
@mcp.tool(annotations={"title": "Calculate Sum","description": "Add two numbers together.","readOnlyHint": True,"openWorldHint": False}
)
async def calculate_sum(a: float, b: float) -> str:return str(a + b)# 启动服务器
if __name__ == "__main__":asyncio.run(mcp.start())

AI 应用作为 MCP Client 发起请求

比如用户输入类似这样的指令:

我需要把 3 和 5 加起来,请帮我算一下。
  1. AI 模型识别到需要调用工具,于是向 MCP Client 发送调用指令。
  2. MCP Client(比如 Claude Desktop)将这个请求通过 JSON-RPC 协议发送给你的 Python 编写的 MCP Server。
  3. 你的 Python 服务收到请求后执行 calculate_sum(3, 5),返回结果 “8”。
  4. 结果再通过 MCP Client 返回给 AI 模型,最终展示给用户。

这个过程是这样的:

User LLM MCPClient MCP_Server 输入问题:"10+20等于多少?" 查询可用工具 tools/list 返回工具列表(含 calculate_sum) 提供工具信息 决定调用 calculate_sum 工具,附带参数 a=10, b=20 发送 JSON-RPC 请求 {"a":10, "b":20} 执行 calculate_sum 函数 返回结果 "30" 将结果交给 LLM 输出自然语言回复:"10+20的结果是30" User LLM MCPClient MCP_Server
http://www.xdnf.cn/news/10782.html

相关文章:

  • 谷歌地图2022高清卫星地图手机版v10.38.2 安卓版 - 前端工具导航
  • 小白的进阶之路系列之十一----人工智能从初步到精通pytorch综合运用的讲解第四部分
  • Franka科研新力量——基于异构预训练Transformer的扩展研究
  • 智能氮气柜的发展历程和前景展望
  • 从基础原理到Nginx实战应用
  • 架构设计的目标:高内聚、低耦合的本质
  • Pointer Network
  • FreeRTOS,其发展历程详细时间线、由来、历史背景
  • STM32学习之WWDG(原理+实操)
  • Go基础|map入门
  • 2025 Java面试大全技术文章(面试题1)
  • ABP-Book Store Application中文讲解 - Part 6: Authors: Domain Layer
  • (三)动手学线性神经网络:从数学原理到代码实现
  • C++初识—面向对象
  • JavaScript async/await指南
  • 亚远景科技助力东风日产通过ASPICE CL2评估
  • 【数据中心设计】
  • Vehicle HAL(3)--VehicleHalManager 分析
  • 【2025年B卷】OD-100分-斗地主之顺子
  • OD 算法题 B卷【跳格子2】
  • MTK的Download agent是什么下载程序?
  • 网络编程(计算机网络基础)
  • MyBatis 的动态 SQL
  • vSOME/IP与ETAS DSOME/IP通信的问题解决方案
  • malloc 内存分配机制:brk 与 mmap
  • MATLAB实战:四旋翼姿态控制仿真方案
  • AcWing 843:n-皇后问题 ← dfs
  • day45 python预训练模型
  • 机器学习——主成分分析(PCA)
  • React进阶:状态管理选择题