dbmcp

dbmcp

haymon-aiMIT
24 звёзд6 форков
dbmcp — это MCP-сервер, который подключает AI-ассистентов к SQL-базам данных. Он работает с MySQL, MariaDB, PostgreSQL и SQLite. Один бинарник на Rust (~7 МБ) заменяет четыре разных сервера и не требует Python, Node.js или Docker для запуска. Сервер автоматически определяет структуру базы и даёт ассистенту инструменты для навигации по схеме, чтения и записи данных. В dbmcp встроены механизмы безопасности: удаление персональных данных (PII) из ответов и режим «только чтение». В read-only-режиме ассистент видит схему и данные, но не может ничего изменить или удалить. Это даёт возможность безопасно подключать AI к реальным базам данных без риска утечек и случайных изменений.

Характеристики

Общее

  • СтатусСообщество
  • Разработчикhaymon-ai
  • ЛицензияMIT

Технологии

  • Языки
    Rust
  • Транспорт
    stdiostreamable-http

Описание

Возможности

  • Обнаружение схемы: выводит список баз, таблиц, представлений, триггеров, функций, процедур и материализованных представлений
  • Чтение данных: выполняет SELECT-запросы к любой таблице или представлению
  • Запись данных: выполняет INSERT, UPDATE и DELETE (отключается в режиме «только чтение»)
  • DDL-операции: создаёт и удаляет базы данных и таблицы
  • Анализ запросов: строит EXPLAIN-план для любого SQL-запроса
  • PII-редактирование: автоматически маскирует персональные данные в ответах ассистента
  • Read-only-режим: скрывает все инструменты записи, оставляя только чтение и дискавери
  • Два транспорта: stdio (Claude Desktop, Cursor) и HTTP (удалённые клиенты, мультиклиент)
  • Единый бинарник без зависимостей: ~7 МБ, работает на macOS, Linux и Windows
  • Гибкая настройка: переменные окружения или CLI-флаги с разумными значениями по умолчанию

Как подключить

1. Установите сервер одной командой:

curl -fsSL https://dbmcp.haymon.ai/install.sh | bash

Для Windows (PowerShell):

irm https://dbmcp.haymon.ai/install.ps1 | iex

2. Создайте файл .mcp.json в корне проекта:

{ "mcpServers": { "dbmcp": { "command": "dbmcp", "args": ["stdio"], "env": { "DB_BACKEND": "postgres", "DB_HOST": "127.0.0.1", "DB_PORT": "5432", "DB_USER": "user", "DB_PASSWORD": "password", "DB_NAME": "mydb" } } } }

3. Перезапустите ваш MCP-клиент (Claude Desktop, Cursor или другой).

Примеры запросов

  • «Покажи список всех таблиц в базе данных mydb»
  • «Выполни запрос SELECT email, name FROM users LIMIT 10 и покажи результат»
  • «Объясни, как работает этот запрос: SELECT * FROM orders JOIN users ON orders.user_id = users.id. Используй EXPLAIN»
  • «Создай новую таблицу logs с колонками id, message и created_at»

Технические детали

  • Язык: Rust
  • Транспорт: stdio, streamable-http
  • Лицензия: MIT
  • Разработчик: haymon-ai
  • Совместимость: Claude Desktop, Cursor, Continue, любые MCP-клиенты

Поделиться