mysql_describe_table
Retrieve the structure and schema of a MySQL database table to understand column definitions, data types, and constraints for database management and query development.
Instructions
Get the structure/schema of a specific table
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| database | No | Database name (uses current database if not specified) | |
| table | Yes | Table name to describe |
Implementation Reference
- src/index.ts:393-419 (handler)The main handler function for the 'mysql_describe_table' tool. It checks for a connection, constructs the table name, executes the DESCRIBE SQL query, and returns the table structure.private async handleDescribeTable(args: any) { if (!this.pool) { throw new Error("Not connected to MySQL. Use mysql_connect first."); } const { table, database } = args; if (!table) { throw new Error("Table name is required"); } const fullTableName = database ? `\`${database}\`.\`${table}\`` : `\`${table}\``; try { const [results] = await this.pool.execute(`DESCRIBE ${fullTableName}`); return { content: [ { type: "text", text: `Table structure for '${table}':\n${JSON.stringify(results, null, 2)}`, }, ], }; } catch (error) { throw new Error(`Failed to describe table: ${error instanceof Error ? error.message : String(error)}`); } }
- src/index.ts:181-194 (schema)The input schema definition for the 'mysql_describe_table' tool, specifying the expected parameters: table (required) and optional database.inputSchema: { type: "object", properties: { table: { type: "string", description: "Table name to describe", }, database: { type: "string", description: "Database name (uses current database if not specified)", }, }, required: ["table"], },
- src/index.ts:178-195 (registration)Tool registration in the list_tools response, including name, description, and input schema.{ name: "mysql_describe_table", description: "Get the structure/schema of a specific table", inputSchema: { type: "object", properties: { table: { type: "string", description: "Table name to describe", }, database: { type: "string", description: "Database name (uses current database if not specified)", }, }, required: ["table"], }, },
- src/index.ts:257-258 (registration)Registration of the tool handler in the switch statement within the CallToolRequest handler.case "mysql_describe_table": return await this.handleDescribeTable(args);