TextQL MCP服务器使用说明
项目简介
TextQL MCP服务器是一个基于Model Context Protocol (MCP) 的后端服务,旨在为AI模型和代理提供标准化的接口,以便它们可以使用自然语言与SQL和GraphQL数据库进行交互。该服务器通过提供工具,使得AI模型可以将自然语言问题转换为数据库查询语言(如SQL或GraphQL),并执行这些查询以获取结构化数据。
主要功能点
- 自然语言到'*'QL转换: 将用户的自然语言问题转换为相应的数据库查询语言,例如SQL或GraphQL。
- '*'QL查询执行: 执行转换后的数据库查询,并返回查询结果。
- 模式(Schema)支持: 能够自动获取和利用数据库模式信息,以优化查询转换和执行过程。
- 可扩展设计: 允许用户轻松集成自定义的数据库和模式提供程序,以适应不同的数据库后端。
- MCP标准: 基于模型上下文协议(MCP)构建,确保与各种AI代理和客户端的无缝集成。
安装步骤
由于仓库中没有明确的安装步骤,根据 'README.md' 和 'setup.py',我们可以推断安装步骤如下:
-
克隆仓库:
git clone https://github.com/alexandme/textql-mcp.git cd textql-mcp -
创建并激活虚拟环境 (推荐):
python3 -m venv venv source venv/bin/activate # 或 venv\Scripts\activate for Windows -
安装依赖:
pip install -r requirements.txt pip install . # 或者 python setup.py install如果 'requirements.txt' 文件不存在,可能需要手动安装 'setup.py' 文件中 'install_requires' 列出的依赖,或者尝试直接 'pip install .' 安装。
服务器配置
MCP客户端需要配置以下信息以连接到 TextQL MCP 服务器。配置信息为 JSON 格式:
{ "serverName": "TextQL-MCP-Server", "command": "python", "args": ["-m", "textql_mcp"] }
配置参数说明:
- 'serverName': 服务器名称,可以自定义,例如 "TextQL-MCP-Server"。
- 'command': 启动服务器的命令,这里使用 'python' 命令来运行 Python 模块。
- 'args': 传递给 'command' 的参数列表,'"-m", "textql_mcp"' 表示以模块方式运行 'textql_mcp',这将执行 'textql_mcp/main.py' 文件,启动服务器。
注意: 如果需要修改服务器监听的 host 或 port,可以通过环境变量 'MCP_HOST' 和 'MCP_PORT' 或者通过修改 'textql_mcp/main.py' 中的默认参数进行配置。 也可以在 'args' 中添加命令行参数来配置,例如:'["-m", "textql_mcp", "--host", "0.0.0.0", "--port", "8080"]'。
基本使用方法
-
启动服务器: 在安装好 TextQL MCP 服务器的环境中,打开终端并执行以下命令启动服务器:
python -m textql_mcp服务器默认会在 'http://0.0.0.0:8000' 启动。
-
使用 MCP 客户端连接: 使用任何兼容 MCP 协议的客户端,配置上述 服务器配置 信息,即可连接到 TextQL MCP 服务器。 仓库的 'examples/simple_client.py' 提供了一个简单的 Python 客户端示例,可以参考该示例进行客户端开发和测试。
-
调用工具 (Tools): 客户端连接成功后,可以调用服务器提供的工具,例如:
- 'translate_to_gql': 将自然语言查询转换为 GraphQL 查询。
- 'query_graph': 执行 GraphQL 查询并获取结果。
- 'process_natural_language_query': 完整处理自然语言查询,包括转换和执行。
- 'get_schema_for_query': 获取与特定查询相关的 schema 信息。
-
访问资源 (Resources): 客户端可以访问服务器提供的资源,例如:
- 'http://localhost/health': 获取服务器健康状态。
- 'http://localhost/schema': 获取完整的数据库 schema 信息。
- 'http://localhost/schema/{agent_type}': 获取特定 agent_type 的数据库 schema 信息。
请参考 'examples/simple_client.py' 文件中的代码示例,了解如何使用 MCP 客户端与 TextQL MCP 服务器进行交互,调用工具和访问资源。
信息
分类
数据库与文件