MCP(Model Context Protocol)基础和示例
MCP(Model Context Protocol,模型上下文协议)是由 Anthropic 推出的,是 AI 模型 / Agent 与外部工具、数据源交互的。MCP最初由,主要用于claude模型;2025 年 3 月,,随后 Google、微软、百度等主流厂商跟进,MCP 从 Anthropic 专属协议升级为。2025 年 12 月 10 日,Anthropic 将 MCP 捐赠给,实现。
一.MCP介绍
MCP(Model Context Protocol,模型上下文协议)是由 Anthropic 推出的开放通信协议,是 AI 模型 / Agent 与外部工具、数据源交互的标准化接口。
MCP最初由 Anthropic 于 2024 年 11 月 25 日正式发布 1.0 版,主要用于claude模型;2025 年 3 月,OpenAI 宣布兼容 MCP,随后 Google、微软、百度等主流厂商跟进,MCP 从 Anthropic 专属协议升级为跨厂商通用标准。2025 年 12 月 10 日,Anthropic 将 MCP 捐赠给 Agent AI 基金会(AAIF),实现社区共治。
Agent 的工具调用能力依赖 MCP 实现:MCP 让 Agent 能安全、标准地调用数据库、API、文件系统、代码执行器等外部能力。没有 MCP,Agent 只能做纯文本生成,无法与现实世界交互、执行实际操作。MCP通过定义统一的工具调用、资源访问、上下文传递规范,实现一次开发、多模型 / Agent 通用。
协同工作流程示例
- 用户给 Agent 下达目标(如 “整理下载文件夹并生成报告”)。
- Agent 用 LLM 做规划:拆解为 “读取文件 → 分类 → 移动 → 生成报告”。
- Agent 通过 MCP Client 向 MCP Server 发送工具调用请求(如
list_files、move_file)。 - MCP 执行操作并返回结果,Agent 接收后继续规划 / 执行,直至完成目标。
MCP 采用 Client‑Host‑Server 三层架构,核心是 MCP Server(能力提供者) 与 MCP Tool(可执行能力单元);Server 封装外部能力并暴露为标准化 Tool,让 Agent 安全、统一地调用。
MCP Host(主机)用于接收用户指令,驱动 Agent 做规划与决策。创建、管理 MCP Client 实例,控制权限与会话生命周期Model Context Protocol。聚合 Server 返回结果,生成最终输出。
MCP Client(客户端)与 Server 建立 1:1 会话,做能力协商(Capability Negotiation)Model Context Protocol。将 Agent 的工具调用指令转为 JSON‑RPC 2.0 标准请求。接收 Server 响应并解析,返回给 Host/Agent。
MCP Server 是遵循 MCP 协议的轻量级服务,负责封装并标准化暴露外部能力,是 Agent 与现实世界交互的 “桥梁”。把非标准化的外部能力(如文件读写、SQL 查询、API 调用)转为 MCP 标准接口。统一提供 Resources、Tools、Prompts 三类能力,实现 “一次开发、多模型通用”。
MCP Tool 是 MCP Server 暴露的可执行能力单元,是 Agent 能直接调用的 “功能按钮”,每个 Tool 有唯一标识 schema,所有 Tool 遵循统一 schema,Agent 可自动发现与调用。
一个 MCP Server 包含多个 MCP Tool(如文件 Server 包含读、写、移动等多个 Tool)
Agent → MCP Client → MCP Server → MCP Tool → 外部系统 → 结果返回。
二.基于Cline的MCP简单使用
Cline 是 Cursor 基于 Claude Code 打造的、深度集成 MCP 协议的本地代码智能助手(CLI 工具),核心目标是 “让开发者在终端里用自然语言完成所有代码相关操作。
Cline 的核心价值:以终端为入口,通过 MCP 协议让 AI 直接操作本地文件 / 工具,把 Claude Code 的云端能力 “落地” 到开发者的本地工作流中。
Cline的安装很简单,在VSCODE的扩展直接搜索安装即可。然后可以免费使用,个人使用智谱的APIkey,主要是比较便宜且方便。
https://www.bigmodel.cn/glm-coding?ic=FWDIYV5TGM


配置完成后可以按照需求直接在cline内安装MCP server,类似应用商店

创建一个使用OpenWeatherMap的MCP服务器来查询天气信息
## MCP服务器设计方案
### 项目概述
创建一个MCP(Model Context Protocol)服务器,通过OpenWeatherMap API提供天气查询功能。### 技术架构
**语言选择:** Python
**核心组件:**
1. MCP服务器框架 - 使用 `mcp` Python SDK
2. OpenWeatherMap API集成
3. 天气数据解析和格式化### 功能设计
**工具(Tools):**
1. `get_current_weather` - 获取当前天气
- 参数:城市名称、国家代码(可选)
- 返回:温度、湿度、天气状况等2. `get_forecast` - 获取天气预报(5天/3小时)
- 参数:城市名称、国家代码(可选)
- 返回:未来几天的天气预测3. `get_weather_by_coords` - 通过坐标获取天气
- 参数:纬度、经度
- 返回:该位置的天气信息**资源(Resources):**
- OpenWeatherMap API使用说明
- 天气图标参考### 实现步骤
1. **项目初始化**
- 创建新的目录结构
- 安装必要的依赖包(`mcp`, `requests`, `python-dotenv`)2. **OpenWeatherMap API配置**
- 注册获取免费API密钥
- 创建 `.env` 文件存储密钥3. **MCP服务器核心实现**
- 初始化MCP服务器
- 注册天气查询工具
- 实现API调用逻辑4. **数据处理**
- 解析OpenWeatherMap JSON响应
- 格式化为易读的输出
- 添加中文支持5. **配置文件**
- `pyproject.toml` - 项目元数据和依赖
- `.env.example` - 环境变量模板
- `README.md` - 使用说明### 项目结构
```
weather-mcp-server/
├── src/
│ └── weather_mcp/
│ ├── __init__.py
│ ├── server.py # MCP服务器主文件
│ └── openweather.py # OpenWeatherMap API封装
├── .env # API密钥(不提交)
├── .env.example # 环境变量模板
├── pyproject.toml # 项目配置
├── requirements.txt # Python依赖
└── README.md # 使用说明
```
当然也可以选择自己去github搜索对应的安装方法,或者在mcp.so网站中寻找(自备梯子),Cline中点击下面的Configure MCP servers

MCP Server 主要支持以下两种传输类型:
-
标准 IO (Stdio)
- 这是一种基于标准输入输出流的传输方式。
- 通常用于本地进程间的通信,例如在控制台应用中实现。开发者可以通过标准 IO 将 AI 模型与本地工具或数据源直接连接。
-
SSE (Server-Sent Events)
- 这是一种基于 HTTP 协议的传输方式,允许服务器向客户端单向、实时地推送数据流。
- 适用于远程服务或云端托管架构。通过 SSE,开发者无需在本地部署服务,只需配置 URL 即可实现 AI 模型与远程 MCP Server 的长连接通信,适合需要零运维或自动升级的场景。
更多推荐



所有评论(0)