MCP入门实战(极简案例)

MCP简介

MCP(Model Context Protocol,模型上下文协议)2024年11月底由 Antbropic 推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通信协议。
在这里插入图片描述

Function Calling是AI模型调用函数的机制,MCP是一个标准协议,使AI模型与API无缝交互,而Al Agent是一个自主运行的智能系统,利用FunctionCallinq和MCP来分析和执行任务,实现特定目标。

Function Calling 现在基本上被淘汰了,现在几乎全部都用MCP了。

MCP通信机制

MCP 协议支持三种主要的通信机制:

  1. 基于标准输入输出的本地通信(stdio),这个通信协议企业中不会用。
  2. 基于SSE(Server-Sent Events)的远程通信。是一种基于HTTP协议的单向通信协议,允许服务器以事件流的形式实时向客户端推送数据,而无需客户端明确请求。MCP中的SSE Transport结合了SSE技术和HTTP POST
  3. Streamable HTTP是MCP协议推荐的下一代传输机制(2025年3月26日),基于标准HTTP协议实现动态流式升级的传输方式,它移除了专用SSE端点,所有消息通过端点传输,服务器可根据需要将普通HTTP请求升级为SSE流,支持流式响应。
HTTP+SSE的缺陷
  1. 不支持恢复连接
    如果客户端和服务器之间的 sSE 连接中断了,就无法“从端点继续”,只能重新开始新的连接,之前的上下文可能会丢失。

  2. 要求服务器保持高可用的长连接
    服务器必须一直保持一个稳定、不中断的sSE长连接,否则通信就中断。

  3. 服务器只能通过ss发送消息
    服务器无法在已有的请求之外,主动地发送消息给客户端,除了通过专门的/sse 通道,换句话说,它是“单向被动响应”而不是“任意时机推送”。

MCP架构

在这里插入图片描述

MCP工作流程

在这里插入图片描述

代码实战

mcp server
# 导入FastMCP库 - 用于快速构建MCP服务器的Python框架
from fastmcp import FastMCP

# 创建MCP服务器实例
# name='test_mcp': 服务器名称(在客户端连接时显示)
# instructions="测试mcp": 服务器功能描述(帮助AI理解服务器用途)
mcp_server = FastMCP(name='test_mcp', instructions="测试mcp")

# 使用装饰器注册工具函数
# @mcp_server.tool(): 声明下面的函数是MCP工具
# 工具:让AI模型能调用的外部功能(如计算器、数据库查询等)
@mcp_server.tool()
def 
<think>好的,用户想找MCP入门的示例或教程。首先,我需要确认MCP指的是什么。根据提供的引用内容,MCP可能是指某种服务器开发框架,比如Microservice Communication Protocol或者某个特定厂商的解决方案。引用中提到MCP Python SDK和官网的例子,说明官方文档和示例是主要资源。 接下来,用户可能需要具体的步骤来开始项目。引用[1]提到准备和项目初始化,引用[2]建议学习demo然后生成新的server。所以,我应该分步骤引导用户,从环境准备到项目初始化,再到运行示例代码。 用户可能遇到的问题包括如何安装SDK、如何配置环境,以及如何扩展demo。需要确保推荐的学习路径清晰,比如先看官方文档,再运行示例,最后自行开发。同时,生成相关问题时,要考虑用户可能的后续疑问,比如环境配置问题或应用场景。 要注意回答结构清晰,使用中文,并正确引用提供的资料。确保所有数学公式和代码块格式正确,虽然当前问题可能不涉及数学公式,但需要遵循系统指令。最后,生成的相关问题要帮助用户深入学习和解决实际问题。</think>### MCP Server入门教程及示例指引 根据现有资料,MCP Server入门学习可以通过以下步骤实现: 1. **环境准备** - 安装Python 3.8+环境 - 通过pip安装MCP Python SDK:`pip install mcp-sdk`[^1] - 确认已安装Docker环境(部分功能需要容器化支持) 2. **项目初始化** ```python # 创建基础项目结构 from mcp import McpServer server = McpServer( config_path="./configs", log_level="INFO" ) server.initialize() ``` 3. **官方示例学习路径** - 官网提供的通信协议示例:`/demo/basic_communication` - 数据处理案例:`/demo/data_processing` - 容器化部署案例:`/demo/docker_deployment` 4. **自主开发建议** - 先运行所有demo观察日志输出 - 修改示例中的配置文件进行功能验证 - 使用SDK文档补充学习:`help(McpServer)` : 引用自MCP官方入门教程 [^2]: 基于用户提供的cursor学习方案
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SunnyRivers

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值