项目简介

YDB MCP 服务器是一个遵循 Model Context Protocol (MCP) 的应用后端,专为与 YDB 数据库集成而设计。它允许支持 MCP 的大型语言模型(LLM)客户端通过标准协议与您的 YDB 实例进行交互,从而实现由 AI 驱动的数据库操作和自然语言数据查询。

主要功能点

  • 执行 SQL 查询: 允许 LLM 客户端直接执行 SQL 查询,获取数据库中的数据。
  • 支持参数化查询: 提供执行带参数 SQL 查询的能力,增强安全性和灵活性。
  • 列出目录内容: 获取 YDB 数据库中指定路径下的目录、表等对象列表。
  • 获取路径详情: 提供指定路径(如表、目录)的详细信息,包括表结构、索引等。
  • 获取连接状态: 检查 YDB MCP 服务器与 YDB 数据库的连接状态。

安装步骤

该服务器可以通过 pip 安装:

  • 使用 pip 安装:
    pip install ydb-mcp
  • 使用 pipx 安装(推荐,隔离环境):
    pipx install ydb-mcp
    请确保您的系统已安装 pipx。

服务器配置(供 MCP 客户端参考)

MCP 服务器由 MCP 客户端负责启动和管理。客户端通常通过配置文件的形式指定 MCP 服务器的启动命令和参数。以下是配置 YDB MCP 服务器的示例,您需要根据您的 YDB 实例信息和安装方式进行调整。

客户端配置文件中的 'mcpServers' 部分示例如下:

  • 使用 'pip' 安装,匿名认证示例: 客户端配置需要指定一个名称(例如 '"ydb"'),然后设置 'command' 和 'args'。

    • 'command': 通常是运行 Python 解释器的命令,例如 'python3'。
    • 'args': 启动 YDB MCP 服务器所需的参数列表。
      • '-m ydb_mcp': 指示 Python 解释器运行 'ydb_mcp' 模块作为脚本。
      • '--ydb-endpoint grpc://localhost:2136/local': 指定 YDB 数据库的访问端点。请替换为您的 YDB 实际端点和数据库路径。
      • '--ydb-auth-mode anonymous': 指定使用匿名认证方式连接 YDB。
    {
      "mcpServers": {
        "ydb": {
          "command": "python3",
          "args": [
            "-m", "ydb_mcp",
            "--ydb-endpoint", "grpc://localhost:2136/local",
            "--ydb-auth-mode", "anonymous"
          ]
        }
      }
    }

    如果 'ydb_mcp' 安装在 Python 虚拟环境中,'command' 可能需要指定到该虚拟环境的 Python 路径。

  • 使用 'pip' 安装,Login/Password 认证示例: 除了 '--ydb-endpoint',还需要提供认证模式、用户名和密码。

    • '--ydb-auth-mode login-password': 指定使用用户名/密码认证方式。
    • '--ydb-login <your-username>': 您的 YDB 用户名。请替换为实际用户名。
    • '--ydb-password <your-password>': 您的 YDB 密码。请替换为实际密码。
    {
      "mcpServers": {
        "ydb": {
          "command": "python3",
          "args": [
            "-m", "ydb_mcp",
            "--ydb-endpoint", "grpc://localhost:2136/local",
            "--ydb-auth-mode", "login-password",
            "--ydb-login", "<your-username>",
            "--ydb-password", "<your-password>"
          ]
        }
      }
    }
  • 使用 'pipx' 安装,匿名认证示例: 如果您使用 pipx 安装,'command' 通常是 'pipx',然后使用 'run' 子命令执行模块。

    {
      "mcpServers": {
        "ydb": {
          "command": "pipx",
          "args": [
            "run", "ydb-mcp",
            "--ydb-endpoint", "grpc://localhost:2136/local",
            "--ydb-auth-mode", "anonymous"
          ]
        }
      }
    }
  • 使用 'pipx' 安装,Login/Password 认证示例

    {
      "mcpServers": {
        "ydb": {
          "command": "pipx",
          "args": [
            "run", "ydb-mcp",
            "--ydb-endpoint", "grpc://localhost:2136/local",
            "--ydb-auth-mode", "login-password",
            "--ydb-login", "<your-username>",
            "--ydb-password", "<your-password>"
          ]
        }
      }
    }

基本使用方法

YDB MCP 服务器是一个独立的进程,由 MCP 客户端按需启动和管理。用户不需要直接运行服务器代码。一旦客户端配置并启动了 YDB MCP 服务器,LLM 客户端将能够通过 MCP 协议发现并调用服务器提供的工具(例如 'ydb_query', 'ydb_list_directory' 等),从而实现与 YDB 数据库的智能交互。具体如何通过 LLM 客户端使用这些工具取决于您所使用的 MCP 客户端的实现。

信息

分类

数据库与文件