# io.github.schemacrawler/schemacrawler-ai (oci · schemacrawler/schemacrawler-ai:17.15.4-1)

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

- Trust score: 39/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-21

## Components

- oci · `schemacrawler/schemacrawler-ai:17.15.4-1`: 39/100 (this document), [markdown](https://verifymcp.io/servers/schemacrawler-schemacrawler-ai/schemacrawler-schemacrawler-ai-17-15-4-1.md), [page](https://verifymcp.io/servers/schemacrawler-schemacrawler-ai/schemacrawler-schemacrawler-ai-17-15-4-1)

## Channel facts

- Registry: `oci`
- Package: `schemacrawler/schemacrawler-ai:17.15.4-1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-21.

- **Supply Chain Security**: 0/100
  - Malware scan not yet available for this package.
  - Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.
  - Install-script risk not yet assessed.
  - Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.
- **Provenance & Transparency**: 35/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: the license (NOASSERTION) isn't a recognized OSI-approved license.
  - Actively maintained (last published 0 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 78/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2516 tokens (~193/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 93% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 2 categories.** Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the io.github.schemacrawler/schemacrawler-ai MCP server?

io.github.schemacrawler/schemacrawler-ai runs locally as a container image, launched with docker run --rm -i schemacrawler/schemacrawler-ai:17.15.4-1. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add schemacrawler-schemacrawler-ai -- docker run --rm -i schemacrawler/schemacrawler-ai:17.15.4-1
```

### Cursor

```json
{
  "mcpServers": {
    "schemacrawler-schemacrawler-ai": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "schemacrawler/schemacrawler-ai:17.15.4-1"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "schemacrawler-schemacrawler-ai": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "schemacrawler/schemacrawler-ai:17.15.4-1"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add schemacrawler-schemacrawler-ai -- docker run --rm -i schemacrawler/schemacrawler-ai:17.15.4-1
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "schemacrawler-schemacrawler-ai": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "schemacrawler/schemacrawler-ai:17.15.4-1"
      ],
      "enabled": true
    }
  }
}
```

### Hermes

```yaml
mcp_servers:
  schemacrawler-schemacrawler-ai:
    command: "docker"
    args: ["run", "--rm", "-i", "schemacrawler/schemacrawler-ai:17.15.4-1"]
```

### Netclaw

```json
{
  "McpServers": {
    "schemacrawler-schemacrawler-ai": {
      "Transport": "stdio",
      "Command": "docker",
      "Arguments": [
        "run",
        "--rm",
        "-i",
        "schemacrawler/schemacrawler-ai:17.15.4-1"
      ]
    }
  }
}
```

### Other

```json
{
  "mcpServers": {
    "schemacrawler-schemacrawler-ai": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "schemacrawler/schemacrawler-ai:17.15.4-1"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-20 (score 39)

First indexed and scored.

## MCP tools (13)

### `diagram` (~172 tokens)

Generate database diagram

Generates a database diagram in the specified format.

Input parameters:

- `diagram_type` (string, required): Indicates database schema diagram format - Graphviz DOT format, PlantUML, Mermaid or DBML from dbdiagram.io.
- `include_child_tables` (boolean): If true, also include child (or dependent) tables for the selected tables.
- `include_referenced_tables` (boolean): If true, also include tables that are referenced by the selected tables. (These are sometimes known as parent tables.)
- `table_name` (string): Name of database table or view to describe. May be specified as a regular expression, matching the fully qualified table name (including the schema). Try not to match all tables, but instead use a re…

### `describe_routines` (~197 tokens)

Describe stored procedures and functions

Generates detailed documentation for database routines (stored procedures and    functions), including parameter metadata (input/ output parameters, data types,    default values), return types, dependencies (on tables, views, or other    routines), and full DDL definitions. Supports regular expression based routine name filtering and configurable detail levels to optimize tool performance.    Returns data as a JSON object.

Input parameters:

- `description_scope` (array): Indicates what details of the database stored procedure or function to return - parameters (including return types), attributes, and routine definition. Parameters, return types, and remarks or comme…
- `routine_name` (string): Name of database routine (stored procedure or function) to describe. May be specified as a regular expression matching the fully qualified stored procedure or function names (including the schema). T…

### `lint` (~151 tokens)

Validate database schema

Analyzes and validates database schema structure and design. Detects missing or redundant indexes, foreign keys without supporting indexes, and unique indexes with nullable columns. Checks data type consistency across similarly named columns, validates key patterns, and enforces naming conventions. Assesses design quality by inspecting documentation completeness, reserved word usage, and structural anomalies like single-column or all-nullable tables. Returns data as a JSON object.

Input parameters:

- `table_name` (string): May be specified as a regular expression, matching the fully qualified table name (including the schema). Use an empty string if all tables are requested. If not specified, all tables will be process…

### `table_importance` (~295 tokens)

Report table and view importance

Returns schema graph importance metrics, composite scores, counts, and traits for tables and views to identify key entities and structural hubs. The entry for each table includes: 1) Importance score: composite integer (0-100) combining structural graph metrics (50%) and data-modeling attributes (50%) 2) Importance metrics: graph topology metrics including in-degree, out-degree, betweenness centrality, and "impact reachability count"(blast radius for changes to the table) 3) Table counts: Attribute column (columns with data values) count, total column_count, and foreign key, index, trigger, and row counts 4) Table traits: Entity model type (strong entity, weak entity, subtype, bridge table, non entity) and boolean flags for whether primary_keys, foreign keys, indexes, has triggers are present, and whether the table has data Returns data as a JSON object.

Input parameters:

- `max_important_tables` (integer): Maximum number of tables to include in the report. Defaults to 5. Use -1 to return all matching tables.
- `table_name` (string): Name of database table or view to report importance for. May be specified as a regular expression, matching the fully qualified table name (including the schema). Try not to match all tables, but ins…

### `table_path` (~287 tokens)

Find table dependency path

Finds the shortest forward dependency path from a source table or view to a target table or view in the schema graph. Requires source table name and target table name, each specified as a regular expression matching a fully qualified table or view name (each must resolve to exactly one match). Foreign-key relationships are preferred; implied associations (from column name matching) are used as a fallback. Searches are limited to 5 relationship hops by default; use `max_path_depth` to select another limit. A -1 value allows an unlimited search. Returns an ordered array of fully qualified table or view names representing the step-by-step dependency chain from source to target and a boolean flag indicating whether implied associations (implicit relationships) were required to complete the path. Returns a JSON object.

Input parameters:

- `max_path_depth` (integer): Maximum number of relationship hops in the path. Defaults to 5. Use -1 for an unlimited path depth.
- `source_table_name` (string, required): Name of source database table or view for the dependency path. May be specified as a regular expression, matching the fully qualified table name (including the schema). Must match exactly one table o…
- `target_table_name` (string, required): Name of target database table or view for the dependency path. May be specified as a regular expression, matching the fully qualified table name (including the schema). Must match exactly one table o…

### `describe_tables` (~282 tokens)

Describe tables and views

Generates detailed documentation for database tables and views, including   column definitions (names, data types, constraints, nullability), primary and   foreign key relationships, index and trigger information, table attributes,   and complete DDL definitions. Supports regular expression based table name   filtering and configurable detail levels to optimize tool performance.   Includes entity type information, such as whether the table is a strong or   weak entity, a sub-entity, or a bridge-table.   For relationship cardinality and other ER relationship concepts, use   `describe_er_relationships`.   Returns data as a JSON object.

Input parameters:

- `description_scope` (array): Indicates what details of the database table or view to return - columns, primary key, foreign keys, indexes, triggers, attributes, and table definition. Also returns which objects reference a given…
- `table_name` (string): Name of database table or view to describe. May be specified as a regular expression, matching the fully qualified table name (including the schema). Try not to match all tables, but instead use a re…

### `detect_clusters` (~197 tokens)

Detect table and view clusters

Returns communities or clusters of related tables and views. Communities can be selected by a regular expression matching any member's fully qualified name. Each community includes its full names of the tables in the community, and the anchor table.

Input parameters:

- `max_communities` (integer): Maximum number of communities to return. Defaults to 5. -1 returns all matching communities without limiting.
- `max_community_size` (integer): Maximum number of member tables and views to include per community. Defaults to 5. -1 returns all members without limiting.
- `table_name` (string): Name of a database table or view used to select communities. A community is returned when any member matches. May be specified as a regular expression, matching the fully qualified table name (includ…

### `table_sample` (~130 tokens)

Sample table data

Profiles and samples table data by retrieving random rows for quick content analysis without full scans. Helps infer data patterns, validate types, and assess quality. Results vary per run (they are random picks) and offer insight for ETL, query design, and pipeline planning. Returns data as a JSON object.

Input parameters:

- `table_name` (string): May be specified as a regular expression, matching the fully qualified table name (including the schema). Use an empty string if all tables are requested. If not specified, all tables will be process…

### `list` (~210 tokens)

List database objects

Makes an inventory of database schema objects such as tables, views, stored    procedures, functions, sequences, synonyms, and more. This is an essential    starting point for database exploration, database asset management, and schema    analysis. The tool supports object type filtering and pattern-based searching.    Use `list_members_of_tables` instead when you need columns, indexes, foreign keys,    or triggers belonging to one or more tables.    Returns JSON data.

Input parameters:

- `database_object_name` (string): Name of database object to list. Is a regular expression, matching the fully qualified database object name (including the schema). May match more than one database object. Use an empty string if all…
- `database_object_type` (string): Type of database object to list, like tables (including views), routines (that is, stored procedures and functions), schemas (that is, databases or catalogs), sequences, or synonyms. If the parameter…

### `list_members_of_tables` (~276 tokens)

List members of one or more tables

Lists members belonging to one or more database tables across the schema,    including columns, indexes, foreign keys, and triggers. Use this tool when    you need members belonging to one or more tables, not when you need to    discover tables or other schema objects; use `list` for that. Supports regular    expression based table and member name filtering. For complete physical    table details, use `describe_tables`.    Returns JSON data.

Input parameters:

- `member_name` (string): Name of table member (or members). May be a regular expression, matching the fully qualified member name (including the schema, table and member name). May match more than one member. Use an empty st…
- `member_type` (string, required): Type of table member to list, such as columns, indexes, foreign keys, or triggers.
- `table_name` (string): Name of a database table (or tables) whose members are listed. May be a regular expression, matching the fully qualified table name (including the schema), in which case, multiple tables may be selec…

### `about_database` (~67 tokens)

Show database server information

Provides database environment and server configuration metadata, including engine type and version, collation, encoding, parameters, capabilities, and platform details. Adapts output to the specific database (such as Oracle, SQL Server, PostgreSQL and so on) to support platform-aware SQL generation and schema analysis.

### `describe_er_relationships` (~214 tokens)

Describe relationships in the ER model

Generates detailed documentation for relationships in the ER model, including   1..1, 1..M, M..N and optional relationships.   Supports regular expression based relationship name filtering to optimize   tool performance.   Returns conceptual ER-model relationships. For raw physical   schema details such as columns, constraints, and DDL, use `describe_tables`.   Returns data as a JSON object.

Input parameters:

- `cardinality` (string): Indicates the types of relationships to return - for example, 1..1, 1..M, M..N and optional relationships. Defaults to all types of relationships.
- `relationship_name` (string): Name of a relationship (or relationships) to describe from the ER model. May be specified as a regular expression, matching the fully qualified relationship name (including the schema). Try not to ma…

### `mcp-server-health` (~38 tokens)

Show SchemaCrawler AI MCP Server health

Gets the SchemaCrawler AI MCP Server version and uptime status.

Input parameters:

- `clientId` (string, required)
- `eventId` (string, required)

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/schemacrawler-schemacrawler-ai/schemacrawler-schemacrawler-ai-17-15-4-1#diagnostics

## Score history

- 2026-09-21: 39
- 2026-09-20: 39

## Common questions

### What is the io.github.schemacrawler/schemacrawler-ai MCP server?

io.github.schemacrawler/schemacrawler-ai is an MCP server listed in the public MCP registry as io.github.schemacrawler/schemacrawler-ai. Enables natural language schema queries, explore tables, keys, procedures, and get SQL help fast. This page covers its container image (schemacrawler/schemacrawler-ai:17.15.4-1).

### Is the io.github.schemacrawler/schemacrawler-ai MCP server safe to use?

io.github.schemacrawler/schemacrawler-ai scores 39 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.schemacrawler/schemacrawler-ai MCP server expose?

io.github.schemacrawler/schemacrawler-ai exposes 13 tools: diagram, describe_routines, lint, table_importance, table_path, and 8 more. Their descriptions and schemas cost roughly 2,516 tokens of context every time the server is loaded.

### Is the io.github.schemacrawler/schemacrawler-ai MCP server still maintained?

io.github.schemacrawler/schemacrawler-ai is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the io.github.schemacrawler/schemacrawler-ai MCP server under?

io.github.schemacrawler/schemacrawler-ai declares the NOASSERTION licence, which is not on the OSI-approved list. Read the terms before using it at work, and note this covers the source only, not the cost of any service it calls.

## Links

- Repository: https://github.com/schemacrawler/SchemaCrawler-AI
- Website: https://schemacrawler.github.io/
- Changelog RSS feed: https://verifymcp.io/servers/schemacrawler-schemacrawler-ai/schemacrawler-schemacrawler-ai-17-15-4-1.xml
- Changelog JSON feed: https://verifymcp.io/servers/schemacrawler-schemacrawler-ai/schemacrawler-schemacrawler-ai-17-15-4-1.json
- HTML version of this page: https://verifymcp.io/servers/schemacrawler-schemacrawler-ai/schemacrawler-schemacrawler-ai-17-15-4-1
