Misata — синтетические данные с доказательством

Misata

Генератор синтетических данных на Python: вы задаете факты о наборе, Misata строит таблицы, а DuckDB проверяет их

  • 77 ★ репозитория
  • Последний коммит
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Инструмент `seed_database` записывает сгенерированные данные в базу, к которой подключен агент
  • Генерация пишет файлы на диск в выбранную папку
Все причины и проверки

rasinmuhammed/misata

Установка

В терминале, через 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 и трассу ответа, а при нехватке данных отказ с причиной.

MCP-серверРасширенный доступ81Звезды репозитория
Официальный

Открытый агент для дата-инженеров: SQL-клиент в терминале с контекстом хранилища, семантическим слоем, REST API и MCP-сервером.

CLIШирокий доступ1,9 тыс.Звезды репозитория
Официальный

MCP-сервер платформы Duckle: агент собирает, проверяет и запускает ETL-пайплайны на DuckDB на вашей машине

MCP-серверШирокий доступ1,6 тыс.Звезды репозитория
Официальный

Временная песочница на DuckDB: агент загружает CSV и запрашивает данные по MCP или REST, не трогая боевую базу

MCP-серверРасширенный доступ21Звезды репозитория

DuckDB / MotherDuck MCP Server

DuckDB / MotherDuck Local MCP Server

Официальный

MCP-сервер для SQL-аналитики на DuckDB: локальные файлы, база в памяти, базы на S3 и MotherDuck

MCP-серверРасширенный доступ540Звезды репозитория
Официальный

Malloy Publisher отдает одну модель данных агентам по MCP и приложениям по REST, запросы идут на Malloy

MCP-серверРасширенный доступ132Звезды репозитория

Коротко о README

README показывает быстрый пример на YAML с проверкой, объясняет декларативный подход, сравнивает его с Faker и SDV и перечисляет 15 инструментов MCP-сервера. Границы применения вынесены в отдельный LIMITATIONS.md.

Бейдж для README

Сообщить о проблеме