Python实现 MCP 客户端调用(高德地图 MCP 服务)查询天气示例

Python实现 MCP 客户端调用(高德地图 MCP 服务)查询天气示例

文章目录

MCP 官网

MCP 官方文档中文版

官方 MCP 服务示例

Github

MCP 市场

在这里插入图片描述

https://mcpmarket.cn/

在这里插入图片描述

https://mcp.so/zh

在这里插入图片描述

简介

MCP 是一种开放协议,它标准化了应用程序向 LLM 提供上下文的方式。可以将 MCP 视为 AI 应用程序的 USB-C 端口。正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一种将 AI 模型连接到不同数据源和工具的标准化方式。

架构

  • MCP 主机:希望通过 MCP 访问数据的程序,例如 Claude Desktop、IDE 或 AI 工具
  • MCP 客户端:与服务器保持 1:1 连接的协议客户端
  • MCP 服务器:轻量级程序,每个程序都通过标准化模型上下文协议公开特定功能
  • 本地数据源:MCP 服务器可以安全访问的您的计算机文件、数据库和服务
  • 远程服务:MCP 服务器可通过互联网(例如通过 API)连接到的外部系统

高德地图 MCP 客户端示例

注:Node版本 >= 18.20.4 ,版本太低无法执行 npx 命令。
  • 高德 MCP 服务 tools 列表

高德地图文档(申请 AMAP_MAPS_API_KEY):https://lbs.amap.com/api/mcp-server/summary

在这里插入图片描述
{"tools":[{"description":"根据城市名称或者标准adcode查询指定城市的天气","inputSchema":{"properties":{"city":{"type":"string","description":"城市名称或者adcode"}},"required":["city"],"type":"object"},"name":"maps_weather"},{"description":"查询关键词搜或者周边搜获取到的POI ID的详细信息","inputSchema":{"properties":{"id":{"type":"string","description":"关键词搜或者周边搜获取到的POI ID"}},"required":["id"],"type":"object"},"name":"maps_search_detail"},...]}

python-sdk 客户端

pip install 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":"xxxxx"})asyncdefrun():asyncwith stdio_client(server_params)as(read, write):asyncwith ClientSession(read, write)as session:await session.initialize() tools =await session.list_tools()print("工具列表:", tools) result =await session.call_tool("maps_weather", arguments={"city":"福州"})print("调用结果:", result)if __name__ =="__main__": asyncio.run(run())
在这里插入图片描述

java-sdk 客户端

<!-- https://mvnrepository.com/artifact/io.modelcontextprotocol.sdk/mcp --><dependency><groupId>io.modelcontextprotocol.sdk</groupId><artifactId>mcp</artifactId><version>0.8.1</version></dependency>
// https://mvnrepository.com/artifact/io.modelcontextprotocol.sdk/mcp implementation("io.modelcontextprotocol.sdk:mcp:0.8.1") 
importio.modelcontextprotocol.client.McpClient;importio.modelcontextprotocol.client.McpSyncClient;importio.modelcontextprotocol.client.transport.ServerParameters;importio.modelcontextprotocol.client.transport.StdioClientTransport;importio.modelcontextprotocol.spec.McpSchema;importorg.junit.jupiter.api.Test;importjava.util.Map;publicclassJunitTest{@Testpublicvoidtest(){ServerParameters params =ServerParameters.builder("npx").args("-y","@amap/amap-maps-mcp-server").addEnvVar("AMAP_MAPS_API_KEY","xxxxx").build();StdioClientTransport transport =newStdioClientTransport(params);McpSyncClient client =McpClient.sync(transport).build(); client.initialize();McpSchema.ListToolsResult toolsList = client.listTools();System.out.println("工具列表:"+ toolsList);McpSchema.CallToolResult mapsWeather = client.callTool(newMcpSchema.CallToolRequest("maps_weather",Map.of("city","福州")));System.out.println("调用结果:"+ mapsWeather.content());}}
在这里插入图片描述

Read more

Trae IDE 终极指南:从入门到精通,释放你的 AI 编程潜力(上)

Trae IDE 终极指南:从入门到精通,释放你的 AI 编程潜力(上)

