EntityModel.comDocs
Contents

Start here

Guides

Examples

Platforms

Compare

Reference

Learn

MCP server for data modeling

EntityModel.com is a Model Context Protocol server, so an AI agent can read your data models, check them, generate code from them and suggest changes. There are two servers with the same core tools. Which one you use depends on where your models are.

Your models are Use Address
In a shared workspace on entitymodel.com The hosted server https://entitymodel.com/mcp
In a models/ folder on your computer The local server npx entitymodeler mcp
Only in your browser on entitymodel.com Neither Add the model to a workspace first

Agents in other apps can't reach models that are only in your browser. To work on one, use chat in the app with your own API key, add a copy to a workspace, or export the model file into a models/ folder.

Connect to the hosted server

The hosted server needs no install. It uses the account you already have, through OAuth. In the app, Connect agent in a model's top bar shows these steps for that model.

Claude Code:

claude mcp add --transport http entitymodel https://entitymodel.com/mcp

Then run /mcp in Claude Code and choose Authenticate.

Codex:

codex mcp add entitymodel --url https://entitymodel.com/mcp

If your browser doesn't open to sign in, run codex mcp login entitymodel. This needs a recent Codex: sign-in fails on 0.146 with "missing required issuer", and works on 0.167.

Claude on the web and on desktop: add a custom connector in your connector settings, with the address https://entitymodel.com/mcp.

Cursor takes this in mcp.json, and other clients that support remote servers usually take the same thing:

{
  "mcpServers": {
    "entitymodel": { "url": "https://entitymodel.com/mcp" }
  }
}

Your browser opens so you can sign in and choose what the app can do. The server speaks Streamable HTTP, and registers clients automatically. It doesn't accept calls from web pages on other sites.

What you allow

Permission Lets the app Default
Read models See your workspaces' models, comments and proposals; validate; generate code and docs Always on
Suggest changes Create models, reply to comments, and propose edits for review On
Change models directly Edit shared models and accept proposals, with no review Off

These limit what the app can do, and your role in each workspace limits it further. A viewer's app can only read, whatever was allowed here. If you're removed from a workspace, or your role changes, that applies from the app's next call.

To change what an app can do, disconnect it and connect again.

Disconnect an app

Choose Account under Shared workspaces on the home page. Connected agents lists each app, and Disconnect ends its access at once. Deleting your account disconnects them all.

Review what agents propose

An agent's proposal appears as a banner on the model for everyone who has it open. Anyone with the editor role can review it: see each change, untick the ones you don't want, compare the diff and the validation result, then accept. Viewers can look at a proposal but not accept it. See AI data modeling for the review.

Accepting a proposal saves the model under your name. Anything an agent saves directly appears in version history with the app's name, such as "Ada via Claude", and you can restore an earlier save.

Limits

  • Each person can make 120 requests a minute.
  • A model can have 50 proposals waiting for review, and receive 30 a minute.
  • Direct saves count toward the model's limit on saves per minute.

An app's direct save or comment reply is a new version of the model, like a save by another person. If you have unsaved edits at that moment, you'll see the "changed elsewhere" banner and choose what to keep.

Run the local server

The local server works on model files in a models/ folder, with no account, and nothing leaves your computer except what your agent sends to its own provider.

Claude Code:

claude mcp add entity-modeler -- npx -y entitymodeler mcp

Codex:

codex mcp add entity-modeler -- npx -y entitymodeler mcp

Other clients:

{
  "mcpServers": {
    "entity-modeler": { "command": "npx", "args": ["-y", "entitymodeler", "mcp"] }
  }
}

It uses models/ in the nearest project folder, or in the current one, and creates it when the first model is made. To use another folder, pass --models-dir DIR or set EM_MODELS_DIR.

If you work in a clone of the repository, its .mcp.json already registers the server for Claude Code.

Option What it does
--models-dir DIR Where the models are
--author NAME The name on proposals and comment replies
--allow-apply Adds apply_changes and accept_proposal, and lets tools that propose take apply: true. Only for automation you trust

Proposals land in models/<id>/proposals/. Run the app to review them, or use em proposals.

Tools

Purpose Tools Where
Find and read list_models, get_model, get_entity, search, list_tabs, get_mappings Both
Check validate Both
Generate export, docs, diff_tabs, migration_sql Both
Start a model create_model Both
Propose changes propose_changes, fix_issues, import_ddl, derive_tab, sync_tabs, auto_map Both
Review list_comments, reply_comment, list_proposals, withdraw_proposal Both
Change directly apply_changes, accept_proposal Hosted with permission; local with --allow-apply
Workspaces list_workspaces Hosted
Live databases pull_schema, profile_data, plan_writeback Local
Glossary search_glossary, propose_terms Local

The live database tools are local because they use the database credentials on your computer. The hosted server never connects to your databases.

Safety

Models hold text that other people wrote: descriptions, comments and proposals. An agent reads that text, and a model could contain instructions meant to mislead it. This is why Change models directly is off by default. With proposals, a person sees every change before it happens. Allow direct changes only if you trust the app and the people you share workspaces with.

Frequently asked questions

Is there an MCP server for data modeling?

Yes. EntityModel.com has a hosted MCP server at https://entitymodel.com/mcp for shared workspace models, and a local one, npx entitymodeler mcp, for model files on your computer. Both let an agent read and validate models, generate SQL, dbt and other code, and propose changes you review.

Can an AI agent change my model without asking?

Not by default. Agents propose changes, and a person accepts them. Direct changes need you to allow them when you connect the app, or to start the local server with --allow-apply.

Which MCP clients work?

Any client that supports Streamable HTTP and OAuth can use the hosted server, and any client that can start a local command can use the local one. Both servers support the current protocol, 2026-07-28, and earlier versions back to 2024-11-05 on the local server and 2025-03-26 on the hosted one.

Can the hosted server read the models in my browser?

No. It only reaches workspace models you can already open. Models that are only in your browser stay there.

Does it cost anything?

No. Both servers are free to use. You pay your AI provider for the agent, as usual.