一.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 通用

协同工作流程示例

  1. 用户给 Agent 下达目标(如 “整理下载文件夹并生成报告”)。
  2. Agent 用 LLM 做规划:拆解为 “读取文件 → 分类 → 移动 → 生成报告”。
  3. Agent 通过 MCP Client 向 MCP Server 发送工具调用请求(如 list_filesmove_file)。
  4. 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 主要支持以下两种传输类型:

  1. 标准 IO (Stdio)

    • 这是一种基于标准输入输出流的传输方式。
    • 通常用于本地进程间的通信,例如在控制台应用中实现。开发者可以通过标准 IO 将 AI 模型与本地工具或数据源直接连接。
  2. SSE (Server-Sent Events)

    • 这是一种基于 HTTP 协议的传输方式,允许服务器向客户端单向、实时地推送数据流。
    • 适用于远程服务或云端托管架构。通过 SSE,开发者无需在本地部署服务,只需配置 URL 即可实现 AI 模型与远程 MCP Server 的长连接通信,适合需要零运维或自动升级的场景。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