Model Context Protocol (MCP) 标准化了 AI 应用与外部工具的交互方式,相当于为 LLM 提供了 USB-C 接口。通过 MCP,我们可以让模型安全地访问本地文件或远程服务。这里以高德地图天气查询为例,演示如何使用 Python SDK 构建客户端并调用 MCP 服务器。
环境准备
运行 MCP 客户端需要 Node.js 环境,建议版本不低于 18.20.4,否则可能无法执行 npx 命令。此外,你需要从高德开放平台申请 AMAP_MAPS_API_KEY。
官方文档参考:
Python 客户端实现
安装依赖后,核心逻辑是通过 StdioServerParameters 配置启动参数,利用 mcp-python-sdk 建立会话。
import asyncio
from mcp import ClientSession, StdioServerParameters
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(
,
arguments={: }
)
(, result)
__name__ == :
asyncio.run(run())


