什么是MCP
大模型和外部工具交互的标准化协议,官方网址:https://modelcontextprotocol.io/docs/getting-started/intro
模型上下文协议(MCP ModelContextProtocol)正迅速成为AI领域的核心基础设施标准,它通过标准化大语言模型与外部工具的交互方式,解决了AI应用开发中的关键瓶颈,推动了智能体从实验室走向商业化的进程。这一由Anthropic于2024年11月开源的协议,已被OpenAI、阿里云、腾讯、字节跳动等全球科技巨头广泛采纳,形成了一场静默的AI革命。MCP的流行不仅源于其技术创新,更在于它满足了AI产业从单体智能向互联网络转变的迫切需求,为AI应用的规模化落地提供了关键支撑。
可以将 MCP 想象成用于 AI 应用程序的 USB-C 端口。正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 也提供了一种将 AI 模型连接到不同数据源和工具的标准化方式。

MCP原理
MCP的核心原理

MCP服务应用

MCP 的核心原理是将互联网服务(高德、谷歌)或本地操作系统 API(文件系统、数据库、终端)封装成 AI 智能体能够理解和使用的 Tools 工具,让 AI 智能体能够自由地调用这些 Tools 工具实现复杂的业务逻辑和功能。
我们可以在ModelScope市面上的一些各个方面的MCP服务,地址:https://modelscope.cn/mcp
MCP的优势
解决了智能体开发过程中的关键效率问题
MCP之所以迅速火爆,首先在于它解决了AI应用开发中的关键痛点。传统模式下,大模型与外部工具的集成需要为每个工具单独开发接口,形成了”M个智能体×N个工具“的复杂度。
MCP通过标准化交互规则,将复杂的”M×N”集成简化为”M+N”模式,使开发者只需遵循协议标准,就能实现AI模型与各类工具的即插即用。这种标准化不仅降低了开发门槛,还提高了系统的可扩展性和互操作性。
基于MCP的智能体架构
graph TD
A[智能体] --> B[大模型]
A --> C[工具]
C --> D[本地工具 Function]
C --> E[远程工具 MCP]
E --> F[远程MCP Server]
E --> G[本地MCP Server]
MCP服务接入示例
接入MCP核心包
1 | 用于自定义MCP开发服务 |
langchain-mcp-adapters介绍
该库提供了一个轻量级包装器,使 Anthropic 模型上下文协议 (MCP) 工具与 LangChain 和 LangGraph 兼容。
作用
- 🛠️ 将 MCP 工具转换为可与 LangGraph 代理一起使用的 LangChain 工具
- 📦 允许您连接到多个 MCP 服务器并从中加载工具的客户端实现
本地运行的 mcp 服务
- 要操作本地电脑的资源,只能运行为本地的 mcp 服务
- playwriht MCP
部署的在服务器(电脑设备)上面MCP
- 不需要直接操作本地电脑资源去完成的任务
- 提供相关数据(获取 XX 网上的酒店数据,获取天气数据)
高德MCP服务接入与智能体
高德MCP服务介绍,官方地址:https://lbs.amap.com/api/mcp-server/summary
第一步:MCP客户端开发
安装依赖:
pip install langchain-mcp-adapters获取高德应用key: https://lbs.amap.com/api/mcp-server/create-project-and-key
开发高德mcp客户端
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35# @Time:2025/9/16 15:40
# @Author:jinglv
import asyncio
import os
from dotenv import load_dotenv
# 加载 .env 文件中的变量
load_dotenv()
from langchain_mcp_adapters.client import MultiServerMCPClient
async def create_amap_mcp_client():
"""创建MCP客户端"""
amap_key = os.environ.get("AMAP_KEY")
client = MultiServerMCPClient({
"amap": {
"url": f"https://mcp.amap.com/sse?key={amap_key}",
"transport": "sse",
}
})
tools = await client.get_tools()
return client, tools
if __name__ == '__main__':
client, tools = asyncio.run(create_amap_mcp_client())
print('-------------------------------查看是否创建完成客户端------------------------')
print(client)
print('-------------------------------查看提供的工具有哪些------------------------')
print(tools)
第二步:创建智能体,集成MCP工具
- 获取mcp tools
- 创建智能体
- 异步运行智能体
1 | # @Time:2026/1/4 10:31 |
基于高德MCP的复杂路径规划+可视化展示
增加文件工具及扩展智能体工具,文件工具需要安装依赖:pip install langchain_community
1 | # @Time:2026/1/4 10:31 |