# Misata Studio: verified synthetic data (remote · api.misata.studio)

Hosted: plan and build multi-table test and demo data, export 25 formats, with checks shown.

- Trust score: 25/100 (low)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `api.misata.studio`: 25/100 (this document), [markdown](https://verifymcp.io/servers/studio-misata-misata/api.md), [page](https://verifymcp.io/servers/studio-misata-misata/api)

## Channel facts

- Endpoint: `https://api.misata.studio/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 11/100
  - TLS not yet verified: we couldn't open a connection to check the certificate.
  - Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS not yet verified: we couldn't read the response headers to check for it.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but we couldn't connect to verify it.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 5 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the Misata Studio: verified synthetic data MCP server?

Misata Studio: verified synthetic data is a hosted endpoint at https://api.misata.studio/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http studio-misata-misata 'https://api.misata.studio/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "studio-misata-misata": {
      "url": "https://api.misata.studio/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "studio-misata-misata": {
      "type": "http",
      "url": "https://api.misata.studio/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.studio-misata-misata]
url = "https://api.misata.studio/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "studio-misata-misata": {
      "type": "remote",
      "url": "https://api.misata.studio/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add studio-misata-misata --url 'https://api.misata.studio/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  studio-misata-misata:
    url: "https://api.misata.studio/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "studio-misata-misata": {
      "Transport": "http",
      "Url": "https://api.misata.studio/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add studio-misata-misata -t streamable-http -u 'https://api.misata.studio/mcp'
```

### Other

```json
{
  "mcpServers": {
    "studio-misata-misata": {
      "type": "http",
      "url": "https://api.misata.studio/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 25, 0)

- [security regression] Endpoint reachability: not serving MCP → unreachable
- [security regression] TLS certificate: pass → unverified
- [security regression] HSTS header: pass → unverified
- [security] Transport: Transport check failed: declared streamable-http, but we couldn't connect to verify it.

### 2026-10-27 (score 25, +2)

- [security improvement] HSTS header: fail → pass

### 2026-10-24 (score 23, −2)

- [security regression] HSTS header: pass → fail

### 2026-10-23 (score 25, −53)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Authorization: partial → unverified
- [security regression] Stability: 0.70 → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] Transport: pass → fail
- [security improvement] HSTS header: fail → pass
- [functional regression] Capabilities: pass → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-10-22 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-20 (score 77, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “export_dataset” rewrote its description, which is the text the model reads
- [security] Tool “generate_dataset” rewrote its description, which is the text the model reads
- [security] Tool “validate_blueprint” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 300 → 506
- [functional] Schema quality: excellent → good
- [functional] New tool “check_answers”

### 2026-10-19 (score 77, 0)

- [security] The server rewrote its instructions, which are the text every model session reads

### 2026-10-18 (score 77, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (13)

### `whoami` (~47 tokens)

Who am I connected as

Which account this connection is, and what it may do: signed in with a Studio MCP key or anonymous,
    the row cap, and whether a model key is available for plain-English requests.

### `plan_dataset` (~279 tokens)

Plan a dataset

See the tables, sizes and relationships the engine would build, before any rows exist. Free (no
    rows are made), so it is worth calling before generate_dataset on anything non-trivial: review
    what it understood and assumed, then adjust your request or schema before spending a real call.

    Args:
        request: Plain-English description (needs an LLM key, unless `schema`/`ddl` is also given —
                 then it is still used to ground realism, e.g. locale and what columns mean).
        schema:  A Misata schema dict (see the server instructions for the format). No key needed for
                 structure.
        ddl:     CREATE TABLE statements. No key needed for structure.

    Returns:
        route:         "chat" (not a dataset request — see `reply`), "design" (the model designed the
                       tables) or "pack" (matched a built-in shape).
        tables:        name, estimated rows, columns, foreign keys for each table the engine would build.
        understanding: what the engine read the request as (business, archetype, assumptions).
        requirements:  every specific thing the request asked for, so you can see what was understood.

Input parameters:

- `ddl`
- `request` (string)
- `schema`

### `blueprint_guide` (~202 tokens)

Blueprint reference

The reference for the engine's full design language (the `blueprint` argument of generate_dataset,
    start_generation and validate_blueprint): roles, distributions, formulas that read parent columns
    and draw noise, per-group sequences (seq, lag, cumsum, ar1 drift, random walk), aggregates, event
    windows, cause-and-effect, lifecycles, with patterns, and an index of chapters. Read it before
    writing a blueprint.

    Args:
        topic: a chapter's id from the index (or several, comma-separated) for that chapter in full, with
            a world that builds as written: JSON payloads (webhooks, audit trails), threads of messages,
            one party's duplicate records, running balances, rosters made from demand, a source system's
            raw drops and schema changes, planted problems for an eval. Empty for the reference.

Input parameters:

- `topic` (string)

Output parameters:

- `result` (string)

### `validate_blueprint` (~180 tokens)

Validate a blueprint

Check a blueprint before generating it: every error said as what to change, the design traps it
    falls into (a column that will round away, a copy of a value not made yet, a window that counts
    nothing), its size against your row cap, and a small preview run (a few thousand rows) with the
    verifier's findings and sample rows, so you can see the data behave before the real call. Free.

    Returns:
        valid, errors (fix these), warnings (read these), planned (sizes the stated numbers set; "keep_size"
        on a table keeps its row_count), estimated_rows, row_cap,
        preview: {passed, findings, tables: {name: first rows}} when `preview`.

Input parameters:

- `blueprint` (object, required)
- `preview` (boolean)

### `generate_dataset` (~979 tokens)

Generate a verified dataset

Make a verified relational dataset and wait for it: every foreign key checked, dates correctly
    ordered, declared aggregates and rates exact, before anything is returned. Deterministic for a seed.

    Use this when you give a `schema` or `ddl` (seconds). For a plain-English `request` the engine
    designs the tables with a model, which can take several minutes: call start_generation instead and
    poll get_status, so the call does not sit open and time out.

    Args:
        request:  Plain-English description (needs an LLM key unless `schema`/`ddl` is also given). With no key,
                  design it yourself instead: blueprint_guide, then `blueprint` below.
        schema:   A Misata schema dict for exact structural control. No key needed for structure. Its `numbers`
                  (revenue by month, churn, MRR, shares, averages) are held exactly: see the server instructions.
                  A column's `moves_with` ({"column": "customers.income", "strength": 0.6}) pairs it with another
                  number of its row or its parent's, by rank, each keeping its own values.
        ddl:      CREATE TABLE statements. No key needed for structure. Beside it, schema={"numbers": [...],
                  "window": {...}} holds the story's numbers on these tables.
        seed:     Reproducibility seed — the same request/schema and seed always produce the same rows.
        research: Ground realistic numbers (prices, growth rates) in real published facts via a web
                  search. Off by default (an anonymous caller's request should not trigger external
                  calls unless asked for); needs a key regardless of `schema`/`ddl`.
        blueprint: The engine's full design language (blueprint_guide has the reference): readings around
                  a parent's nominal, drift, autocorrelation, cause-and-effect, event windows, exact
                  aggregates. Use it whenever the data must behave like the real process. No key need…

Input parameters:

- `blueprint`
- `ddl`
- `request` (string)
- `research` (boolean)
- `schema`
- `seed` (integer)
- `story`

### `start_generation` (~141 tokens)

Start a generation (background)

Start a generation in the background and return a job_id at once. Use it for any plain-English
    `request` (a model designs the tables, which takes minutes) — then call get_status(job_id) every
    20-30 seconds until it says done. Arguments are the same as generate_dataset.

    Returns:
        job_id, status "running". get_status gives the stage and, when finished, the dataset.

Input parameters:

- `blueprint`
- `ddl`
- `request` (string)
- `research` (boolean)
- `schema`
- `seed` (integer)
- `story`

### `get_status` (~62 tokens)

Generation status

Where a start_generation job is. While running: the stage it is in and how long it has run. When
    done: the same answer generate_dataset returns (dataset_id, verification, tables, certificate).

Input parameters:

- `job_id` (string, required)

### `cancel_generation` (~34 tokens)

Cancel a generation

Stop a running start_generation job. It stops at the next stage boundary and keeps nothing.

Input parameters:

- `job_id` (string, required)

### `get_certificate` (~79 tokens)

Dataset certificate

The full certificate for a dataset made by generate_dataset: every claim (stated vs actual),
    every requirement's status and evidence, realism findings, planted defects/anomalies if any, and
    the pattern charts. This is the whole answer key, not the trimmed form generate_dataset returns.

Input parameters:

- `dataset_id` (string, required)

### `check_answers` (~441 tokens)

Check answers against the answer key

The dataset's ground truth: every number it is held to, and the business's standard numbers (MRR, churn, billed
    revenue, win rate...), by month, worked out when it was made. Use it to test whatever answers questions about the
    data -- an agent, a dashboard, a cube, a text-to-SQL model -- and to say exactly why a wrong answer is wrong.

    Call it four ways:
      1. dataset_id alone: the key's numbers (`kpis`: id, title, unit, months) and `questions` to ask, drawn from
         the key ("What is MRR at each month's end for 2025-07?"), each with an id. Their answers are not shown.
      2. answers={question_id: number}: each answer graded within its tolerance; a wrong one is named as the
         usual misreading it equals (voided invoices counted, churn over every account), when it is one.
      3. values with kpi: numbers computed anywhere (ClickHouse, a semantic layer, a BI tile), as one number, a
         {"2025-07": 123.4, ...} series by month, or [[month, value], ...]. Says whether they are that KPI (a tile
         is read as its latest month, the year to date, ...), and what they are instead when not.
      4. sql (and kpi): a query over this dataset's own tables (DuckDB, as query_dataset), run here; a wrong one is
         told which KPI it computes, or the one change after which it returns the key.

    The values are plain numbers, so an answer from any engine is checked the same way; export_dataset(format="demo",
    dialect="clickhouse") hands over the same data and key to load into ClickHouse.

Input parameters:

- `answers`
- `dataset_id` (string, required)
- `kpi`
- `questions` (integer)
- `seed` (integer)
- `sql`
- `values`

### `query_dataset` (~160 tokens)

Query a dataset with SQL

Read-only SQL over a dataset's own tables (one SELECT/WITH statement; every table name is a view
    over that dataset's own files — nothing else on the server is reachable this way).

    Args:
        dataset_id: from a prior generate_dataset call.
        sql:        a single SELECT (or WITH ... SELECT) statement. No semicolons, file paths, or
                    statements that write or read outside the dataset (checked before running).
        limit:      rows returned (capped at 5000).

    Returns:
        columns, rows, truncated (whether more rows existed than `limit`).

Input parameters:

- `dataset_id` (string, required)
- `limit` (integer)
- `sql` (string, required)

### `export_dataset` (~436 tokens)

Export a dataset

Export a generated dataset as a file. Returns a `download_url` the person can open (or you can
    fetch, e.g. with curl) for as long as the dataset is held, about 2 hours. Give the person the link
    rather than pasting file contents into the chat.

    Args:
        dataset_id: from a prior generate_dataset call.
        format:     data: csv, parquet, jsonl, json, avro, xlsx, feather, orc, sqlite, duckdb, sql.
                    code and docs: dbt, notebook, dictionary, dbml, mermaid, prisma, sqlalchemy,
                    typescript, jsonschema, expectations, django, openapi, mockapi.
                    `sql` is schema.sql (DDL with keys) + data.sql (COPY/INSERT) — the way to seed a
                    real database: run the returned SQL through your own database connection, since
                    this server never holds a database credential itself.
                    `demo` is the handover for a demo or an eval: the database with a one-step loader,
                    the ER diagram, answer_key.json (every number by month), questions.jsonl and
                    the proof of each request.
        dialect:    for `sql`: postgres, mysql, sqlite, mssql, oracle, bigquery, snowflake, clickhouse
                    (MergeTree tables; above 500k rows, typed Parquet with load.sql). For `demo`:
                    postgres (psql) or clickhouse (Parquet loaded with clickhouse-client).
        inline:     also return the file itself as `base64` (only for files under a few MB). Use it
                    when you must write the file yourself and cannot fetch a URL.

    Returns:
        filename, content_type, bytes, download_url, expires_at (unix seconds), and `base64` when
        `inline` and small enough.

Input parameters:

- `dataset_id` (string, required)
- `dialect` (string)
- `format` (string)
- `inline` (boolean)

### `find_ready_dataset` (~220 tokens)

Find a ready-made dataset

The ready-made datasets Misata publishes: free sample databases (direct download, public domain)
    and premium datasets with a full answer key (a free preview, then a one-off price). Check this
    first when someone wants sample, demo, practice or teaching data for a common scenario (retail,
    e-commerce, SaaS, manufacturing SPC, predictive maintenance, insurance claims, fraud/AML,
    clinical, network security): handing over a dataset that already exists is instant. If none fits
    their tables, generate one instead.

    Args:
        query: what the person needs, in their words. Only orders the list (closest first); every
               dataset is still returned, so judge the fit yourself from the tables and summary.

    Returns:
        datasets: [{slug, kind (free|premium), title, summary, rows, tables, page_url, and
        download_url (free) or free_preview_url + buy_url + price_usd (premium)}].

Input parameters:

- `query` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/studio-misata-misata/api#diagnostics

## Score history

- 2026-11-05: 25
- 2026-11-04: 25
- 2026-11-03: 25
- 2026-11-02: 25
- 2026-11-01: 25
- 2026-10-31: 25
- 2026-10-30: 25
- 2026-10-29: 25
- 2026-10-28: 25
- 2026-10-27: 25
- 2026-10-26: 23
- 2026-10-25: 23
- 2026-10-24: 23
- 2026-10-23: 25
- 2026-10-22: 78
- 2026-10-21: 77
- 2026-10-20: 77
- 2026-10-19: 77
- 2026-10-18: 77
- 2026-10-17: 76
- 2026-10-16: 76
- 2026-10-15: 76
- 2026-10-14: 75
- 2026-10-13: 75
- 2026-10-12: 74
- 2026-10-10: 73
- 2026-10-04: 71
- 2026-10-03: 70
- 2026-10-02: 70
- 2026-10-01: 69

## Common questions

### What is the Misata Studio: verified synthetic data MCP server?

Misata Studio: verified synthetic data is an MCP server listed in the public MCP registry as studio.misata/misata. Hosted: plan and build multi-table test and demo data, export 25 formats, with checks shown. This page covers its hosted endpoint (https://api.misata.studio/mcp).

### Is the Misata Studio: verified synthetic data MCP server safe to use?

Misata Studio: verified synthetic data scores 25 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Misata Studio: verified synthetic data MCP server expose?

Misata Studio: verified synthetic data exposes 13 tools: whoami, plan_dataset, blueprint_guide, validate_blueprint, generate_dataset, and 8 more. Their descriptions and schemas cost roughly 3,260 tokens of context every time the server is loaded.

### Does the Misata Studio: verified synthetic data MCP server require authentication?

Its publisher declares no required credentials for Misata Studio: verified synthetic data. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the Misata Studio: verified synthetic data MCP server still maintained?

Misata Studio: verified synthetic data is still listed in the MCP registry, though our most recent checks did not reach this channel. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://api.misata.studio/mcp
- Website: https://www.misata.studio/mcp
- Changelog RSS feed: https://verifymcp.io/servers/studio-misata-misata/api.xml
- Changelog JSON feed: https://verifymcp.io/servers/studio-misata-misata/api.json
- HTML version of this page: https://verifymcp.io/servers/studio-misata-misata/api
