On this page

MCP server

The hosted MCP server puts Misata inside an AI assistant. The division of labour is the point:

  • The assistant understands what you need and designs the tables: names, columns, how they connect, the business rules.
  • Misata makes the numbers true (every key, every date order, every stated total, rate and share) and returns what it checked, with the SQL that proves it.

Server URL: https://api.misata.studio/mcp

Connect#

Claude (claude.ai or Claude Desktop): Settings → Connectors → Add custom connector, paste the server URL, save. The first time you ask for data, Claude asks you to sign in to Misata; there is no key to copy.

Claude Code:

Shell
claude mcp add --transport http misata https://api.misata.studio/mcp

Cursor (~/.cursor/mcp.json):

JSON
{ "mcpServers": { "misata": { "url": "https://api.misata.studio/mcp" } } }

VS Code (.vscode/mcp.json):

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

Signed in or not. It works without an account, up to 25,000 rows a dataset. Signed in (through the client's sign-in, or a header Authorization: Bearer msk_... with a key from Studio's Settings), a dataset can reach 100,000 rows, the hourly limit is higher, and any model key saved in Studio is used for requests written in plain English, so no key is ever pasted into the assistant. whoami says which one the connection is.

The tools#

ToolWhat it does
plan_datasetShows the tables, sizes, relationships and stated numbers before any rows exist. Free.
generate_datasetMakes the dataset from a schema, CREATE TABLE statements, a blueprint, or a built-in shape with a story. Returns a dataset_id, passed, and verification: what was checked, what held, and anything open.
start_generation, get_status, cancel_generationThe same build as a background job, for large datasets.
get_certificateEvery stated number against what the rows show, with the SQL that reads it.
check_answersThe answer key as an eval: questions drawn from it, and any answer, series or query graded against it, a wrong one named as the mistake it is.
query_datasetOne read-only SQL query over the dataset, so the assistant can check a total or a join itself.
export_datasetFiles to download (CSV, Parquet, SQL for your database, the demo pack for Postgres or ClickHouse), as a link.
blueprint_guide, validate_blueprintFor data that must behave like a real process (readings around a nominal, drift and reset, wear, ledgers). The guide teaches the engine's design language chapter by chapter; validation runs a small preview first.
find_ready_datasetLists ready-made datasets (free, and premium ones with a full answer key) before building one.

A dataset is kept for two hours under its dataset_id, long enough to plan, build, query, check and export in one conversation. Export what you want to keep.

Prompts to try#

Make a B2B SaaS dataset for our dashboard demo: accounts, subscriptions on three plans, invoices. MRR grows from $50,000 to $200,000 over the last two years, with 2% monthly churn that spikes to 5% in Q3 2025. Show me the verification, then export it for Postgres.

Here is our schema (pasted DDL). Fill it with a year of data where revenue from completed orders grows from $40k to $95k a month and 6% of orders are cancelled. Then check this query against the answer key: (pasted SQL).

Build a support desk dataset and give me ten questions from its answer key. I'll answer them with our agent; grade each answer.

Getting good results from an assistant#

  • Ask it to show verification. It lists every number held and anything not held. An assistant should never present data as clean when passed is false.
  • State numbers, not adjectives. "Churn 2% a month" is held; "low churn" is a guess.
  • Let the assistant design, and let Misata check. A schema the assistant writes, with numbers and a window, is the most reliable route: no model call on Misata's side, done in seconds.
  • Check before you trust a number. query_dataset and check_answers run on the data itself.

Limits#

  • Free text requests ("make me a dataset about bakeries") need a model on Misata's side. Signed in with a model key saved in Studio, they work; otherwise the assistant is asked to design the schema itself, which works without one.
  • Datasets are capped at 25,000 rows unsigned and 100,000 signed in. Studio and the platform API build larger ones.
  • The server never holds a database credential. To load a database, export sql and run it, or use the platform API's load.

Prefer generating data visually?

Misata Studio lets you turn natural language prompts into relational schemas with exact outcome invariants, live preview tables, and one-click database seeding without writing code.

Last updated Edit this page.md