Skip to main content
Glama
Yonsn76

MyPos MCP

by Yonsn76

columnasDeTabla

Retrieve all column names from a specific database table to understand its structure before querying or inserting data.

Instructions

Sigue estas reglas para listar columnas: PROPÓSITO: Obtener una lista con los nombres de todas las columnas de una tabla específica. USO: Útil para conocer la estructura de una tabla antes de realizar una consulta o inserción. EJEMPLO: "¿Cuáles son las columnas de la tabla ventas?"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tablaYesNombre de la tabla

Implementation Reference

  • mcp_server.js:82-106 (registration)
    Registration of the 'columnasDeTabla' tool, including input schema, description, and handler function that fetches and formats table columns.
    server.tool( 'columnasDeTabla', 'Sigue estas reglas para listar columnas:\n' + 'PROPÓSITO: Obtener una lista con los nombres de todas las columnas de una tabla específica.\n' + 'USO: Útil para conocer la estructura de una tabla antes de realizar una consulta o inserción.\n' + 'EJEMPLO: "¿Cuáles son las columnas de la tabla ventas?"', { tabla: z.string().describe('Nombre de la tabla'), }, async ({ tabla }) => { try { const columns = await query_runner.getTableColumns(tabla); if (!columns || columns.length === 0) { return { content: [{ type: 'text', text: `La tabla '${tabla}' no tiene columnas.` }] }; } return { content: [ { type: 'text', text: `Columnas de la tabla '${tabla}':\n` + columns.map(col => `- ${col}`).join('\n') } ] }; } catch (e) { return { isError: true, content: [{ type: 'text', text: 'Error al listar columnas: ' + (e.message || e) }] }; } } );
  • The main handler logic for executing the tool, which calls getTableColumns and formats the response.
    async ({ tabla }) => { try { const columns = await query_runner.getTableColumns(tabla); if (!columns || columns.length === 0) { return { content: [{ type: 'text', text: `La tabla '${tabla}' no tiene columnas.` }] }; } return { content: [ { type: 'text', text: `Columnas de la tabla '${tabla}':\n` + columns.map(col => `- ${col}`).join('\n') } ] }; } catch (e) { return { isError: true, content: [{ type: 'text', text: 'Error al listar columnas: ' + (e.message || e) }] }; } }
  • Input schema validation using Zod for the 'tabla' parameter.
    { tabla: z.string().describe('Nombre de la tabla'), },
  • Supporting method in QueryRunner class that retrieves column names for a given table, used by the tool handler. Supports MySQL and PostgreSQL.
    async getTableColumns(table) { try { if (this.db_type === 'mysql') { const [cols] = await this.pool.execute(`SHOW COLUMNS FROM \`${table}\``); return cols.map(c => c.Field); } else { // pg const res = await this.pool.query(` SELECT column_name FROM information_schema.columns WHERE table_name = $1 `, [table]); return res.rows.map(c => c.column_name); } } catch (error) { // Si la tabla no existe, retornamos un array vacío return []; } }

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