backend-mcp
Version:
Generador automático de backends con Node.js, Express, Prisma y módulos configurables. Servidor MCP compatible con npx para agentes IA. Soporta PostgreSQL, MySQL, MongoDB y SQLite.
161 lines (148 loc) • 4.9 kB
YAML
name: "database/postgres"
version: "1.0.0"
description: "PostgreSQL database connection and management module"
author: "MCP Backend Generator"
license: "MIT"
triggers:
- "database"
- "postgres"
- "postgresql"
- "db"
- "connection"
- "migration"
- "schema"
entry_points:
- name: "setup_postgres"
description: "Configure PostgreSQL connection and create database structure"
file: "init.js"
function: "setupPostgres"
dependencies:
npm:
- "pg@^8.11.0"
- "@types/pg@^8.10.0"
- "prisma@^5.0.0"
- "@prisma/client@^5.0.0"
system:
- "postgresql"
environment_variables:
required:
- DATABASE_URL
- POSTGRES_HOST
- POSTGRES_PORT
- POSTGRES_DB
- POSTGRES_USER
- POSTGRES_PASSWORD
optional:
- POSTGRES_SSL
- POSTGRES_POOL_SIZE
- POSTGRES_TIMEOUT
features:
- "Connection pooling"
- "Migration management"
- "Schema validation"
- "Query optimization"
- "Transaction support"
- "SSL/TLS encryption"
- "Health checks"
- "Backup utilities"
automation:
setup:
- "Create database connection"
- "Run initial migrations"
- "Validate schema"
- "Setup connection pool"
migration:
- "Generate migration files"
- "Apply pending migrations"
- "Rollback migrations"
backup:
- "Create database backup"
- "Restore from backup"
- "Schedule automated backups"
generated_files:
- "config/database.ts"
- "prisma/schema.prisma"
- "migrations/"
- "seeds/"
- "types/database.ts"
- "utils/connection.ts"
- "utils/migration.ts"
- "utils/backup.ts"
schema_tables:
users:
columns:
- { name: "id", type: "UUID", primary: true }
- { name: "email", type: "VARCHAR(255)", unique: true }
- { name: "password_hash", type: "VARCHAR(255)" }
- { name: "first_name", type: "VARCHAR(100)" }
- { name: "last_name", type: "VARCHAR(100)" }
- { name: "role", type: "VARCHAR(50)", default: "user" }
- { name: "is_active", type: "BOOLEAN", default: true }
- { name: "email_verified", type: "BOOLEAN", default: false }
- { name: "created_at", type: "TIMESTAMP", default: "NOW()" }
- { name: "updated_at", type: "TIMESTAMP", default: "NOW()" }
indexes:
- { columns: ["email"], unique: true }
- { columns: ["role"] }
- { columns: ["created_at"] }
categories:
columns:
- { name: "id", type: "UUID", primary: true }
- { name: "name", type: "VARCHAR(100)", unique: true }
- { name: "description", type: "TEXT" }
- { name: "parent_id", type: "UUID", foreign_key: "categories.id" }
- { name: "is_active", type: "BOOLEAN", default: true }
- { name: "created_at", type: "TIMESTAMP", default: "NOW()" }
- { name: "updated_at", type: "TIMESTAMP", default: "NOW()" }
indexes:
- { columns: ["name"], unique: true }
- { columns: ["parent_id"] }
products:
columns:
- { name: "id", type: "UUID", primary: true }
- { name: "name", type: "VARCHAR(200)" }
- { name: "description", type: "TEXT" }
- { name: "sku", type: "VARCHAR(100)", unique: true }
- { name: "price", type: "DECIMAL(10,2)" }
- { name: "category_id", type: "UUID", foreign_key: "categories.id" }
- { name: "stock_quantity", type: "INTEGER", default: 0 }
- { name: "is_active", type: "BOOLEAN", default: true }
- { name: "created_at", type: "TIMESTAMP", default: "NOW()" }
- { name: "updated_at", type: "TIMESTAMP", default: "NOW()" }
indexes:
- { columns: ["sku"], unique: true }
- { columns: ["category_id"] }
- { columns: ["price"] }
- { columns: ["stock_quantity"] }
inventory_movements:
columns:
- { name: "id", type: "UUID", primary: true }
- { name: "product_id", type: "UUID", foreign_key: "products.id" }
- { name: "movement_type", type: "VARCHAR(20)" }
- { name: "quantity", type: "INTEGER" }
- { name: "reference", type: "VARCHAR(100)" }
- { name: "notes", type: "TEXT" }
- { name: "created_at", type: "TIMESTAMP", default: "NOW()" }
indexes:
- { columns: ["product_id"] }
- { columns: ["movement_type"] }
- { columns: ["created_at"] }
integrations:
- name: "auth"
description: "User authentication and authorization"
- name: "crud"
description: "Automatic CRUD generation for database tables"
- name: "logging"
description: "Database query logging and monitoring"
- name: "cache"
description: "Query result caching"
examples:
- name: "basic_connection"
description: "Basic PostgreSQL connection setup"
file: "examples/basic-connection.js"
- name: "migration_example"
description: "Database migration example"
file: "examples/migration.js"
- name: "query_optimization"
description: "Query optimization techniques"
file: "examples/optimization.js"