💡 就像选择手机一样:iPhone 简洁易用,Android 功能丰富。Trae 和 Cursor 也是如此——一个是"开箱即用的 iPhone",一个是"高度定制的 Android"。本文将帮你找到最适合自己的 AI 编程助手! 在当今的软件开发领域,AI 编程助手已成为提升效率、激发创意的关键工具。而 Trae IDE 作为一款为开发者量身打造的智能开发环境,其强大的模型管理功能,更是让它在众多工具中脱颖而出。无论你是想快速上手,还是希望深度定制,Trae 都能满足你的需求。 本文将作为你的终极向导,带你深入探索 Trae IDE 的模型世界,从轻松切换内置模型,到添加和管理你自己的专属模型,助你将 Trae 的能力发挥到极致。 📑 文章目录 第一部分:基础入门 🎯 1.

By Ne0inhk
嵌入式AI?

嵌入式AI?

就当做嵌入式的一个外设来看待就行了。  什么是嵌入式AI 嵌入式 AI(Embedded AI)是指将人工智能技术与算法集成到嵌入式系统中,使设备能够在本地(无需依赖云端服务器)实现数据处理、分析和决策的技术形态。它融合了嵌入式系统的实时性、低功耗特性与AI 的智能化能力,让传统硬件设备具备 “边端智能”,适用于对响应速度、隐私保护、网络依赖性要求高的场景。 核心特点 本地化运行 无需联网即可完成数据处理和决策,避免网络延迟和断网风险(如自动驾驶汽车在隧道中实时避障)。 保护用户隐私:敏感数据(如人脸、医疗信息)无需上传云端,直接在设备端处理。 低功耗与轻量化 受限于嵌入式设备的算力和电池容量(如智能手环、智能家居设备),需对 AI 模型进行压缩优化(如模型剪枝、量化、知识蒸馏),使其适配低功耗芯片(如 ARM 处理器、NPU 神经处理单元)。 实时性与可靠性 适用于对延迟敏感的场景(如工业机器人实时抓取、智能摄像头动态追踪)

By Ne0inhk

用 OpenClaw + 飞书,快速搭建 5 个可协作的 AI 助理团队

多个飞书机器人 + 独立工作空间 + 互相协作 = 专业化分工的 AI 助理团队 写在前面 如何用 OpenClaw 搭建一套多 Agent 系统,让 AI 助理各司其职、协同工作?通过 OpenClaw 多 Agent 架构,你可以实现: * 多个独立的飞书机器人,每个人设不同 * 各自独立的工作空间,数据完全隔离 * 可以互相协作,通过 agentToAgent 通信 * 共享长期记忆,跨渠道信息同步 本文将详细介绍如何在腾讯云服务器上,用 OpenClaw 搭建一套飞书多 Agent 系统,包括完整配置流程、常见问题解决方案和实战协作案例。 目录 1. 为什么需要多 Agent 2. 前置准备 3. 5 个 Agent

By Ne0inhk
医疗AI场景下算法编程的深度解析(2026新生培训讲稿)(一)

医疗AI场景下算法编程的深度解析(2026新生培训讲稿)(一)

前言 人工智能正在重塑医疗健康领域的每一个角落。从辅助医生解读医学影像,到为患者提供个性化的健康管理建议,再到优化医疗系统的运营效率,AI技术正以前所未有的深度和广度融入现代医学的肌体之中。 然而,技术的落地从来不是一帆风顺的。医疗AI面临着一系列独特的挑战:数据的高敏感性与隐私保护要求、模型决策的可解释性需求、临床场景中对准确率的严苛标准,以及日益复杂的法规监管环境。这些挑战要求从业者不仅掌握算法原理,更要理解医疗场景的特殊性,懂得如何在真实世界中构建可靠、安全、可落地的AI系统。 2026开学教程旨在为医疗AI领域的算法工程师、数据科学家、医工交叉研究人员提供一份从理论到实践的完整指南。我们将从医疗AI的发展脉络出发,深入解析k-近邻、逻辑回归、决策树、随机森林、支持向量机、Boosting等经典机器学习算法在医疗场景中的应用,并通过大量实战案例展示从数据处理到模型部署的全流程。 特别地,我们将医疗数据的特殊性贯穿全教程:小样本问题、类别不平衡、多模态融合、可解释性要求——这些在通用AI领域或许可以妥协的问题,在医疗领域必须直面并解决。 本书历时一年完成,感谢所有为本书贡

By Ne0inhk