使用说明

项目简介

本项目 'mcp-server' 是一个基于 Model Context Protocol (MCP) 的工具服务器实现。它集成了多种实用工具,如自然语言转SQL查询、Dify知识库检索和数据转换,并通过 MCP 协议与客户端进行通信,为 LLM 应用提供强大的后端支持。

主要功能点

  • 自然语言转SQL (text2sql): 将自然语言问题转换为 SQL 查询语句,并执行查询数据库,返回结果。
  • Dify 知识库检索 (dify retriever): 连接 Dify 知识库,根据用户查询检索相关文档内容。
  • 数据转换 (data transfer): 提供数据解密和时间戳转换等数据处理工具。
  • MCP 协议支持: 完全遵循 MCP 协议,支持工具注册、调用和结果返回,方便与 MCP 客户端集成。
  • Stdio 传输协议: 使用 Stdio 作为默认传输协议,易于部署和集成。

安装步骤

本仓库包含多个独立的工具服务,你需要分别安装它们。

  1. 安装 text2sql (自然语言转SQL服务)

    go install github.com/wangle201210/mcp-server/cmd/text2sql@latest
  2. 安装 dify retriever (Dify 知识库检索服务)

    go install github.com/wangle201210/mcp-server/cmd/dify@latest
  3. 安装 data_transfer (数据转换服务)

    go install github.com/wangle201210/mcp-server/cmd/dt@latest

    请确保你的环境中已安装 Go 语言环境。安装成功后,可执行文件将被放置在 '$GOPATH/bin' 目录下,请将该目录添加到你的 'PATH' 环境变量中。

服务器配置

MCP 客户端需要配置服务器的启动信息才能连接和使用这些工具服务。以下是针对每个工具服务的 MCP 服务器配置示例(JSON 格式)。你需要将这些配置信息添加到你的 MCP 客户端配置中。

1. text2sql 服务器配置

{
  "serverName": "text2sql",
  "descriptions": "自然语言转sql",
  "icons": "📁",
  "autoApprove": [ "all" ],
  "type": "stdio",
  "command": "text2sql",
  "args": [],
  "env": {
    "link": "数据库连接字符串,例如:root:@tcp(127.0.0.1:3306)/your_database?charset=utf8mb4&parseTime=True&loc=Local",
    "run": "是否实际执行SQL,true 或 false",
    "OPENAI_API_KEY": "你的 OpenAI API Key",
    "OPENAI_MODEL_NAME": "使用的 OpenAI 模型名称,例如:gpt-4o-mini",
    "OPENAI_BASE_URL": "OpenAI API Base URL,例如:https://api.openai.com/v1"
  }
}

2. dify_retriever 服务器配置

{
  "serverName": "dify_retriever",
  "descriptions": "dify知识库检索",
  "icons": "📁",
  "autoApprove": [ "all" ],
  "type": "stdio",
  "command": "dify",
  "args": [],
  "env":{
    "DIFY_DATASET_API_KEY": "你的 Dify Dataset API Key",
    "DIFY_ENDPOINT": "你的 Dify Endpoint 地址",
    "DIFY_DATASET_ID": "你的 Dify Dataset ID",
    "DIFY_DATASET_NAME": "Dify 知识库名称,用于描述工具功能"
  }
}

3. data_transfer 服务器配置

{
  "serverName": "data_transfer",
  "descriptions": "数据转换",
  "icons": "📁",
  "autoApprove": [ "all" ],
  "type": "stdio",
  "command": "dt",
  "args": [],
  "env":{}
}

注意:

  • 'command' 字段指定了启动服务器的可执行文件名,与安装步骤中 'go install' 命令安装的程序名一致。
  • 'env' 字段允许你配置服务器运行所需的环境变量,例如数据库连接信息、API 密钥等。请根据实际情况配置这些环境变量。

基本使用方法

  1. 启动 MCP 服务器: 在配置好 MCP 客户端后,客户端会根据你提供的配置启动相应的服务器进程。这些服务器通过 Stdio 与客户端通信。

  2. 调用工具: MCP 客户端会根据需要,通过 MCP 协议向服务器发送 JSON-RPC 请求来调用工具。例如,调用 'text2sql' 工具进行数据库查询,或调用 'dify_retriever' 工具进行知识库检索。

  3. 获取结果: 服务器执行工具后,会将结果封装成 MCP 响应返回给客户端。客户端解析响应,即可获取工具执行的结果。

示例 (MCP 客户端请求 - 调用 text2sql 工具):

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"dt_texe2sql","arguments":{"question":"查询手机号为 18728158693 的用户的身份证号是多少"}}}

示例 (MCP 客户端请求 - 调用 dify_retriever 工具):

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"dify_retriever","arguments":{"query":"介绍一下快捷键功能"}}}

请参考 MCP 协议文档和你的 MCP 客户端的具体使用说明,了解如何配置和使用 MCP 服务器以及如何调用工具。

信息

分类

开发者工具