使用说明
项目简介
本项目 'mcp-server' 是一个基于 Model Context Protocol (MCP) 的工具服务器实现。它集成了多种实用工具,如自然语言转SQL查询、Dify知识库检索和数据转换,并通过 MCP 协议与客户端进行通信,为 LLM 应用提供强大的后端支持。
主要功能点
- 自然语言转SQL (text2sql): 将自然语言问题转换为 SQL 查询语句,并执行查询数据库,返回结果。
- Dify 知识库检索 (dify retriever): 连接 Dify 知识库,根据用户查询检索相关文档内容。
- 数据转换 (data transfer): 提供数据解密和时间戳转换等数据处理工具。
- MCP 协议支持: 完全遵循 MCP 协议,支持工具注册、调用和结果返回,方便与 MCP 客户端集成。
- Stdio 传输协议: 使用 Stdio 作为默认传输协议,易于部署和集成。
安装步骤
本仓库包含多个独立的工具服务,你需要分别安装它们。
-
安装 text2sql (自然语言转SQL服务)
go install github.com/wangle201210/mcp-server/cmd/text2sql@latest -
安装 dify retriever (Dify 知识库检索服务)
go install github.com/wangle201210/mcp-server/cmd/dify@latest -
安装 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 密钥等。请根据实际情况配置这些环境变量。
基本使用方法
-
启动 MCP 服务器: 在配置好 MCP 客户端后,客户端会根据你提供的配置启动相应的服务器进程。这些服务器通过 Stdio 与客户端通信。
-
调用工具: MCP 客户端会根据需要,通过 MCP 协议向服务器发送 JSON-RPC 请求来调用工具。例如,调用 'text2sql' 工具进行数据库查询,或调用 'dify_retriever' 工具进行知识库检索。
-
获取结果: 服务器执行工具后,会将结果封装成 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 服务器以及如何调用工具。
信息
分类
开发者工具