Skip to content

model2data studio changelog

io.github.jb-analytica/model2data-studio

7 changes recorded. MCP Harbor re-reads this listing from the official registry every six hours and asks the live server what it exposes, and keeps what changed between one look and the next.

  • llms.txt +34 −4

    https://www.jbanalytica.com/llms.txt

    − - **model2data**: an MIT-licensed Python generator (v1.16.4 on PyPI, Python−   committed, and an MCP server so Claude, Cursor and other MCP clients can−   list and describe projects, preview up to 50 rows a table and write the−   full dataset.+ - **model2data**: an MIT-licensed Python generator (v1.20.0 on PyPI, Python+   Remote MCP connector, on every plan including Free (within the free plan's+   limits): add https://studio.jbanalytica.com/mcp (Streamable HTTP) as a+   connector in Claude, sign in with a studio account and approve on the consent+   page. No API key, no Python, no config file. In Claude Code:+   `claude mcp add --transport http model2data-studio https://studio.jbanalytica.com/mcp`;+   in claude.ai or Claude Desktop: Settings, Connectors, Add custom connector.+   Claude gets 19 tools: read your projects; write and check a data model,+   create a project, read, write and check a metrics file, see the metric values+   computed over generated data (Pro; on Free for the bundled examples), write, check and save dashboards; and preview+   generated rows (up to 50 a table). It cannot delete projects, share them or+   manage API keys. Each connection appears under API keys in the account menu+   and can be disconnected there.+   committed. A local MCP server (`uvx --from "model2data-studio[mcp]"+   model2data-studio mcp`, with a Pro API key) serves CI and scripts and also+   writes the full dataset to disk.+   Dashboards as files (engine 1.20, dashboard spec 0.1.0): an open, MIT-licensed+   YAML format for a dashboard over a model2data model. A file holds pages of+   tiles (kpi, line, bar, stacked, donut, table, filter, text, note) on a+   12-column grid; it names metrics, `table.column` dimensions and tables and+   never holds a value. Check a file with `pip install model2data` and+   `model2data dashboard check sales.dashboard.yml`; model2data studio draws it+   with the numbers of the model's generated data.+   Page: https://www.jbanalytica.com/model2data/dashboards/+   Spec: https://github.com/JB-Analytica/model2data/blob/main/model2data/spec/dashboards/README.md+   Schema: https://www.jbanalytica.com/model2data/spec/dashboards/0.1.0/dashboard.schema.json+ - [The schema file behind a clinic network](https://www.jbanalytica.com/blog/schema-behind-a-clinic-network/):+   published 2026-11-09. The model2data schema behind Taleshape's Shaper clinic dashboard, which an AI agent wrote from one prompt: weighted statuses, `when` conditions so bills exist only on completed visits, `after` chains that keep time in order, a lognormal bill amount, growth and skew. Also the gap the original file left (more than half the appointments booked before the patient registered or the practitioner started, with every dbt test green) and the spec 0.5.0 `after` settings that close + - [Stop arguing about the model. Generate all three and look](https://www.jbanalytica.com/blog/stop-arguing-about-the-model/):+   published 2026-10-26. A star schema and a Data Vault are trade-offs, not religions, and the argument is unresolvable at a whiteboard because nobody can see what either one costs. What each shape is for, why medallion is not a fifth option, and how to read all three off one source model.+ - [The clock is not a dependency. Make it one graph instead](https://www.jbanalytica.com/blog/the-clock-is-not-a-dependency/):+   published 2026-10-26. Coordinating ingestion and transformation by a gap in a cron schedule is a silent failure mode: a slow extract means the transform runs on stale data and nothing raises an error. Putting both in one Dagster graph makes dependency, not timing, gate execution.+ - [Everything is a transaction. Every balance is a sum](https://www.jbanalytica.com/blog/everything-is-a-transaction/):+   published 2026-10-19. A prepaid balance that nobody stores, reconstructed as a signed ledger. Three kinds of event normalised into one shape, so that every balance question becomes a sum, the awkward business rules become one case expression, and churn becomes a definition you can argue with in version control.
  • server.json 4 fields changed
    description
    Realistic fake data from a schema designed in model2data studio: preview rows, write seeds. Design a data model, metrics and dashboards; generate realistic data and check known answers.
    remote_url
    — https://studio.jbanalytica.com/mcp
    transport
    stdio streamable-http
    version
    0.3.0 0.5.3

  • server.json 1 field changed
    version
    0.1.0 0.3.0

  • llms.txt +8 −1

    https://www.jbanalytica.com/llms.txt

    − - **model2data**: an MIT-licensed Python generator (v1.7.1 on PyPI, Python+ - **model2data**: an MIT-licensed Python generator (v1.16.4 on PyPI, Python+   Used by Shaper: Taleshape built a dashboards-as-code demo on one+   model2data schema for eight outpatient clinics (1,500 patients, 6,000+   appointments, a DuckDB file and a dbt project with 71 passing tests). An AI+   agent wrote the Shaper dashboard on that file from one prompt.+   https://taleshape.com/blog/dashboards-as-code-for-your-dbt-project/+   https://demo.taleshape.com/view/clinic-overview+   https://github.com/taleshape-com/model2data-shaper-demo

  • llms.txt +5 −1

    https://www.jbanalytica.com/llms.txt

    −   the dbt project, the star schema and the Data Vault).+   the dbt project, the star schema and the Data Vault). Modelling and a+   preview of the generated data need no account; downloading it needs a free+   one.+ - [A thousand A/B tests with nothing to find found 225 winners](https://www.jbanalytica.com/blog/ab-tests-that-find-nothing/):+   published 2026-10-23. 1,000 simulated A/A tests with identical variants: one look at the end declares 61 winners, a look every morning declares 225, and ten times the traffic still gives 205. Covers why repeated looks inflate false positives, the A/A test as a check on the tooling, choosing the deciding metric before the test, interference on marketplaces and novelty effects in streaming, and sequential testing as the honest way to stop early.

  • llms.txt +10 −1

    https://www.jbanalytica.com/llms.txt

    −   applies to, what it does, and an example each.+   Engine 1.16 / spec 0.5.0: a date column's `after` can name a column of the+   parent row its foreign key points at (`after: customers.created_at` keeps+   every order on or after its customer's created_at) or a list of columns;+   validation warns where a child date can fall before its parent's and names+   the `after` to add; integer primary keys number the rows 1 to N in key+   order; dbt tests include `model2data_not_before_parent`. The model schema+   is served per version, e.g.+   https://www.jbanalytica.com/model2data/spec/0.5.0/model.schema.json+   applies to, what it does, and an example each. Includes `after` on a parent's column and+   the 1 to N ids.

  • llms.txt +7

    https://www.jbanalytica.com/llms.txt

    + - [The bugs that never crashed were the ones that mattered](https://www.jbanalytica.com/blog/the-bugs-that-never-crashed/):+   published 2026-10-05. Three faults found while hardening model2data. None of them raised an error, all three produced data you would have believed, and the fix for two of them added no capability at all. A green pipeline is not the same claim as a correct one.+ - [model2data terms of service](https://www.jbanalytica.com/model2data/terms/):+   the terms for using the studio: plans, paying through Paddle (Merchant of+   Record), your content and generated data, acceptable use, liability.+ - [model2data refund policy](https://www.jbanalytica.com/model2data/refunds/):+   a full refund within 14 days of any payment, no questions asked, and how to ask.