Python 调用高德地图 MCP 服务查询天气示例
MCP(Model Context Protocol)是一种开放协议,旨在标准化应用程序向大语言模型提供上下文的方式。你可以把它理解为 AI 应用的 USB-C 端口,让模型能够安全、统一地连接各种数据源和工具。
环境准备
在开始之前,请确保你的开发环境满足以下要求:
- Node.js: 版本需 >= 18.20.4。旧版本可能无法稳定执行
npx命令,导致服务器启动失败。 - API Key: 需要申请高德地图的
AMAP_MAPS_API_KEY,具体文档可参考 高德地图 MCP 服务文档。
Python SDK 实现
首先安装官方 Python SDK:
pip install mcp
接下来编写客户端代码。这里我们使用 stdio_client 来启动高德地图的 MCP 服务器,并初始化会话。
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())


