Skip to main content
Glama
srwlli

Documentation Generator MCP Server

by srwlli
database-schema.json8.51 kB
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Database Inventory Manifest Schema", "description": "Schema for database schema discovery across SQL and NoSQL systems", "type": "object", "required": ["project_name", "project_path", "generated_at", "database_systems", "schemas", "metrics"], "properties": { "project_name": { "type": "string", "description": "Name of the project", "minLength": 1 }, "project_path": { "type": "string", "description": "Absolute path to project directory", "minLength": 1 }, "generated_at": { "type": "string", "description": "ISO 8601 timestamp when manifest was generated", "format": "date-time" }, "database_systems": { "type": "array", "description": "List of detected database systems", "items": { "type": "string", "enum": ["postgresql", "mysql", "mongodb", "sqlite"] } }, "schemas": { "type": "array", "description": "Array of table/collection schema objects", "items": { "type": "object", "required": ["name", "type", "database_type", "file", "line"], "properties": { "name": { "type": "string", "description": "Table or collection name", "minLength": 1 }, "type": { "type": "string", "description": "Schema object type", "enum": ["table", "collection"] }, "database_type": { "type": "string", "description": "Database paradigm", "enum": ["sql", "nosql"] }, "orm": { "type": "string", "description": "ORM/ODM framework", "enum": ["sqlalchemy", "sequelize", "mongoose"] }, "source": { "type": "string", "description": "Source of schema definition", "enum": ["alembic_migration", "knex_migration"] }, "file": { "type": "string", "description": "Relative path to source file from project root", "minLength": 1 }, "line": { "type": "integer", "description": "Line number where schema is defined", "minimum": 0 }, "class_name": { "type": "string", "description": "Name of model class" }, "columns": { "type": "array", "description": "SQL table columns (for SQL databases)", "items": { "type": "object", "required": ["name", "type"], "properties": { "name": { "type": "string", "description": "Column name", "minLength": 1 }, "type": { "type": "string", "description": "Column data type" }, "nullable": { "type": "boolean", "description": "Whether column allows NULL values" }, "primary_key": { "type": "boolean", "description": "Whether column is a primary key" }, "unique": { "type": "boolean", "description": "Whether column has unique constraint" }, "foreign_key": { "type": "string", "description": "Referenced table.column if foreign key" }, "default": { "description": "Default value for column" } } } }, "fields": { "type": "array", "description": "Document fields (for NoSQL collections)", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "Field name" }, "type": { "type": "string", "description": "Field data type" }, "required": { "type": "boolean", "description": "Whether field is required" }, "default": { "description": "Default value for field" } } } }, "relationships": { "type": "array", "description": "ORM relationships to other tables", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "Relationship name" }, "related_table": { "type": "string", "description": "Name of related table/collection" }, "type": { "type": "string", "description": "Type of relationship", "enum": ["one-to-one", "one-to-many", "many-to-many", "relationship"] } } } }, "indexes": { "type": "array", "description": "Database indexes on this table/collection", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "Index name" }, "columns": { "type": "array", "description": "Indexed columns/fields", "items": { "type": "string" } }, "unique": { "type": "boolean", "description": "Whether index enforces uniqueness" } } } }, "constraints": { "type": "array", "description": "Table constraints (SQL only)", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "Constraint name" }, "type": { "type": "string", "description": "Constraint type", "enum": ["primary_key", "foreign_key", "unique", "check"] } } } }, "validators": { "type": "array", "description": "Schema validators (NoSQL)", "items": { "type": "string" } } } } }, "metrics": { "type": "object", "description": "Database inventory metrics", "required": ["total_schemas", "sql_tables", "nosql_collections"], "properties": { "total_schemas": { "type": "integer", "description": "Total number of tables/collections discovered", "minimum": 0 }, "sql_tables": { "type": "integer", "description": "Number of SQL tables", "minimum": 0 }, "nosql_collections": { "type": "integer", "description": "Number of NoSQL collections", "minimum": 0 }, "database_systems_detected": { "type": "array", "description": "List of database systems found in project", "items": { "type": "string" } }, "system_breakdown": { "type": "object", "description": "Count of schemas by database type", "additionalProperties": { "type": "integer", "minimum": 0 } }, "orm_breakdown": { "type": "object", "description": "Count of schemas by ORM/source", "additionalProperties": { "type": "integer", "minimum": 0 } }, "total_columns": { "type": "integer", "description": "Total number of columns across all tables", "minimum": 0 }, "total_relationships": { "type": "integer", "description": "Total number of relationships", "minimum": 0 } } } } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/srwlli/docs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server