必须接入高德地图api实现精准位置检索:申请web服务类型api key并配置ip白名单;通过环境变量或配置文件安全注入amap_api_key;部署mcp服务并注册为dify工具;工作流中用around_search调用poi检索,location须为经纬度,配合geocode转换,llm仅口语化总结前3家。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify中实现用户自然语言提问“附近有什么咖啡馆”“XX大厦在哪个区”等位置检索需求,必须将高德地图API能力以安全、可调用的方式接入Dify工作流,而不是让大模型凭空编造地址信息。
申请高德地图API Key并配置应用权限
登录高德开放平台,使用企业或个人账号进入控制台→我的应用→创建新应用。
应用名称填“Dify-POI-Service”,【务必选择“Web服务”类型】,其他平台选项留空即可;若后续部署在阿里云轻量服务器,需在IP白名单中提前填入该服务器的公网IP地址,否则调用会返回INVALID_USER_IP错误。
创建成功后,在应用详情页点击“显示”查看Key值,立即复制并保存——这个Key是后续所有地理服务的身份凭证,泄露会导致API被恶意盗刷。
配置Dify环境变量与MCP服务端点
方法一:通过环境变量注入(推荐)
在Dify部署服务器上执行:echo "AMAP_API_KEY=your_actual_key_here" | sudo tee -a /etc/environment,然后重启Dify服务使变量生效。
方法二:直接写入Dify配置文件
编辑dify/config.py或.env,添加一行:AMAP_API_KEY=your_actual_key_here。注意不要加引号,也不要有多余空格。
【严禁在前端代码、提示词或工作流节点中硬编码API Key】,否则一旦页面被审查或日志泄露,密钥即失效且存在资损风险。
注册高德地图MCP服务为Dify工具
第一步:确认MCP服务已运行
确保你已部署好高德地图MCP Server(例如基于Node.js或Python实现的amap-mcp),其SSE端点可访问,如https://your-domain.com/mcp/sse,且返回状态码为200。
第二步:在Dify管理后台添加MCP工具
进入「设置」→「工具」→「MCP」→「添加MCP服务」,依次填写:
• 服务URL:https://your-domain.com/mcp/sse(必须以/sse结尾)
• 自定义名称:高德地图POI检索
• 服务器标识符:amap-poi-v3(该字段需与MCP Server返回的server_id严格一致,否则授权失败)
提交后等待状态灯变绿,点击「刷新工具列表」,应可见around_search、geocode、regeocode三个已注册工具及其参数说明。
在工作流中调用高德地图POI检索
新建一个Dify工作流,拖入「MCP工具调用」节点,选择「高德地图POI检索」→「around_search」。
参数配置如下:
• location:填入动态变量{{user_location}}(需前置节点从用户输入或设备获取经纬度,格式为116.481488,39.990464)
• keywords:设为{{query_keywords}},例如用户说“奶茶店”,此处传入“奶茶”
• radius:固定填500(单位米),避免返回过多结果导致LLM解析超时
这一步操作起来很简单,直接把三个参数连到上游节点输出口就行;但要注意:如果location传入的是城市名而非经纬度,around_search会返回空结果,必须先用geocode工具做一次地址转坐标。
最后连接「LLM回复」节点,在提示词中写:“根据以下POI列表,用中文口语化总结前3家最相关的店铺,包含名称、距离和简要特征,不要输出JSON。”
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











