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',我们可以推断安装步骤如下:

  1. 克隆仓库:

    git clone https://github.com/alexandme/textql-mcp.git
    cd textql-mcp
  2. 创建并激活虚拟环境 (推荐):

    python3 -m venv venv
    source venv/bin/activate  # 或 venv\Scripts\activate for Windows
  3. 安装依赖:

    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"]'。

基本使用方法

  1. 启动服务器: 在安装好 TextQL MCP 服务器的环境中,打开终端并执行以下命令启动服务器:

    python -m textql_mcp

    服务器默认会在 'http://0.0.0.0:8000' 启动。

  2. 使用 MCP 客户端连接: 使用任何兼容 MCP 协议的客户端,配置上述 服务器配置 信息,即可连接到 TextQL MCP 服务器。 仓库的 'examples/simple_client.py' 提供了一个简单的 Python 客户端示例,可以参考该示例进行客户端开发和测试。

  3. 调用工具 (Tools): 客户端连接成功后,可以调用服务器提供的工具,例如:

    • 'translate_to_gql': 将自然语言查询转换为 GraphQL 查询。
    • 'query_graph': 执行 GraphQL 查询并获取结果。
    • 'process_natural_language_query': 完整处理自然语言查询,包括转换和执行。
    • 'get_schema_for_query': 获取与特定查询相关的 schema 信息。
  4. 访问资源 (Resources): 客户端可以访问服务器提供的资源,例如:

    • 'http://localhost/health': 获取服务器健康状态。
    • 'http://localhost/schema': 获取完整的数据库 schema 信息。
    • 'http://localhost/schema/{agent_type}': 获取特定 agent_type 的数据库 schema 信息。

请参考 'examples/simple_client.py' 文件中的代码示例,了解如何使用 MCP 客户端与 TextQL MCP 服务器进行交互,调用工具和访问资源。

信息

分类

数据库与文件