LABSCO SUMMARY
SchemaCrawler has been reading database metadata for years — this exposes that reading to an assistant.
The difference from a generic SQL server is that it answers about the schema rather than through it: which tables reference this one, whether the design has problems, whether anything here looks like sensitive data. The offline snapshot is the underrated feature — serialize the metadata once and the assistant can answer structural questions about a production database it has no credentials for, and start faster while doing it.
What it is
The SchemaCrawler AI MCP server, run from a Docker image, which reads database metadata and answers questions about structure, relationships and schema quality.
What you get
- The tables in a database, and the columns in any one of them
- Foreign key relationships — which tables reference the one you are looking at
- Design review over the schema, surfacing problems rather than just listing objects
- Sensitive data spotted from the schema metadata
- SQL written against the real structure, so joins use the keys that exist
- Offline operation from a serialized snapshot, when the database is not reachable — and faster startup even when it is
- Two companion agents in the repository, database-expert and sql-query-assistant, for the two tasks people bring most often
Requirements
Docker with Docker Compose. Your database connection goes in the Compose file or, on the Docker MCP Catalog path, in Docker Desktop's settings for the server. Health is reachable at the server's /health endpoint on port 9292 once it is up. For offline use, generate the snapshot with SchemaCrawler's serialize command at maximum info level, then point SCHCRWLR_SERVER at offline and SCHCRWLR_OFFLINE_DATABASE at the file.
Setup effort
Run a container — pull the image and point your client at it
USE CASES
01
Finding your way around a database you did not design
Ask what tables exist and what columns a given one has, instead of reading a schema dump.
02
Tracing what depends on a table before you change it
Ask which foreign keys reference it and get the answer from the metadata rather than a grep.
03
Getting a second opinion on a schema
Ask for design issues and get specific findings back, not a general lecture on normalisation.
04
Writing a join without guessing at the keys
The SQL is written against the real relationships, so it runs the first time more often.
05
Answering schema questions without database access
Serialize the metadata to a snapshot file and run the server against that instead of a live connection.
BEFORE YOU INSTALL
What to know first
Requires
- Docker with Docker Compose (or Docker Desktop with the MCP Toolkit)
- Visual Studio Code — the repository's client config is for VS Code Agent mode
INSTALLATION
Connect your client
Pull the image and point your client at it.
Server setup
Install Docker (with Docker Compose) and Visual Studio Code
TERMINAL
git clone https://github.com/schemacrawler/SchemaCrawler-AI-MCP-Server-Usage.git
cd SchemaCrawler-AI-MCP-Server-UsagePull the latest image:
TERMINAL
docker compose -f schemacrawler-mcpserver.yaml pullRun the server:
TERMINAL
docker compose -f schemacrawler-mcpserver.yaml up -dCheck server health in a browser:
ENDPOINT URL
http://localhost:9292/healthOpen the folder in Visual Studio Code — its .vscode/mcp.json (the VS Code tab below) already points at the server — and ask questions in Agent mode
To point it at your own database: stop it with docker compose -f schemacrawler-mcpserver.yaml down -t0, edit the connection in schemacrawler-mcpserver.yaml, then repeat the steps above
MCP Clients
VS Code
VS CODE · JSON
{
"servers": {
"schemacrawler": {
"type": "http",
"url": "http://localhost:9292/mcp"
}
}
}This is the repository's own .vscode/mcp.json: it connects to the server the Compose file publishes on port 9292, so start that first.
VS Code — Docker MCP Toolkit
This route uses Docker Desktop's MCP Toolkit instead of the Compose file. In Docker Desktop, set the SchemaCrawler AI server's configuration: schemacrawler-ai.server_connection.server to sqlite and schemacrawler-ai.server_connection.database to sc.db (or your own connection)
Optional, for a quicker first start:
VS CODE — DOCKER MCP TOOLKIT · TERMINAL
docker pull mcp/schemacrawler-aiCreate .vscode/mcp.json in your project with:
VS CODE — DOCKER MCP TOOLKIT · JSON
{
"servers": {
"schemacrawler_sqlite": {
"command": "docker",
"args": [
"--log-level",
"debug",
"mcp",
"gateway",
"run",
"--long-lived",
"--verbose"
],
"type": "stdio"
}
}
}docker mcp gateway run is the MCP Toolkit's gateway: it serves the servers configured in Docker Desktop, and VS Code starts it for you in Agent mode.