Python 调用高德地图 MCP 服务查询天气实战
Model Context Protocol (MCP) 是一种开放协议,旨在标准化应用程序向大语言模型提供上下文的方式。你可以把它理解为 AI 应用的 USB-C 端口:就像 USB-C 统一了设备连接外设的标准一样,MCP 让 AI 模型能够以统一的方式连接到各种数据源和工具。
环境准备
在开始之前,我们需要确保本地环境满足以下要求:
- Node.js:版本需 >= 18.20.4,因为后续命令依赖
npx功能。 - 高德地图 API Key:申请
AMAP_MAPS_API_KEY,用于服务鉴权。 - Python SDK:安装
mcp库。
pip install mcp
Python 客户端实现
核心思路是启动一个 StdioServerParameters 指向高德 MCP 服务器,然后通过 ClientSession 进行会话初始化与工具调用。下面是一个完整的异步示例:
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def run():
# 配置服务端参数,指定 npx 执行高德 MCP 服务
server_params = StdioServerParameters(
command="npx",
args=["-y", "@amap/amap-maps-mcp-server"],
env={"AMAP_MAPS_API_KEY": "YOUR_API_KEY_HERE"}
)
# 建立标准输入输出通道
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())


