使用说明
项目简介
Dify SQL Agent MCP服务器 是 Dify_SQLAgent 项目中 MCP (Model Context Protocol) 部分的实现,旨在通过 MCP 协议向 LLM 客户端(如 Cursor 编辑器)提供与 Dify AI 平台集成的智能工具。该服务器主要提供两种工具:
- Dify Agent 查询工具:利用 Dify Agent 的强大能力,将自然语言查询转换为 SQL 查询,并返回查询结果。适用于需要更智能的 SQL 生成和数据分析场景。
- Dify Chat 聊天工具:使用 Dify 聊天机器人,直接与 Dify 的聊天模型进行交互,可以用于自然语言对话和更广泛的知识查询。
通过集成这两种工具,开发者可以在支持 MCP 协议的 LLM 客户端中,方便地利用 Dify AI 的能力,实现自然语言驱动的数据库操作和信息检索。
主要功能点
- MCP 服务器: 实现了 MCP 协议,可以与支持 MCP 协议的客户端进行通信。
- Dify Agent 集成: 提供工具调用 Dify Agent API,实现自然语言到 SQL 的转换和查询。
- Dify Chat 集成: 提供工具调用 Dify Chat API,实现与 Dify 聊天机器人的自然语言对话。
- 工具化封装: 将 Dify Agent 和 Chat 的功能封装为独立的 MCP 工具,方便客户端调用。
- 易于配置: 通过简单的配置文件和环境变量即可完成服务器的配置。
安装步骤
-
进入 MCP Server 目录: 打开终端,导航到 'dify-mcp' 目录:
cd dify-mcp -
安装依赖: 使用 pip 安装项目所需的 Python 依赖包:
pip install -r requirements.txt
服务器配置
MCP 服务器需要配置 Dify API 的密钥和 URL 才能正常工作。配置信息在 'dify_agent_server.py' 和 'dify_chat_server.py' 文件中。
打开 'dify_agent_server.py' 或 'dify_chat_server.py' 文件,修改以下配置:
# Dify API配置 DIFY_API_KEY = "YOUR_DIFY_API_KEY" # 替换为你的 Dify API 密钥 DIFY_API_URL = "https://api.dify.ai/v1/chat-messages" # 通常无需修改
请将 'YOUR_DIFY_API_KEY' 替换为你自己的 Dify API 密钥。
MCP 客户端配置 (以 Cursor 为例)
对于 Cursor 这类 MCP 客户端,需要配置 'mcp.json' 文件来连接到 MCP 服务器。以下是针对 'dify_agent_server.py' 的 'mcp.json' 配置示例,通常 Cursor 会自动弹出 'mcp.json' 文件供你编辑(路径一般在 'C:\Users{你的用户名}.cursor\mcp.json'):
[ { "server_name": "DifyAgent", "command": "python", "args": [ "dify_agent_server.py" ], "description": "Dify SQL Agent 查询工具,使用自然语言生成SQL并查询数据库" }, { "server_name": "DifyChat", "command": "python", "args": [ "dify_chat_server.py" ], "description": "Dify 聊天机器人工具,用于自然语言对话" }, { "server_name": "MathServer", "command": "python", "args": [ "mcpmath.py" ], "description": "简单的数学计算工具,提供加减乘除功能" }, { "server_name": "RemainderServer", "command": "python", "args": [ "simplemath.py" ], "description": "求余数计算工具" } ]
配置参数说明:
- 'server_name': MCP 服务器的名称,在 Cursor 中会显示此名称。可以自定义,例如 "DifyAgent"。
- 'command': 启动 MCP 服务器的命令,这里是 'python',因为服务器是 Python 脚本。
- 'args': 启动命令的参数,这里是 MCP 服务器脚本的文件名,例如 'dify_agent_server.py'。
- 'description': 对该 MCP 服务器的描述,方便在 Cursor 中识别和选择。
你可以根据需要配置 'dify_agent_server.py' 或 'dify_chat_server.py',或者同时配置两者。如果需要使用简单的数学计算工具,可以配置 'mcpmath.py' 或 'simplemath.py'。
基本使用方法
-
启动 MCP 服务器: 在终端中,进入 'dify-mcp' 目录,运行相应的服务器脚本,例如启动 Dify Agent MCP 服务器:
python dify_agent_server.py或者启动 Dify Chat MCP 服务器:
python dify_chat_server.py或者启动 数学计算 MCP 服务器:
python mcpmath.pypython simplemath.py服务器启动后,会显示 "启动 MCP xxx 服务器..." 的信息。保持服务器运行。
-
在 Cursor 中使用 MCP 工具:
-
打开 Cursor 编辑器,确保已正确配置 'mcp.json' 文件。
-
在 Cursor 中,你可以通过 '// 工具名.工具函数名(参数)' 的形式调用 MCP 工具。
-
使用 Dify Agent 查询工具 (假设 'server_name' 配置为 "DifyAgent"):
// DifyAgent.query_dify_agent("查询最近三天的新增用户数量")Cursor 会将 '"查询最近三天的新增用户数量"' 作为 prompt 发送给 Dify Agent MCP 服务器,服务器调用 Dify Agent API 进行处理,并将结果返回给 Cursor。
-
使用 Dify Chat 聊天工具 (假设 'server_name' 配置为 "DifyChat"):
// DifyChat.query_dify_chat("你好,Dify Chat!")Cursor 会将 '"你好,Dify Chat!"' 发送给 Dify Chat MCP 服务器,服务器调用 Dify Chat API 进行对话,并将聊天回复返回给 Cursor。
-
使用 数学计算工具 (假设 'server_name' 配置为 "MathServer" 和 "RemainderServer"):
// MathServer.add(1, 2) // MathServer.multiply(3, 4) // RemainderServer.remainder(10, 3)Cursor 会将数学计算请求发送给 MathServer 或 RemainderServer,服务器执行计算并将结果返回。
-
请根据你的实际需求选择并配置相应的 MCP 服务器,并在 Cursor 中使用相应的工具进行操作。
信息
分类
AI与计算