Skip to main content
Glama
Yonsn76

MyPos MCP

by Yonsn76

eliminarRestriccionUnica

Remove a UNIQUE constraint from a database table to allow duplicate values, requiring explicit confirmation to proceed.

Instructions

Sigue estas reglas OBLIGATORIAS para eliminar una restricción UNIQUE: ADVERTENCIA INICIAL: Informa al usuario que eliminar esta restricción permitirá datos duplicados, lo que podría afectar la integridad de los datos. CONFIRMACIÓN EXPLÍCITA: Para proceder, el usuario DEBE escribir la frase exacta: "Confirmar eliminación de la restricción [nombreRestriccion] de la tabla [nombreTabla]". VERIFICACIÓN ESTRICTA: No ejecutes la eliminación si la confirmación no es exacta. USO: Especifica la tabla y el nombre exacto de la restricción a eliminar. EJEMPLO: "Elimina la restricción única email_unique de la tabla usuarios."

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nombreYesNombre de la restricción UNIQUE
tablaYesNombre de la tabla

Implementation Reference

  • Handler function that executes the tool logic: drops a UNIQUE constraint/index from a table using ALTER TABLE depending on the database type (MySQL vs PostgreSQL).
    async ({ tabla, nombre }) => {
      try {
        if (!tabla || !nombre) {
          return { isError: true, content: [{ type: 'text', text: 'Debes proporcionar la tabla y el nombre de la restricción.' }] };
        }
        let sql;
        if (db_type === 'mysql') {
          sql = `ALTER TABLE ${quoteIdent(tabla)} DROP INDEX ${quoteIdent(nombre)}`;
        } else {
          sql = `ALTER TABLE ${quoteIdent(tabla)} DROP CONSTRAINT ${quoteIdent(nombre)}`;
        }
        await query_runner.runQuery(sql);
        return { content: [{ type: 'text', text: 'Restricción UNIQUE eliminada exitosamente.' }] };
      } catch (e) {
        return { isError: true, content: [{ type: 'text', text: 'Error al eliminar restricción UNIQUE: ' + (e.message || e) }] };
      }
    }
  • Input schema using Zod: requires 'tabla' (table name) and 'nombre' (constraint name).
    {
      tabla: z.string().describe('Nombre de la tabla'),
      nombre: z.string().describe('Nombre de la restricción UNIQUE'),
    },
  • mcp_server.js:590-619 (registration)
    MCP tool registration using server.tool, including description, input schema, and handler function.
    server.tool(
      'eliminarRestriccionUnica',
      'Sigue estas reglas OBLIGATORIAS para eliminar una restricción UNIQUE:\n'
      + 'ADVERTENCIA INICIAL: Informa al usuario que eliminar esta restricción permitirá datos duplicados, lo que podría afectar la integridad de los datos.\n'
      + 'CONFIRMACIÓN EXPLÍCITA: Para proceder, el usuario DEBE escribir la frase exacta: "Confirmar eliminación de la restricción [nombreRestriccion] de la tabla [nombreTabla]".\n'
      + 'VERIFICACIÓN ESTRICTA: No ejecutes la eliminación si la confirmación no es exacta.\n'
      + 'USO: Especifica la tabla y el nombre exacto de la restricción a eliminar.\n'
      + 'EJEMPLO: "Elimina la restricción única email_unique de la tabla usuarios."',
      {
        tabla: z.string().describe('Nombre de la tabla'),
        nombre: z.string().describe('Nombre de la restricción UNIQUE'),
      },
      async ({ tabla, nombre }) => {
        try {
          if (!tabla || !nombre) {
            return { isError: true, content: [{ type: 'text', text: 'Debes proporcionar la tabla y el nombre de la restricción.' }] };
          }
          let sql;
          if (db_type === 'mysql') {
            sql = `ALTER TABLE ${quoteIdent(tabla)} DROP INDEX ${quoteIdent(nombre)}`;
          } else {
            sql = `ALTER TABLE ${quoteIdent(tabla)} DROP CONSTRAINT ${quoteIdent(nombre)}`;
          }
          await query_runner.runQuery(sql);
          return { content: [{ type: 'text', text: 'Restricción UNIQUE eliminada exitosamente.' }] };
        } catch (e) {
          return { isError: true, content: [{ type: 'text', text: 'Error al eliminar restricción UNIQUE: ' + (e.message || e) }] };
        }
      }
    );

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