
Саймон Уиллисон, создатель Datasette и LLM, выпустил первую стабильную версию плагина datasette-mcp 0.2. Это расширение подключает базы данных Datasette к языковым моделям через протокол MCP (Model Context Protocol), позволяя LLM выполнять произвольные SQL-запросы и получать структурированные результаты.
Релиз опубликован 1 сентября 2026 года. Предыдущие версии (0.1a) были альфа-релизами. Уиллисон отмечает, что использует плагин в повседневной работе и уверен в его стабильности.
Что изменилось в datasette-mcp 0.2
Главное изменение — формат возвращаемых данных. В предыдущих версиях команда execute_sql возвращала результат в виде массива массивов: каждая строка таблицы представляла собой массив значений, и модель должна была самостоятельно отслеживать, какой элемент массива соответствует какой колонке. Это создавало проблемы для менее мощных LLM, которые теряли контекст при маппинге позиций.
В версии 0.2 rows — это массив объектов. Каждый объект содержит имена колонок в качестве ключей и соответствующие значения. Такой формат снижает когнитивную нагрузку на модель: LLM может обращаться к данным по именам полей, а не по индексам.
Дополнительно плагин теперь зависит от mcp>=2.1.1, что обеспечивает совместимость с актуальной версией протокола MCP.
Как работает datasette-mcp
Плагин реализует один основной инструмент MCP — execute_sql. Через него LLM может:
- Выполнять SELECT-запросы к любой таблице в подключенной базе данных Datasette
- Использовать JOIN, GROUP BY, агрегатные функции
- Фильтровать и сортировать данные
- Получать метаданные схемы таблиц через SQLite-специфичные запросы
Типичный сценарий: пользователь задает вопрос на естественном языке, LLM формирует SQL-запрос, отправляет его через MCP к Datasette, получает структурированный ответ и формулирует ответ пользователю.
Важно: плагин не ограничивает модель в типах запросов. LLM может выполнять любые SQL-операторы, включая INSERT, UPDATE, DELETE, если база данных настроена на запись. Это делает плагин мощным, но требует осторожности при настройке прав доступа.
Почему это важно для разработчиков
Для разработчиков, работающих с Datasette, datasette-mcp открывает прямой канал между LLM и данными. Вместо того чтобы вручную писать SQL-запросы или использовать отдельные интерфейсы, можно делегировать эту работу модели.
Это особенно полезно в сценариях:
- Аналитики, которые хотят быстро исследовать данные без написания SQL
- Разработчики, интегрирующие LLM в свои приложения для ответов на вопросы по данным
- Прототипирование: модель может сама исследовать структуру базы данных и строить запросы
Уиллисон использует datasette-mcp в связке с Claude и ChatGPT, которые поддерживают MCP. Плагин работает как локальный MCP-сервер, подключаемый к любому MCP-совместимому клиенту.
Технические детали и контекст
MCP (Model Context Protocol) — это открытый протокол, предложенный Anthropic в 2024 году. Он стандартизирует способ подключения внешних инструментов и источников данных к языковым моделям. Datasette MCP — один из примеров реализации серверной части протокола.
Плагин написан на Python и устанавливается через pip:
pip install datasette-mcp
После установки запускается как MCP-сервер, который подключается к существующей инсталляции Datasette.
Уиллисон ведет блог, где публикует заметки о разработке LLM-инструментов. Он также предлагает платную подписку ($10/месяц) с ежемесячным дайджестом ключевых событий в области LLM.
Ограничения и что стоит проверить
Плагин не ограничивает LLM в типах SQL-запросов. Если база данных открыта на запись, модель может изменять данные. Разработчикам следует настраивать права доступа на уровне базы данных, а не полагаться на ограничения плагина.
Производительность зависит от размера базы данных и сложности запросов. Для больших наборов данных рекомендуется использовать индексы и ограничивать количество возвращаемых строк.
Поддержка MCP в LLM-клиентах все еще развивается. Не все модели корректно обрабатывают структурированные ответы от инструментов. Уиллисон отмечает, что формат объектов (а не массивов) улучшает работу с менее мощными моделями, но полностью проблемы совместимости не решает.
Для тех, кто хочет попробовать
Установите datasette-mcp через pip, настройте MCP-клиент (Claude Desktop, ChatGPT с поддержкой MCP или другой совместимый инструмент) и укажите путь к плагину. После подключения можно задавать вопросы по данным на естественном языке — модель автоматически сформирует и выполнит SQL-запрос.
Репозиторий плагина доступен на GitHub в аккаунте simonw. Документация по MCP — на сайте modelcontextprotocol.io.