agregarColumna
Adds a new column to an existing database table by specifying the table name, column name, and data type definition for MySQL or PostgreSQL databases.
Instructions
Sigue estas reglas para agregar una columna: PROPÓSITO: Agregar una nueva columna a una tabla EXISTENTE. REGLA: No la uses para crear tablas nuevas ni para modificar o eliminar columnas existentes. PRECAUCIÓN: Asegúrate de que el nombre de la tabla y la nueva columna sean correctos antes de ejecutar. EJEMPLO: "Agrega la columna email a la tabla usuarios."
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| columna | Yes | Nombre de la nueva columna | |
| tabla | Yes | Nombre de la tabla a modificar | |
| tipo | Yes | Definición del tipo de la columna (ej. VARCHAR(255) NOT NULL) |
Implementation Reference
- mcp_server.js:292-309 (handler)The asynchronous handler function that validates input, constructs an ALTER TABLE ADD COLUMN SQL query using the quoteIdent helper, executes it via query_runner, and returns success or error messages.async ({ tabla, columna, tipo }) => { try { if (!/^[a-zA-Z0-9_]+$/.test(tabla) || !/^[a-zA-Z0-9_]+$/.test(columna)) { return { isError: true, content: [{ type: 'text', text: 'Nombre de tabla o columna no válido. Use solo letras, números y guiones bajos.' }] }; } const query = `ALTER TABLE ${quoteIdent(tabla)} ADD COLUMN ${quoteIdent(columna)} ${tipo}`; await query_runner.runQuery(query); return { content: [{ type: 'text', text: `Columna '${columna}' agregada a la tabla '${tabla}' exitosamente.` }] }; } catch (e) { return { isError: true, content: [{ type: 'text', text: 'Error al agregar la columna: ' + (e.message || e) }] }; } }
- mcp_server.js:287-291 (schema)Zod schema defining the input parameters for the tool: tabla (table name), columna (column name), and tipo (column type definition).{ tabla: z.string().describe('Nombre de la tabla a modificar'), columna: z.string().describe('Nombre de la nueva columna'), tipo: z.string().describe('Definición del tipo de la columna (ej. VARCHAR(255) NOT NULL)'), },
- mcp_server.js:280-310 (registration)The complete server.tool registration for 'agregarColumna', including name, description, schema, and handler function.server.tool( 'agregarColumna', 'Sigue estas reglas para agregar una columna:\n' + 'PROPÓSITO: Agregar una nueva columna a una tabla EXISTENTE.\n' + 'REGLA: No la uses para crear tablas nuevas ni para modificar o eliminar columnas existentes.\n' + 'PRECAUCIÓN: Asegúrate de que el nombre de la tabla y la nueva columna sean correctos antes de ejecutar.\n' + 'EJEMPLO: "Agrega la columna email a la tabla usuarios."', { tabla: z.string().describe('Nombre de la tabla a modificar'), columna: z.string().describe('Nombre de la nueva columna'), tipo: z.string().describe('Definición del tipo de la columna (ej. VARCHAR(255) NOT NULL)'), }, async ({ tabla, columna, tipo }) => { try { if (!/^[a-zA-Z0-9_]+$/.test(tabla) || !/^[a-zA-Z0-9_]+$/.test(columna)) { return { isError: true, content: [{ type: 'text', text: 'Nombre de tabla o columna no válido. Use solo letras, números y guiones bajos.' }] }; } const query = `ALTER TABLE ${quoteIdent(tabla)} ADD COLUMN ${quoteIdent(columna)} ${tipo}`; await query_runner.runQuery(query); return { content: [{ type: 'text', text: `Columna '${columna}' agregada a la tabla '${tabla}' exitosamente.` }] }; } catch (e) { return { isError: true, content: [{ type: 'text', text: 'Error al agregar la columna: ' + (e.message || e) }] }; } } );