Skip to main content
Glama
Yonsn76

MyPos MCP

by Yonsn76

agregarRestriccionUnica

Add a UNIQUE constraint to existing database columns to prevent duplicate values in specified tables, ensuring data integrity by enforcing uniqueness.

Instructions

Sigue estas reglas para agregar una restricción UNIQUE: PROPÓSITO: Agregar una restricción de unicidad (UNIQUE) a una o más columnas para evitar valores duplicados. REGLA: No la uses para crear tablas o columnas. La columna ya debe existir. PRECAUCIÓN: La operación fallará si ya existen datos duplicados en la(s) columna(s) seleccionada(s). USO: Especifica la tabla y las columnas que deben ser únicas. EJEMPLO: "Haz que el campo email sea único en la tabla usuarios."

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
columnasYesColumnas a restringir como únicas
nombreNoNombre de la restricción (opcional)
tablaYesNombre de la tabla

Implementation Reference

  • mcp_server.js:654-681 (registration)
    Registration of the 'agregarRestriccionUnica' tool, including schema definition and handler implementation. This is the complete tool definition that adds a UNIQUE constraint to columns in a specified table using ALTER TABLE.
    server.tool(
      'agregarRestriccionUnica',
      'Sigue estas reglas para agregar una restricción UNIQUE:\n'
      + 'PROPÓSITO: Agregar una restricción de unicidad (UNIQUE) a una o más columnas para evitar valores duplicados.\n'
      + 'REGLA: No la uses para crear tablas o columnas. La columna ya debe existir.\n'
      + 'PRECAUCIÓN: La operación fallará si ya existen datos duplicados en la(s) columna(s) seleccionada(s).\n'
      + 'USO: Especifica la tabla y las columnas que deben ser únicas.\n'
      + 'EJEMPLO: "Haz que el campo email sea único en la tabla usuarios."',
      {
        tabla: z.string().describe('Nombre de la tabla'),
        columnas: z.array(z.string()).describe('Columnas a restringir como únicas'),
        nombre: z.string().optional().describe('Nombre de la restricción (opcional)'),
      },
      async ({ tabla, columnas, nombre }) => {
        try {
          if (!tabla || !columnas || columnas.length === 0) {
            return { isError: true, content: [{ type: 'text', text: 'Debes proporcionar la tabla y al menos una columna.' }] };
          }
          const restriccion = nombre ? quoteIdent(nombre) : '';
          const cols = columnas.map(quoteIdent).join(', ');
          const sql = `ALTER TABLE ${quoteIdent(tabla)} ADD CONSTRAINT ${restriccion} UNIQUE (${cols})`;
          await query_runner.runQuery(sql);
          return { content: [{ type: 'text', text: 'Restricción UNIQUE agregada exitosamente.' }] };
        } catch (e) {
          return { isError: true, content: [{ type: 'text', text: 'Error al agregar restricción UNIQUE: ' + (e.message || e) }] };
        }
      }
    );
  • The handler function executes the logic to add a UNIQUE constraint by constructing and running an ALTER TABLE SQL statement using the query_runner.
    async ({ tabla, columnas, nombre }) => {
      try {
        if (!tabla || !columnas || columnas.length === 0) {
          return { isError: true, content: [{ type: 'text', text: 'Debes proporcionar la tabla y al menos una columna.' }] };
        }
        const restriccion = nombre ? quoteIdent(nombre) : '';
        const cols = columnas.map(quoteIdent).join(', ');
        const sql = `ALTER TABLE ${quoteIdent(tabla)} ADD CONSTRAINT ${restriccion} UNIQUE (${cols})`;
        await query_runner.runQuery(sql);
        return { content: [{ type: 'text', text: 'Restricción UNIQUE agregada exitosamente.' }] };
      } catch (e) {
        return { isError: true, content: [{ type: 'text', text: 'Error al agregar restricción UNIQUE: ' + (e.message || e) }] };
      }
    }
  • Input schema using Zod for validating parameters: tabla (required string), columnas (required array of strings), nombre (optional string).
    {
      tabla: z.string().describe('Nombre de la tabla'),
      columnas: z.array(z.string()).describe('Columnas a restringir como únicas'),
      nombre: z.string().optional().describe('Nombre de la restricción (opcional)'),
    },

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/Yonsn76/MyPos-MCP'

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