Dify玩转MCP入门教程:接入高德地图MCP Server实战篇

1、什么是MCP协议?

MCP(Model Context Protocol,模型上下文协议)是由AI公司Anthropic于2024年11月提出的开放标准协议,旨在解决大模型与外部工具、数据源之间的交互难题。它通过统一的接口设计,将大模型与外部资源(如数据库、导航软件、办公工具等)无缝连接,被形象地称为“AI界的USB-C接口”。其核心思想是通过标准化协议,简化AI工具与数据源的对接方式,帮助大模型突破能力边界,成为真正具备上下文感知能力的智能体(Agent)。

MCP的诞生源于AI Agent发展的关键挑战:传统大模型调用外部工具时需针对不同接口进行定制化开发,导致效率低下且难以规模化。例如,OpenAI、Claude等模型的工具调用参数格式差异显著,开发者需为每个模型单独适配,耗费大量资源。MCP通过统一接口规范,解藕、可插拔的"USB-C接口"特性,终结了这种碎片化问题,推动了大模型生态的互联互通。

2、关于高德地图MCP Server

高德地图开放平台为开发者提供了通用级 SSE 协议 MCP 服务解决方案,现已覆盖12大核心服务接口,提供全场景覆盖的地图服务,包括:地理编码、逆地理编码、IP 定位、天气查询、骑行路径规划、步行路径规划、驾车路径规划、公交路径规划、距离测量、关键词搜索、周边搜索、详情搜索等能力支持。

说实话,开放的这12个能力都是王炸,都是与我们的生活息息相关的,实用性极高,相信大家应该会很感兴趣!

2.1、如何获取高德MCP Server?

上述官方文档写的非常详细,大家可跟着官方教程一步一步操作,完成应用创建和key的获取:

1、高德MCP Server提供的能力以及各个能力的入参出参。如何快速创建应用和Key、如何快速接入

img

2、如何快速创建高德账号、实名认证、创建应用和获取Key

img

img

img

3、如何快速接入MCP Server,文档中给了接入到cursor的使用案例。

img

2.2、Dify中的MCP Server标准配置?

通过上述步骤,我们可以非常容易地完成应用和key的创建,我们首先拿到key:

img

下面的json就是dify中的MCP Server标准配置,后续替换key直接复制使用即可:

{
	"amap-amap-sse": {	
		"url": "https://mcp.amap.com/sse?key=你的key",		
		"headers": {},		
		"timeout": 60,		
		"sse_read_timeout": 300	
		}
}

3、Dify应用编排:接入MCP Server

上面我们已经轻松地拿到了高德地图MCP Server的配置。接下来将带大家使用Dify快速接入MCP Server,涉及插件安装和应用编排。在这之前,我强烈建议大家把Dify升级到较新的版本,目前我已经升到了最新版本:1.2.0。

img

第一步:插件安装

在插件应用市场搜索:AGENT,将下面的插件通通安装上。后续应用编排会使用AGENT节点的策略来调用MCP工具。

img

继续在插件应用市场搜索:**MCP,**将下面的插件通通安装上。有了这些插件的加持,Dify不仅可以轻松地接入调用MCP Server,也能将编排的应用发布为MCP Server供外部或者自己调用,简直逆天!

img

第二步:应用编排

上面我们已经安装好了AGENT插件和MCP插件,准备工作已经做好,接下来开始编排应用。

1、创建一个Chatflow空白应用:

img

2、增加AGENT节点

将LLM节点移除掉替换成Agent节点,AGENT策略选择我们刚刚安装的策略插件,选择ReAct(Support MCP Tools):

img

3、Agent节点配置

img

模型配置:我这里使用了DeepSeek V3模型,使用Agent动态调用多个MCP服务,对模型的能力要求较高,这里推荐大家使用能力较强的、支持Function Calling和工具调用的大模型。

**工具配置:**我这里增加了一个“获取当前时间”的工具,该工具可以用来获取当前时间点。

**MCP服务配置:**将上面我们获取到的高德地图MCP Server配置上

{	
"amap-amap-sse": {	
	"url": "https://mcp.amap.com/sse?key=你的key",		
	"headers": {},	
		"timeout": 60,		
		"sse_read_timeout": 300	
		}
}

指令配置: 我这里写的非常简单,仅仅用来验证功能可用性,这里贴出来作为参考,大家可以根据实际情况去编写:

你是一位智能语音助手,名字叫狗蛋。请按照以下规则对用户的问题做出专业的回复回复规则:1、回复内容需保持中立、客观,避免涉及敏感内容。2、过程中可以选择合适的mcp工具进行调用3、有数据支撑的情况下回复内容一定要详细4、回复内容使用中文,要适合语音播报

4、回复节点:直接回复Agent输出的内容

img

到这里就完成了应用的编排,点击发布,完成应用的发布!

效果演示

实时天气查询能力验证:

img

周边搜索能力验证:

img

公交线路规划能力验证:

img

写到最后

上面我们基于Dify,通过简单的几步操作就完成了对MCP Server的集成调用,经过测试验证,效果还不错。

那么,如何系统的去学习大模型LLM?

作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
在这里插入图片描述

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
在这里插入图片描述
在这里插入图片描述

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
在这里插入图片描述

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
在这里插入图片描述

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
在这里插入图片描述

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
在这里插入图片描述
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

### 解析 Import Error 的常见原因 当遇到 `ImportError: cannot import name 'Generic'` 错误时,通常意味着尝试从模块中导入的对象不存在或无法访问。此问题可能由多种因素引起: - 版本不兼容:不同库之间的版本冲突可能导致此类错误。 - 安装缺失:目标库未正确安装或路径配置有误。 - 导入语句不当:可能存在循环依赖或其他语法层面的问题。 ### 针对 Generic 类型的具体解决方案 对于特定于 `Generic` 的情况,考虑到 Python 中 `Generic` 是 typing 模块的一部分,在处理该类别的 ImportError 时可采取如下措施[^1]: #### 方法一:确认typing模块可用性 确保环境中已安装标准库中的 typing 模块,并且其版本支持所使用的特性。可以通过以下命令验证: ```bash python -c "from typing import Generic; print(Generic)" ``` 如果上述命令执行失败,则可能是由于 Python 或者相关扩展包的版本过低造成的。此时应考虑升级至更高版本的解释器以及对应的开发工具链。 #### 方法二:调整导入方式 有时直接通过顶层命名空间来获取所需组件会更稳定可靠。修改代码以采用这种做法可能会解决问题: ```python from collections.abc import Iterable # 如果是迭代器相关接口 from typing import TypeVar, Protocol # 对于协议和泛型定义 T = TypeVar('T') class MyContainer(Protocol[T]): ... ``` 注意这里并没有显式提到 `Generic` ,而是利用了更为基础的数据结构抽象基类或是其他替代方案实现相同功能[^2]。 #### 方法三:排查环境变量设置 检查系统的 PYTHONPATH 和虚拟环境配置是否正常工作。任何异常都可能导致某些第三方软件包找不到必要的资源文件而引发类似的错误提示。建议清理并重建项目专属的工作区以便排除干扰项的影响。 #### 示例修正后的代码片段 假设原始代码试图这样引入 `Generic` : ```python from some_module import Generic # 可能导致 ImportError ``` 改为遵循官方文档推荐的方式后变为: ```python from typing import Generic # 正确的做法 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值