IA y HerramientasJun 3, 20268 min de lectura

Cómo Usar Claude como tu Arquitecto de Bases de Datos con MCP Server

El Model Context Protocol permite que Claude lea tu esquema en vivo, cree tablas, defina relaciones y genere migraciones — todo desde una conversación en lenguaje natural. Aquí te explicamos cómo configurarlo y sacarle el máximo provecho.

El diseño de bases de datos siempre ha requerido una combinación poco común de habilidades: entender el dominio del negocio, conocer la teoría relacional y tener experiencia práctica con las particularidades de diferentes motores de bases de datos. Para la mayoría de los equipos, esta experiencia vive en una o dos personas. ¿Qué pasaría si pudieras darle a cada desarrollador de tu equipo acceso a ese nivel de conocimiento, bajo demanda, a través de una conversación?

Esa es la promesa de conectar Claude a ER Flow a través del Model Context Protocol. Claude se convierte en tu arquitecto de bases de datos — uno que nunca duerme, recuerda cada patrón de diseño y puede aplicar cambios a tu esquema en vivo en segundos.

¿Qué es el Model Context Protocol?

El Model Context Protocol (MCP) es un estándar abierto introducido por Anthropic que define cómo los modelos de IA se comunican con herramientas externas y fuentes de datos. Piénsalo como un estándar USB para IA: en lugar de que cada herramienta tenga su propia integración propietaria, cualquier herramienta compatible con MCP puede conectarse a cualquier cliente de IA compatible con MCP.

Los MCP Servers exponen un conjunto de "herramientas" — funciones que la IA puede llamar. Cuando le pides a Claude "agrega un registro de auditoría a la tabla de pedidos", Claude no solo genera texto SQL. Llama a una herramienta real que modifica tu esquema de ER Flow. El cambio aparece en tu canvas visual inmediatamente, con soporte completo de deshacer.

Cómo Funciona el MCP Server de ER Flow

ER Flow expone un MCP Server de propósito específico con herramientas que se mapean directamente a operaciones de diseño de bases de datos. Las herramientas clave incluyen get-data-model-dbml (lee el esquema actual como DBML), create-table (crea una nueva tabla con columnas, índices y claves foráneas), update-table (modifica una tabla existente), delete-table, create-column, update-column, delete-column, create-index y batch-operations (aplica múltiples cambios atómicamente en una sola solicitud).

Antes de hacer cualquier cambio, Claude llama a get-data-model-dbml para leer tu esquema actual. Esto es crítico — significa que Claude siempre trabaja desde una imagen precisa de tus tablas y relaciones existentes, no desde una versión alucinada. Ve tus nombres de columnas reales, tipos, restricciones y claves foráneas. Esta conciencia del contexto es lo que separa el diseño potenciado por MCP de la generación ingenua de prompts a SQL.

Configurando Claude Code con ER Flow

La configuración toma menos de cinco minutos. Abre tu proyecto ER Flow y navega a Configuración → MCP Server. Verás la URL única de MCP Server de tu proyecto y una clave API. Copia ambas. Si usas Claude Code (el CLI oficial de Anthropic), agrega el servidor al archivo .claude/mcp.json de tu proyecto con el transport type: "sse", la URL del proyecto y un encabezado Authorization: Bearer que contenga tu clave API. Reinicia Claude Code y verás las herramientas de ER Flow listadas en el panel de herramientas disponibles.

Configuración para Cursor y Windsurf

Si usas Cursor, agrega la misma configuración a .cursor/mcp.json en la raíz de tu proyecto. Windsurf lee desde .windsurf/mcp.json. La estructura es idéntica — solo cambia la ruta del archivo. Los tres clientes soportan el transport SSE que usa ER Flow, por lo que la experiencia es consistente independientemente del editor de IA que prefieras.

Ejemplo: "Crea un Sistema de Notificaciones"

Aquí es cómo se ve una conversación real. Escribes: *"Agrega un sistema de notificaciones. Los usuarios deberían poder recibir notificaciones cuando alguien comenta en su publicación o los sigue. Almacena si cada notificación ha sido leída."*

Claude llama primero a get-data-model-dbml, lee tus tablas existentes users, posts y comments, luego llama a batch-operations con una sola solicitud que crea la tabla notifications. La nueva tabla incluye columnas para id, user_id, type (un varchar restringido a valores como comment y follow), actor_id (el usuario que desencadenó la notificación), notifiable_type y notifiable_id (una referencia polimórfica), read_at y timestamps. Claude también crea un índice compuesto en (user_id, read_at) para consultas eficientes de notificaciones no leídas. Todo esto aparece en tu canvas de ER Flow en una sola operación.

Ejemplo: "Agrega Registro de Auditoría"

El registro de auditoría es un patrón que Claude aplica con fluidez. Prompt: *"Agrega registro de auditoría a las tablas de pedidos y productos. Necesito saber quién cambió qué y cuándo."* Claude lee el esquema, luego crea una tabla audit_logs con id, user_id, auditable_type, auditable_id, event (created, updated, deleted), old_values (JSON), new_values (JSON), ip_address y created_at. Agrega un índice polimórfico en (auditable_type, auditable_id) para búsquedas rápidas por registro. Si tu proyecto usa Laravel, también menciona el paquete relevante que proporciona un trait Auditable — porque Claude entiende el stack completo, no solo el esquema.

Operaciones en Lote para Mayor Velocidad

La herramienta batch-operations es especialmente poderosa al hacer cambios interconectados. En lugar de crear una tabla, luego agregar claves foráneas, luego crear índices como solicitudes separadas, Claude agrupa todo en una sola operación atómica. Esto significa que tu esquema nunca está en un estado intermedio donde las claves foráneas referencian tablas que aún no existen. Para funcionalidades complejas que tocan muchas tablas, una sola respuesta de Claude puede aplicar docenas de cambios sin errores intermedios.

Mejores Prácticas para el Diseño de Esquemas Asistido por IA

Siempre revisa antes de migrar. Claude es excelente para aplicar patrones, pero no conoce los patrones de consulta de tu aplicación, los volúmenes de datos esperados ni los requisitos de rendimiento. Después de que Claude haga cambios, revisa el canvas de ER Flow antes de generar migraciones. Busca índices faltantes en columnas sobre las que filtrarás o unirás frecuentemente. Verifica que las reglas de cascada de claves foráneas coincidan con tu semántica de eliminación.

Sé específico sobre las restricciones. Los prompts vagos producen esquemas vagos. En lugar de "agrega un campo de precio", di "agrega una columna price en centavos enteros, not null, unsigned, con un valor predeterminado de 0." Cuanto más precisos sean tus requisitos, más preciso será el resultado. Usa `get-data-model-dbml` explícitamente. Si has realizado cambios manuales en ER Flow y quieres que Claude sea consciente de ellos, dile explícitamente que lea el esquema actual primero. Esto garantiza que Claude siempre trabaje desde el estado más reciente en lugar de una imagen obsoleta.

La combinación del conocimiento de patrones de Claude y el bucle de retroalimentación visual de ER Flow crea un flujo de trabajo de diseño de bases de datos que es simultáneamente más rápido y más preciso que cualquiera de los dos enfoques por separado. Tu IA maneja el código repetitivo; tú te enfocas en las decisiones de diseño que realmente requieren juicio de negocio.