Skip to main content
Glama

list_table

Lists tables in an MSSQL database or specific schemas to help users discover and manage database structure for queries and data operations.

Instructions

Lists tables in an MSSQL Database, or list tables in specific schemas

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
parametersNoSchemas to filter by (optional)

Implementation Reference

  • The main handler function that executes the list_table tool logic by querying the INFORMATION_SCHEMA.TABLES for tables, optionally filtered by provided schema names.
    async run(params: any) { try { const { parameters } = params; const request = new sql.Request(); const schemaFilter = parameters && parameters.length > 0 ? `AND TABLE_SCHEMA IN (${parameters.map((p: string) => `'${p}'`).join(", ")})` : ""; const query = `SELECT TABLE_SCHEMA + '.' + TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' ${schemaFilter} ORDER BY TABLE_SCHEMA, TABLE_NAME`; const result = await request.query(query); return { success: true, message: `List tables executed successfully`, items: result.recordset, }; } catch (error) { console.error("Error listing tables:", error); return { success: false, message: `Failed to list tables: ${error}`, }; } }
  • Defines the input schema for the list_table tool, accepting an optional array of schema names to filter the table list.
    inputSchema = { type: "object", properties: { parameters: { type: "array", description: "Schemas to filter by (optional)", items: { type: "string" }, minItems: 0 }, }, required: [], } as any;
  • src/index.ts:109-113 (registration)
    Registers listTableTool instance in the list of available tools returned by the ListToolsRequestSchema handler, conditionally based on readonly mode.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: isReadOnly ? [listTableTool, readDataTool, describeTableTool] // todo: add searchDataTool to the list of tools available in readonly mode once implemented : [insertDataTool, readDataTool, describeTableTool, updateDataTool, createTableTool, createIndexTool, dropTableTool, listTableTool], // add all new tools here }));
  • src/index.ts:135-136 (registration)
    Registers the handler dispatch for list_table tool calls in the CallToolRequestSchema switch statement.
    case listTableTool.name: result = await listTableTool.run(args);
  • src/index.ts:88-88 (registration)
    Instantiates the ListTableTool class for use in the MCP server.
    const listTableTool = new ListTableTool();

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/EvilPhatBoi/McpSqlServer'

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