Dify 1.6.0原生MCP開發出行助手智能體

前言
AI智能體通過感知環境、自主決策和執行任務,突破傳統大模型僅限于語言交互的局限。然而,智能體的開發長期受制于接口碎片化與工具兼容性難題。開發者需為不同數據源編寫適配代碼,這一痛點催生了MCP協議的誕生。MCP(Model Context Protocol,模型上下文協議)由Anthropic于2024年底開源,其核心是通過標準化接口實現大模型與外部工具的“即插即用”。
Dify在最新的1.6.0版本實現了對MCP協議的原生雙向集成,無需安裝額外的插件(例如: MCP SSE / StreamableHTTP)。除了能直接調用外部MCP服務,還可以將Dify的AI應用發布為MCP服務供外部客戶端調用,提升集成效率和穩定性。
本文將介紹如下內容:
- 基于Dify原生MCP構建出行助手智能體
- 分析為何原生MCP比安裝插件方式更高效
申請高德地圖api key
- 注冊并登錄高德地圖開放平臺網址為:https://console.amap.com
- 創建應用進入【應用管理】,點擊右上角【創建新應用】,填寫表單即可創建新應用

- 添加key進入【應用管理】,選擇需要創建Key的應用,點擊【添加 Key】,表單中的服務平臺選擇【Web 服務】

- 創建成功后,可查看創建的key

Dify添加MCP工具
Dify需要升級到1.6.0版本。進入Dify MCP工具配置頁面, 點擊【添加MCP服務】

在頁面中填入服務端點URL,值為https://mcp.amap.com/mcp?key=高德官網上申請的key,點擊【添加并授權】

添加成功后,選擇新創建的MCP服務,在右側可以看到該MCP包含的工具

Dify添加二維碼工具
這個例子需要將高德地圖生成的專屬地圖鏈接顯示為二維碼,方便用戶通過高德地圖APP掃碼查看。
在插件市場搜索qrcode,安裝插件【二維碼工具】

創建出行助手智能體
- 創建一個空白應用,類型為Agent
- 添加二維碼工具和高德MCP工具

- 設置提示詞
你是一個出行助手,通過使用工具解決用戶提出的問題。
如果用戶提供的信息不足,提示用戶提供相關信息。
當工具返回前綴為amapuri://的鏈接時,需要顯示二維碼圖片,提示用戶使用高德地圖掃碼。- 模型選擇doubao-1.5-pro-32k

- Agent設置適當調整最大迭代次數。Agent完成一項任務可能需要迭代多次調用工具,最大迭代次數設置過小可能導致無法正常完成任務。

- 調試預覽并發布應用輸入“生成到廣州南站的導航鏈接”,Agent最終會輸出一個二維碼。但目前Dify有bug,在預覽模式時,圖片顯示一下就消失了。發布應用后,點擊【運行】,在打開的頁面中執行是不會出現圖片消失的問題

分析為何原生MCP比安裝插件方式更高效
原生MCP在Agent編排階段,已經把MCP的工具信息添加到工具列表。在執行階段,省掉MCP插件獲取工具列表的過程,無疑可以獲得更高的性能。
用dbeaver(一款開源免費數據庫工具)打開Dify的postgres數據庫。
在tool_mcp_providers表中可以看到添加的服務。

包含的字段有:
- server_identifier: 服務ID
- server_url: 加密的服務端點URL
- tools: 該MCP包含的工具列表。每個工具的信息包含工具名,描述,參數定義
{
"name": "maps_direction_bicycling",
"description": "騎行路徑規劃用于規劃騎行通勤方案,規劃時會考慮天橋、單行線、封路等情況。最大支持 500km 的騎行路線規劃",
"inputSchema": {
"type": "object",
"properties": {
"origin": {
"type": "string",
"description": "出發點經緯度,坐標格式為:經度,緯度"
},
"destination": {
"type": "string",
"description": "目的地經緯度,坐標格式為:經度,緯度"
}
},
"required": [
"origin",
"destination"
]
},
"annotations": null
}在app_model_configs可以看到agent應用的信息。

包含的字段有:
- pre_prompt: 系統提示詞
- agent_mode:
a.agent模式(function call/react)
b.最大迭代次數
c.工具列表
agent_mode的工具包含的信息有:
- provider_id: 服務ID,關聯到tool_mcp_providers表的server_identifier
- tool_name: 工具名
- tool_parameters: 工具參數列表
{
"provider_id": "amap-mcp",
"provider_type": "mcp",
"provider_name": "高德MCP",
"tool_name": "maps_direction_bicycling",
"tool_label": "maps_direction_bicycling",
"tool_parameters": {
"origin": "",
"destination": ""
},
"notAuthor": false,
"enabled": true
},總結
基于Dify原生MCP搭建的智能體案例,不僅展示了從語義理解到工具調用的完整決策鏈路,更印證了MCP協議在降低開發成本和加速應用落地方面的工程意義。另外,原生MCP相比插件方式,提升集成效率和穩定性。


































