mysql_list_tables
Lists all tables in a MySQL database to inspect schema structure and identify available data tables for querying or management operations.
Instructions
List all tables in the current or specified database
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| database | No | Database name (uses current database if not specified) |
Implementation Reference
- src/index.ts:366-391 (handler)The handler function that implements the core logic for the 'mysql_list_tables' tool. It checks for an active connection, constructs a 'SHOW TABLES' query (optionally from a specific database), executes it, and returns the list of tables.private async handleListTables(args: any) { if (!this.pool) { throw new Error("Not connected to MySQL. Use mysql_connect first."); } const { database } = args; let query = "SHOW TABLES"; if (database) { query = `SHOW TABLES FROM \`${database}\``; } try { const [results] = await this.pool.execute(query); return { content: [ { type: "text", text: `Tables${database ? ` in database '${database}'` : ""}:\n${JSON.stringify(results, null, 2)}`, }, ], }; } catch (error) { throw new Error(`Failed to list tables: ${error instanceof Error ? error.message : String(error)}`); } }
- src/index.ts:165-177 (schema)The tool definition including name, description, and input schema for 'mysql_list_tables' as registered in the ListTools response.{ name: "mysql_list_tables", description: "List all tables in the current or specified database", inputSchema: { type: "object", properties: { database: { type: "string", description: "Database name (uses current database if not specified)", }, }, }, },
- src/index.ts:255-256 (registration)The switch case registration that maps the 'mysql_list_tables' tool name to its handler function in the CallToolRequest handler.case "mysql_list_tables": return await this.handleListTables(args);