Misata — синтетические данные с доказательством
Misata
Генератор синтетических данных на Python: вы задаете факты о наборе, Misata строит таблицы, а DuckDB проверяет их
- 77 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Инструмент `seed_database` записывает сгенерированные данные в базу, к которой подключен агент
- Генерация пишет файлы на диск в выбранную папку
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/misataОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Инструмент `seed_database` записывает сгенерированные данные в базу, к которой подключен агент
- Генерация пишет файлы на диск в выбранную папку
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Misata строит многотабличные тестовые данные по декларации. В YAML записывают факты: выручка по месяцам, доли каналов, сбалансированные проводки, внешние ключи, жизненные циклы. Движок собирает строки так, чтобы все факты выполнялись сразу, а при противоречии отказывает с арифметикой и подсказкой. После генерации DuckDB перепроверяет файлы на диске и пишет сертификат: `misata generate -c misata.yaml -o data --attest`, затем `python data/verify.py` показывает, сколько инвариантов выполнено. Одна копейка, измененная в строке, сразу видна как провал проверки. Результат пишется в CSV, Parquet, JSONL, DuckDB и Postgres. MCP-сервер `misata-mcp` дает агенту 15 инструментов: `generate_from_schema`, `explain_schema`, `validate_yaml`, `seed_database`, `create_sandbox`, `query_sandbox`, `attest_dataset`, `audit_dataset` и другие. Агент проектирует схему, арифметику считает Misata, а проверяет DuckDB.
Для кого. Аналитикам и инженерам данных, которым нужны тестовые таблицы с заранее известным ответом для проверки dbt-моделей, Spark-задач и дашбордов.
Подходит, если
- Нужна фикстура для dbt-модели, где выручка января заведомо равна 180 000
- Дашборд проверяют на данных, где доли каналов задаются заранее и держатся в каждом месяце
- В CI кладут в git сгенерированный набор вместе с отпечатком: тот же сид и версия дают те же байты
- Агенту поручают наполнить тестовую базу данными с корректными внешними ключами
Не подходит, если
- Нужен статистический двойник приватной таблицы: Misata ничего не имитирует, пока не попросите
- Тестируется произвольный SQL с оконными функциями: ожидаемый результат придется писать самому
- Данные нужны на языках и в валютах вне англо-американских приоров по умолчанию
Пример запроса к агенту
Сгенерируй таблицы клиентов и заказов за 2025 год, где выручка растет с 180 000 в январе до 310 000 в декабре, и проверь сертификат.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Ограничения
Точность гарантируется только для того, что можно объявить: суммы, доли, свертки, проводки, ключи и жизненные циклы. Для произвольного SQL движок дает согласованные входные данные, а ожидаемый результат остается за вами. Режим `mimic` подгоняется под реальные строки и не анонимизирует их.
Приоры ориентированы на английский язык и США, особенно в деньгах, а доли округляются до целых строк. Для проверки нужен `duckdb`: ставьте `pip install "misata[duckdb]"`, а для MCP-сервера extra `[mcp]`. Полный список ограничений ведется в LIMITATIONS.md и главнее остальной документации.
Как отключить. Выполните `claude mcp remove misata` и при необходимости `pip uninstall misata`. Сгенерированные файлы лежат в выбранной папке и удаляются вручную.
Частые вопросы
Как поставить Misata как MCP-сервер в Claude Code?
Командой `claude mcp add misata -- uvx --from "misata[mcp]" misata-mcp`. Для Cursor, Windsurf и Claude Desktop есть `misata mcp install --client all`.
Чем Misata отличается от Faker?
Faker выдает случайные значения, а Misata выполняет заявленные факты и доказывает это сертификатом, который проверяет DuckDB.
Что будет, если факты противоречат друг другу?
Генерация остановится с кодом 3 и ничего не запишет. Ошибка назовет каждое объявление и покажет арифметику.
Одинаковый ли результат на разных системах?
Да, один и тот же файл, сид и версия дают одни байты на Linux, macOS и Windows.
В какие форматы Misata пишет результат?
В CSV, Parquet, JSONL, DuckDB и Postgres; для проверки сертификата нужны стандартная библиотека Python и `duckdb`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер text-to-SQL: агент спрашивает базу словами, получает SQL и трассу ответа, а при нехватке данных отказ с причиной.
Открытый агент для дата-инженеров: SQL-клиент в терминале с контекстом хранилища, семантическим слоем, REST API и MCP-сервером.
MCP-сервер платформы Duckle: агент собирает, проверяет и запускает ETL-пайплайны на DuckDB на вашей машине
Временная песочница на DuckDB: агент загружает CSV и запрашивает данные по MCP или REST, не трогая боевую базу
DuckDB / MotherDuck MCP Server
DuckDB / MotherDuck Local MCP Server
MCP-сервер для SQL-аналитики на DuckDB: локальные файлы, база в памяти, базы на S3 и MotherDuck
Malloy Publisher отдает одну модель данных агентам по MCP и приложениям по REST, запросы идут на Malloy
Коротко о README
README показывает быстрый пример на YAML с проверкой, объясняет декларативный подход, сравнивает его с Faker и SDV и перечисляет 15 инструментов MCP-сервера. Границы применения вынесены в отдельный LIMITATIONS.md.