Alchemy — MCP-сервер для работы с базами данных через Claude
Alchemy позволяет Claude Desktop напрямую подключаться к базам данных через SQLAlchemy. Сервер стабилен, используется ежедневно, известных ошибок нет.
Возможности
- Обзор структуры базы данных: список таблиц, колонок, типов, ключей и связей.
- Написание и выполнение SQL-запросов с форматированным выводом.
- Анализ больших датасетов: интеграция с
claude-local-files сохраняет полные результаты в файлы, чтобы обойти ограничения контекста Claude.
- Поддержка PostgreSQL, MySQL, MariaDB, SQLite, Oracle, MS SQL Server и других СУБД, совместимых с SQLAlchemy.
Инструменты (Tools)
Сервер предоставляет четыре инструмента:
- all_table_names — возвращает список всех таблиц БД (через запятую).
- filter_table_names — фильтрует таблицы по подстроке. Параметр
q (string).
- schema_definitions — получает полное описание схемы для указанных таблиц. Параметр
table_names (string[]). Возвращает: имена и типы колонок, первичные ключи, внешние ключи, признак nullable.
- execute_query — выполняет SQL-запрос. Параметры:
query (string), опционально params (object). Результаты выводятся в вертикальном формате (строка, затем значение). Большие результаты усекаются; для доступа к полному набору используйте интеграцию с claude-local-files.
Быстрый старт
Установка
-
Клонируйте репозиторий:
git clone https://github.com/runekaagaard/mcp-alchemy.git
-
Установите uv (если ещё не установлен):
curl -LsSf https://astral.sh/uv/install.sh | sh
-
Настройте подключение к БД (см. ниже).
Конфигурация для Claude Desktop
Добавьте в claude_desktop_config.json:
{
"mcpServers": {
"my_database": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-alchemy", "run", "server.py"],
"env": {
"DB_URL": "mysql+pymysql://root:secret@localhost/databasename"
}
}
}
}
Замените DB_URL на строку подключения вашей СУБД.
Переменные окружения
- DB_URL (обязательно) — SQLAlchemy URL подключения (например,
postgresql://user:pass@localhost/db).
- CLAUDE_LOCAL_FILES_PATH — путь к директории для сохранения полных результатов (опционально).
- EXECUTE_QUERY_MAX_CHARS — максимальная длина вывода запроса (по умолчанию 4000, опционально).
Примеры строк подключения
| СУБД |
Пример URL |
| PostgreSQL |
postgresql://user:password@localhost/dbname |
| MySQL |
mysql+pymysql://user:password@localhost/dbname |
| MariaDB |
mariadb+pymysql://user:password@localhost/dbname |
| SQLite |
sqlite:///path/to/database.db |
Драйверы БД
По умолчанию встроены драйверы для SQLite (Python built-in), MySQL/MariaDB (pymysql) и PostgreSQL (psycopg2-binary).
Для других СУБД установите соответствующий драйвер, например:
# MS SQL Server
uv pip install pymssql
# Oracle
uv pip install cx_oracle
Полный список совместимых диалектов — в документации SQLAlchemy.
Интеграция с claude-local-files
Если настроена переменная CLAUDE_LOCAL_FILES_PATH, Claude может:
- Получать полные наборы результатов, превышающие лимит контекста.
- Строить детальные отчёты и визуализации.
- Анализировать большие датасеты.
- Экспортировать результаты для дальнейшей обработки.
Интеграция активируется автоматически при указании пути.
Участие в разработке
Любая помощь приветствуется: сообщайте об ошибках, предлагайте улучшения, дополняйте документацию, присылайте pull request.
Лицензия
Mozilla Public License Version 2.0
Комментарии
Комментариев пока нет. Будьте первым.