MCP (Model Context Protocol): el servidor propio que escribí para Bonuxo
Escribí un servidor MCP en TypeScript para operar la base de datos de Bonuxo desde un cliente con IA. Lo uso en desarrollo y operación; lo central es cuánto lo limité.
Qué es MCP
MCP (Model Context Protocol) es un protocolo para que un cliente con un modelo, como un asistente de código, descubra y llame herramientas que expone un servidor. En lugar de escribir una integración distinta para cada cliente, el servidor declara sus herramientas una vez.
El servidor de Bonuxo
Es un servidor MCP propio, en TypeScript, para operaciones sobre la base de datos de Bonuxo. Se usa en desarrollo y operación, y Bonuxo está en producción. Tiene 5 herramientas:
- Escritura DML con guardas.
- Explain.
- Generación de scripts.
- DDL de una lista blanca.
- Aplicación de migraciones con control por checksum.
Las guardas y el compromiso que implican
Darle a un modelo acceso a una base es el caso donde más importa limitarlo. Las guardas son una compuerta por entorno, un bloqueo de producción, un token de confirmación, una lista de bloqueo de DDL, solo DML, timeouts de sentencia y de locks, y rollback automático.
Hay dos listas con sentido opuesto: el DDL permitido es una lista blanca y el DDL peligroso, una lista de bloqueo, de modo que lo desconocido no se ejecuta. El costo es fricción: cada operación sensible pide un paso más, y por eso el servidor es una herramienta de operación y no una puerta abierta.
Stack relacionado
- MCP
- TypeScript
- PostgreSQL