MCP 简介
MCP(Model Context Protocol)是一种开放协议,它标准化了应用程序向大语言模型提供上下文的方式。可以把 MCP 视为 AI 应用的 USB-C 端口:就像 USB-C 统一了设备连接标准一样,MCP 让 AI 模型能便捷地连接到各种数据源和工具。
架构概览
- MCP 主机:希望访问数据的程序,如 Claude Desktop、IDE 或 AI 工具。
- MCP 客户端:与服务器保持 1:1 连接的协议客户端。
- MCP 服务器:轻量级程序,通过标准化协议公开特定功能。
- 本地/远程数据源:服务器可安全访问的文件、数据库或外部 API。
环境准备
在开始之前,请确保你的开发环境满足以下要求:
- Node.js 版本:建议 >= 18.20.4。版本过低可能导致
npx命令无法执行。 - 高德 API Key:需要申请
AMAP_MAPS_API_KEY。文档地址:高德地图 MCP 服务。
Python SDK 实现
我们主要使用 Python SDK 来演示如何调用高德地图的天气查询工具。首先安装依赖:
pip install mcp
接下来是核心代码。这里要注意环境变量中填入你申请到的 Key,实际运行时如果网络不通或 Key 无效会抛出异常。
import asyncio
from mcp import ClientSession, StdioServerParameters, types
from mcp.client.stdio import stdio_client
server_params = StdioServerParameters(
command="npx",
args=["-y", "@amap/amap-maps-mcp-server"],
env={"AMAP_MAPS_API_KEY": "your_api_key_here"}
)
async def run():
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
print("工具列表:", tools)
result = session.call_tool(, arguments={: })
(, result)
__name__ == :
asyncio.run(run())


