Skip to main content

YDB MCP


License PyPI version

Model Context Protocol server for YDB. It allows to work with YDB databases from any LLM that supports MCP. This integration enables AI-powered database operations and natural language interactions with your YDB instances.

YDB MCP server

Usage

Via uvx

uvx, which is an allias for uv run tool, allows you to run various python applications without explicitly installing them. Below are examples of how to configure YDB MCP using uvx.

Example: Using Anonymous Authentication

{
  "mcpServers": {
    "ydb": {
      "command": "uvx",
      "args": [
        "ydb-mcp",
        "--ydb-endpoint", "grpc://localhost:2136",
        "--ydb-database", "/local"
      ]
    }
  }
}

Via pipx

pipx allows you to run various applications from PyPI without explicitly installing each one. However, it must be installed first. Below are examples of how to configure YDB MCP using pipx.

Example: Using Anonymous Authentication

{
  "mcpServers": {
    "ydb": {
      "command": "pipx",
      "args": [
        "run", "ydb-mcp",
        "--ydb-endpoint", "grpc://localhost:2136",
        "--ydb-database", "/local"
      ]
    }
  }
}

Via pip

YDB MCP can be installed using pip, Python's package installer. The package is available on PyPI and includes all necessary dependencies.

pip install ydb-mcp

To get started with YDB MCP, you'll need to configure your MCP client to communicate with the YDB instance. Below are example configuration files that you can customize according to your setup and then put into MCP client's settings. Path to the Python interpreter might also need to be adjusted to the correct virtual environment that has the ydb-mcp package installed.

Example: Using Anonymous Authentication

{
  "mcpServers": {
    "ydb": {
      "command": "python3",
      "args": [
        "-m", "ydb_mcp",
        "--ydb-endpoint", "grpc://localhost:2136",
        "--ydb-database", "/local"
      ]
    }
  }
}

Authentication

Regardless of the usage method (uvx, pipx or pip), you can configure authentication for your YDB installation. To do this, pass special command line arguments.

Using Login/Password Authentication

To use login/password authentication, specify the --ydb-auth-mode, --ydb-login, and --ydb-password arguments:

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

Using Access Token Authentication

To use access token authentication, specify the --ydb-auth-mode and --ydb-access-token arguments:

{
  "mcpServers": {
    "ydb": {
      "command": "uvx",
      "args": [
        "ydb-mcp",
        "--ydb-endpoint", "grpc://localhost:2136",
        "--ydb-database", "/local",
        "--ydb-auth-mode", "access-token",
        "--ydb-access-token", "qwerty123"
      ]
    }
  }
}

Using Service Account Authentication

To use service account authentication, specify the --ydb-auth-mode and --ydb-sa-key-file arguments:

{
  "mcpServers": {
    "ydb": {
      "command": "uvx",
      "args": [
        "ydb-mcp",
        "--ydb-endpoint", "grpc://localhost:2136",
        "--ydb-database", "/local",
        "--ydb-auth-mode", "service-account",
        "--ydb-sa-key-file", "~/sa_key.json"
      ]
    }
  }
}

Available Tools

YDB MCP provides the following tools for interacting with YDB databases:

  • ydb_query: Run a SQL query against a YDB database

    • Parameters:
      • sql: SQL query string to execute
  • ydb_query_with_params: Run a parameterized SQL query with JSON parameters

    • Parameters:
      • sql: SQL query string with parameter placeholders
      • params: JSON string containing parameter values
  • ydb_list_directory: List directory contents in YDB

    • Parameters:
      • path: YDB directory path to list
  • ydb_describe_path: Get detailed information about a YDB path (table, directory, etc.)

    • Parameters:
      • path: YDB path to describe
  • ydb_status: Get the current status of the YDB connection

Development

The project uses Make as its primary development tool, providing a consistent interface for common development tasks.

Available Make Commands

The project includes a comprehensive Makefile with various commands for development tasks. Each command is designed to streamline the development workflow and ensure code quality:

  • make all: Run clean, lint, and test in sequence (default target)
  • make clean: Remove all build artifacts and temporary files
  • make test: Run all tests using pytest
    • Can be configured with environment variables:
      • LOG_LEVEL (default: WARNING) - Control test output verbosity (DEBUG, INFO, WARNING, ERROR)
  • make unit-tests: Run only unit tests with verbose output
    • Can be configured with environment variables:
      • LOG_LEVEL (default: WARNING) - Control test output verbosity (DEBUG, INFO, WARNING, ERROR)
  • make integration-tests: Run only integration tests with verbose output
    • Can be configured with environment variables:
      • YDB_ENDPOINT (default: grpc://localhost:2136)
      • YDB_DATABASE (default: /local)
      • MCP_HOST (default: 127.0.0.1)
      • MCP_PORT (default: 8989)
      • LOG_LEVEL (default: WARNING) - Control test output verbosity (DEBUG, INFO, WARNING, ERROR)
  • make run-server: Start the YDB MCP server
    • Can be configured with environment variables:
      • YDB_ENDPOINT (default: grpc://localhost:2136)
      • YDB_DATABASE (default: /local)
    • Additional arguments can be passed using ARGS="your args"
  • make lint: Run all linting checks (flake8, mypy, black, isort)
  • make format: Format code using black and isort
  • make install: Install the package in development mode
  • make dev: Install the package in development mode with all development dependencies

Test Verbosity Control

By default, tests run with minimal output (WARNING level) to keep the output clean. You can control the verbosity of test output using the LOG_LEVEL environment variable:

# Run all tests with debug output
make test LOG_LEVEL=DEBUG

# Run integration tests with info output
make integration-tests LOG_LEVEL=INFO

# Run unit tests with warning output (default)
make unit-tests LOG_LEVEL=WARNING

Available log levels:

  • DEBUG: Show all debug messages, useful for detailed test flow
  • INFO: Show informational messages and above
  • WARNING: Show only warnings and errors (default)
  • ERROR: Show only error messages

Metadata

Release files for iflow-mcp_ydb-mcp 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_ydb-mcp 0.1.6
File Size Uploaded
iflow_mcp_ydb_mcp-0.1.6.tar.gz 29.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_ydb-mcp 0.1.6
File Interpreter ABI Platform
iflow_mcp_ydb_mcp-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 53.5 kB

Release files / iflow_mcp_ydb_mcp-0.1.6.tar.gz

Download URL iflow_mcp_ydb_mcp-0.1.6.tar.gz
Size 29.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3577fdbaa07ab57a56b26c7c41903a297a8b3e1b555e7a994789b57a8405acd8
BLAKE2b-256 checksum
How to use checksums
d1d4d946e9e98b91cb31d273acfed3b9718cf6bbbc22303e6753f6a0725f5933
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.9

Release files / iflow_mcp_ydb_mcp-0.1.6-py3-none-any.whl

Download URL iflow_mcp_ydb_mcp-0.1.6-py3-none-any.whl
Size 24.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c31696fb9d1bbb112de798f447b4550b3d96e3c4c31be9bb1868d1fe87aa67b0
BLAKE2b-256 checksum
How to use checksums
151d4e989f75c0d332338e016f74e1e4b4d9be0f2f9f4e9c9b285a19864c5262
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.9

Release history Release notifications | RSS feed

This release

0.1.6 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page