io.github.schemacrawler/schemacrawler-ai

Official registry Data and databases

Enables natural language schema queries — explore tables, keys, procedures, and get SQL help fast

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

OCI package schemacrawler/schemacrawler-ai:17.16.0-1
Claude Code
claude mcp add schemacrawler-ai -e 'SCHCRWLR_MCP_SERVER_TRANSPORT=<SCHCRWLR_MCP_SERVER_TRANSPORT>' -e 'SCHCRWLR_DATABASE_USER=<your schcrwlr_database_user>' -e 'SCHCRWLR_DATABASE_PASSWORD=<your schcrwlr_database_password>' -e 'SCHCRWLR_JDBC_URL=<SCHCRWLR_JDBC_URL>' -e 'SCHCRWLR_SERVER=<SCHCRWLR_SERVER>' -e 'SCHCRWLR_HOST=<SCHCRWLR_HOST>' -e 'SCHCRWLR_PORT=<SCHCRWLR_PORT>' -e 'SCHCRWLR_DATABASE=<SCHCRWLR_DATABASE>' -e 'SCHCRWLR_DATABASE_ALIAS=<SCHCRWLR_DATABASE_ALIAS>' -e 'SCHCRWLR_DATABASE_DESCRIPTION=<SCHCRWLR_DATABASE_DESCRIPTION>' -e 'SCHCRWLR_INFO_LEVEL=<SCHCRWLR_INFO_LEVEL>' -e 'SCHCRWLR_LOG_LEVEL=<SCHCRWLR_LOG_LEVEL>' -e 'SCHCRWLR_EXCLUDE_TOOLS=<SCHCRWLR_EXCLUDE_TOOLS>' -- docker run -i --rm schemacrawler/schemacrawler-ai:17.16.0-1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "schemacrawler-ai": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "schemacrawler/schemacrawler-ai:17.16.0-1"
            ],
            "env": {
                "SCHCRWLR_MCP_SERVER_TRANSPORT": "<SCHCRWLR_MCP_SERVER_TRANSPORT>",
                "SCHCRWLR_DATABASE_USER": "<your schcrwlr_database_user>",
                "SCHCRWLR_DATABASE_PASSWORD": "<your schcrwlr_database_password>",
                "SCHCRWLR_JDBC_URL": "<SCHCRWLR_JDBC_URL>",
                "SCHCRWLR_SERVER": "<SCHCRWLR_SERVER>",
                "SCHCRWLR_HOST": "<SCHCRWLR_HOST>",
                "SCHCRWLR_PORT": "<SCHCRWLR_PORT>",
                "SCHCRWLR_DATABASE": "<SCHCRWLR_DATABASE>",
                "SCHCRWLR_DATABASE_ALIAS": "<SCHCRWLR_DATABASE_ALIAS>",
                "SCHCRWLR_DATABASE_DESCRIPTION": "<SCHCRWLR_DATABASE_DESCRIPTION>",
                "SCHCRWLR_INFO_LEVEL": "<SCHCRWLR_INFO_LEVEL>",
                "SCHCRWLR_LOG_LEVEL": "<SCHCRWLR_LOG_LEVEL>",
                "SCHCRWLR_EXCLUDE_TOOLS": "<SCHCRWLR_EXCLUDE_TOOLS>"
            }
        }
    }
}

