使用说明

项目简介

Dify SQL Agent MCP服务器 是 Dify_SQLAgent 项目中 MCP (Model Context Protocol) 部分的实现,旨在通过 MCP 协议向 LLM 客户端(如 Cursor 编辑器)提供与 Dify AI 平台集成的智能工具。该服务器主要提供两种工具:

  1. Dify Agent 查询工具:利用 Dify Agent 的强大能力,将自然语言查询转换为 SQL 查询,并返回查询结果。适用于需要更智能的 SQL 生成和数据分析场景。
  2. 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 工具,方便客户端调用。
  • 易于配置: 通过简单的配置文件和环境变量即可完成服务器的配置。

安装步骤

  1. 进入 MCP Server 目录: 打开终端,导航到 'dify-mcp' 目录:

    cd dify-mcp
  2. 安装依赖: 使用 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'。

基本使用方法

  1. 启动 MCP 服务器: 在终端中,进入 'dify-mcp' 目录,运行相应的服务器脚本,例如启动 Dify Agent MCP 服务器:

    python dify_agent_server.py

    或者启动 Dify Chat MCP 服务器:

    python dify_chat_server.py

    或者启动 数学计算 MCP 服务器:

    python mcpmath.py
    python simplemath.py

    服务器启动后,会显示 "启动 MCP xxx 服务器..." 的信息。保持服务器运行。

  2. 在 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与计算