About Schemity
Schemity is a local database-design app with an MCP server for engineers and agents working with database schemas and migrations. It analyzes migration impact without running SQL and stages diagram edits for human review; agents never receive database credentials or write to a database.
Key features
- 01Read schemas without exposing row data
- 02Analyze migration files before execution
- 03Assess data loss, locks, and dependent objects
- 04Stage diagram edits for review and undo
- 05Lint schemas and inspect dependencies
- 06Preview pending changes in Schemity
Use cases
- 01Check a migration file before running it
- 02Understand a table's relations and dependencies
- 03Review proposed schema changes safely
- 04Organize tables and diagram relationships
MCP support
The MCP server is built into the Schemity desktop app and connects to MCP hosts through stdio or local Streamable HTTP. It exposes schema inspection, migration analysis, and staged diagram-editing tools; it does not run agent-written SQL.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMESchemity MCP Server
A local database MCP server built into Schemity, database design software for software engineers. Your AI agent reads the schema of your live PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, or Snowflake database, sees what a migration would do before it runs, and stages diagram edits you review. The agent never gets database credentials, and nothing it does writes to a database.
The server ships inside the Schemity desktop app, which is closed source. This repository holds its documentation, the tool list it exposes (
tools.json), and ready-to-paste host configs (examples/). Bug reports and feature requests go to schemity-feedback.
Why a governed path
Most database MCP servers hand the agent a connection string and run whatever SQL it writes. Schemity works the other way round: the agent works through the diagram you have open, which Schemity read from your database.
- Reads never change anything.
- Edits are staged in the open diagram as unsaved changes, recorded in undo history under the agent's name, for you to review and undo before you save.
- Nothing touches a database until you run the migration yourself.
- No vendor cloud in the middle. The HTTP server listens on
127.0.0.1only and requires a bearer token kept in your OS keychain; stdio hosts talk to the app over a local socket. Your schema goes only where your agent host already sends your code, and with a local model it stays on your machine.
Tools
18 tools, as of Schemity 2.13.2. None of them runs SQL the agent writes, and none returns a row. Full input schemas are in tools.json.
list_diagrams
The diagrams open in Schemity right now, with the active tab marked. Read-only.
find_diagrams
Every saved diagram, open or not, matched by name, database, or workspace, best match first. Read-only.
open_diagram
Open a saved diagram in a new tab, or bring it to the front. Opening one with a database may ask for your OS keychain password.
open_schemity
Start Schemity, or bring it to the front.
get_schema
Tables, columns, keys, checks, and indexes of a diagram or one context view, plus your naming convention and the template new tables start with. No row data. Read-only.
get_dependencies
Relations into and out of one table, with the columns on both sides. Read-only.
get_context_views
Context views, the dependencies between them, cycles, and which dependencies are not declared as foreign keys. Read-only.
get_data_dictionary
The documented schema as Markdown, descriptions included. Read-only.
lint
Schema findings: conventions, missing indexes, type mismatches. Read-only.
get_pending_changes
The diagram's unsaved edits, as the undo history that produced them. Read-only.
analyze_impact
What the pending migration would cost: lost data, statements that fail on existing rows, table rewrites, locks on large tables, dependent views and functions. SQL only on request, never run. Read-only.
analyze_migration_file
The same analysis for a migration file, hand-written or generated by Prisma, Alembic, or Flyway. Parsed, never run. Read-only.
count_rows
An exact count behind a finding, as a SELECT COUNT with a 60-second timeout, only when you ask for it.
show_preview
Draw pending edits, a migration file, or a set of tables in Schemity for you to look at, with the findings; nothing is saved.
propose_changes
Create, change, and delete tables, columns, relations, constraints, indexes, legends, and context views. Staged as unsaved edits you review; deleting anything you made asks you first.
group_entities
Group tables into legends by domain, from your source code or your description. Staged as unsaved edits you review.
route_relations
Route relation lines around the tables so they cross less. Staged as unsaved edits you review.
check_relation_lines
Relation lines that overlap or cross, and how many bends they take. Read-only.
Example prompts
Ask in plain words. Your agent host gives the model every tool with its description, and the model calls Schemity's when the request fits one. Saying "in Schemity", "the diagram" or a diagram's name makes that clear; in a code repository, "add a status column" alone may send the agent to your model files instead.
- "Which diagrams do I have open in Schemity?"
- "Open my Coffee Shop diagram."
- "Explain the schema in the current diagram. What are the main domains?"
- "What depends on the orders table?"
- "Arrange the current diagram: group the tables by domain, using this codebase to decide the groups."
- "Untangle the relation lines in the Billing diagram."
- "Show me the changes in the Coffee Shop diagram."
- "What would my unsaved changes cost if I migrate?"
- "Check migrations/0042_add_status.sql against the shop database before I run it."
- "Add a loyalty_points table to the diagram, linked to customers."
Databases
PostgreSQL, Supabase, MySQL, MariaDB, SQL Server, and SQLite, directly or through an SSH tunnel, and Snowflake.
Setup
- Install Schemity on macOS, Windows, or Linux.
- Open the diagram you want the agent to see, or let the agent find and open a saved one with
find_diagramsandopen_diagram. - Open the MCP panel from the plug icon in the control bar, or with
Cmd+Shift+A(macOS) /Ctrl+Shift+A(Windows, Linux). It shows the server status, a connection test, and a snippet for each host with the right path for your platform.
The examples below use the macOS path. On Windows and Linux, copy the snippet from the MCP panel instead.
stdio: Claude Code, Claude Desktop, Codex, OpenCode
The host starts the Schemity binary with --mcp, so it can also launch Schemity when the app is closed.
Claude Code
claude mcp add --scope user schemity -- "/Applications/Schemity.app/Contents/MacOS/schemity" --mcp
Claude Desktop - claude_desktop_config.json, then restart Claude Desktop
{
"mcpServers": {
"schemity": {
"command": "/Applications/Schemity.app/Contents/MacOS/schemity",
"args": ["--mcp"]
}
}
}
Codex - ~/.codex/config.toml
[mcp_servers.schemity]
command = "/Applications/Schemity.app/Contents/MacOS/schemity"
args = ["--mcp"]
OpenCode - opencode.json
{
"mcp": {
"schemity": {
"type": "local",
"command": ["/Applications/Schemity.app/Contents/MacOS/schemity", "--mcp"]
}
}
}
Streamable HTTP: Cursor and other HTTP clients
Keep Schemity open; an HTTP host cannot start it. The port defaults to 7332 and can be changed in the panel.
Cursor - ~/.cursor/mcp.json
{
"mcpServers": {
"schemity": {
"url": "http://127.0.0.1:7332/mcp",
"headers": { "Authorization": "Bearer <token from the MCP panel>" }
}
}
}
Troubleshooting
- "Schemity is not running" - only a stdio host can start the app. On an HTTP host such as Cursor, open Schemity yourself and retry.
- 401 Unauthorized - the token was regenerated in the panel; copy the current one into the host's config.
- Port in use - pick another port in the panel and click Restart.
- A tool says a diagram is "not open" - ask the agent to open it with
open_diagram, or open it in the Schemity window yourself.
Requirements and pricing
The MCP server is a desktop feature. It runs during the 2-week free trial (every feature unlocked, no credit card) and with a license, a one-time purchase of $129. It is not part of Schemity Lite, the free browser version.
Links
- Documentation: AI Agents via MCP
- Impact analysis: what a migration costs before it runs
- Website: schemity.com
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.