Environment variables

  • SCHCRWLR_MCP_SERVER_TRANSPORT MCP Server transport type - valid values are 'http' or 'stdio', defaulting to 'stdio'.
  • SCHCRWLR_DATABASE_USER secret Database user name. Can be optional depending on the database connection type.
  • SCHCRWLR_DATABASE_PASSWORD secret Database user password. Can be optional depending on the database connection type.
  • SCHCRWLR_JDBC_URL JDBC URL for database connection. If this is provided, the server, host, port and database are not used.
  • SCHCRWLR_SERVER SchemaCrawler database plugin, for example, 'sqlserver' or 'sqlite'. Used only if the JDBC URL is not provided.
  • SCHCRWLR_HOST Database host. Defaults to localhost. Used only if the JDBC URL is not provided.
  • SCHCRWLR_PORT Database port. Defaults to the default port for the server type. Used only if the JDBC URL is not provided.
  • SCHCRWLR_DATABASE Database to connect to (optional). Used only if the JDBC URL is not provided.
  • SCHCRWLR_DATABASE_ALIAS Optional stable alias used to identify this database server in MCP instructions and tool results.
  • SCHCRWLR_DATABASE_DESCRIPTION Optional description of this database server, included in MCP instructions and the about_database response.
  • SCHCRWLR_INFO_LEVEL How much database metadata to retrieve. Values are 'minimum', 'standard', 'detailed' or 'maximum'.
  • SCHCRWLR_LOG_LEVEL Logging verbosity level. Values are 'SEVERE', 'WARNING', 'INFO', 'CONFIG', or 'FINE'.
  • SCHCRWLR_EXCLUDE_TOOLS MCP Server tools to exclude, as a comma-separated list.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. SchemaCrawler AI
  2. About
  3. Licensing
  4. Support

:star: Star it :arrow_heading_up: if you love it!

SchemaCrawler AI

[!NOTE]

About

SchemaCrawler AI provides an MCP Server to allow AI agents to have an interactive way to interrogate your database schema metadata. It is based on SchemaCrawler, which is a free database schema discovery and comprehension tool.

Licensing

SchemaCrawler AI is licensed under the Business Source License 1.1 (BUSL-1.1) license.

This project may be distributed together with third-party components such as JDBC drivers and other libraries. Unless explicitly stated otherwise, the Business Source License 1.1 applies only to the SchemaCrawler AI MCP Server source code authored for this repository. All third-party components included in source or binary distributions are licensed separately by their respective copyright holders. See the documentation or the distribution package for third-party license information.

Under the Business Source License 1.1, you are free to read, modify, and redistribute the source code, subject to the license terms. However, production or commercial use of SchemaCrawler AI MCP Server is restricted except as permitted by a separate commercial agreement. If you are interested in production or commercial use please see the SchemaCrawler website.

Support

SchemaCrawler AI is not supported, unless you purchase a support incident. Please see Guidelines for Support for details.

Frequently asked questions

What is io.github.schemacrawler/schemacrawler-ai?

Enables natural language schema queries — explore tables, keys, procedures, and get SQL help fast

How do I install io.github.schemacrawler/schemacrawler-ai?

It runs on your machine. In Claude Code: claude mcp add schemacrawler-ai -e 'SCHCRWLR_MCP_SERVER_TRANSPORT=<SCHCRWLR_MCP_SERVER_TRANSPORT>' -e 'SCHCRWLR_DATABASE_USER=<your schcrwlr_database_user>' -e 'SCHCRWLR_DATABASE_PASSWORD=<your schcrwlr_database_password>' -e 'SCHCRWLR_JDBC_URL=<SCHCRWLR_JDBC_URL>' -e 'SCHCRWLR_SERVER=<SCHCRWLR_SERVER>' -e 'SCHCRWLR_HOST=<SCHCRWLR_HOST>' -e 'SCHCRWLR_PORT=<SCHCRWLR_PORT>' -e 'SCHCRWLR_DATABASE=<SCHCRWLR_DATABASE>' -e 'SCHCRWLR_DATABASE_ALIAS=<SCHCRWLR_DATABASE_ALIAS>' -e 'SCHCRWLR_DATABASE_DESCRIPTION=<SCHCRWLR_DATABASE_DESCRIPTION>' -e 'SCHCRWLR_INFO_LEVEL=<SCHCRWLR_INFO_LEVEL>' -e 'SCHCRWLR_LOG_LEVEL=<SCHCRWLR_LOG_LEVEL>' -e 'SCHCRWLR_EXCLUDE_TOOLS=<SCHCRWLR_EXCLUDE_TOOLS>' -- docker run -i --rm schemacrawler/schemacrawler-ai:17.16.0-1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.schemacrawler/schemacrawler-ai need an API key?

Yes. It expects SCHCRWLR_DATABASE_USER, SCHCRWLR_DATABASE_PASSWORD, which you set in its configuration.

Is io.github.schemacrawler/schemacrawler-ai open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains io.github.schemacrawler/schemacrawler-ai?

It is published by schemacrawler. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.