MCP 简介
MCP(Model Context Protocol)是一种开放协议,旨在标准化应用程序向 LLM 提供上下文的方式。你可以把它理解为 AI 应用的 USB-C 接口,让模型能方便地连接各种数据源和工具。
核心架构
- MCP 主机:如 Claude Desktop、IDE 或 AI 工具,希望访问数据的程序。
- MCP 客户端:与服务器保持 1:1 连接的协议客户端。
- MCP 服务器:轻量级程序,通过标准协议公开特定功能。
- 数据源:包括本地文件、数据库以及远程 API 服务。
环境准备
在开始之前,请确保你的开发环境满足以下要求:
- Node.js 版本需 >= 18.20.4,否则
npx命令可能无法正常运行。 - 获取高德地图 API Key(申请地址:高德地图 MCP 服务文档)。
Python 客户端实现
首先安装 SDK:
pip install mcp
下面是完整的调用示例。这段代码展示了如何初始化会话、列出可用工具并调用天气查询接口。注意环境变量中填写你的实际 API 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 = await session.call_tool("maps_weather", arguments={: })
(, result)
__name__ == :
asyncio.run(run())



