UNPKG

@rolandohuber/mysql-mcp-server

Version:

A comprehensive MCP server for MySQL database operations with 16 tools, multi-transport support, and intelligent test data generation

47 lines 1.75 kB
export const generateSchemaDiagramSchema = { name: 'mysql_generateSchemaDiagram', description: 'Generates a JSON structure representing the database schema for diagramming', inputSchema: { type: 'object', properties: {}, required: [], }, }; export async function generateSchemaDiagramHandler(mysqlService) { try { const tables = await mysqlService.listTables(); const nodes = []; const edges = []; // Create nodes for each table for (const table of tables) { const schema = await mysqlService.describeTable(table); const relations = await mysqlService.getTableRelations(table); const columns = schema.map(column => ({ name: column.column_name, type: column.data_type, isPrimaryKey: column.column_key === 'PRI', isForeignKey: relations.outgoing.some(rel => rel.column_name === column.column_name), })); nodes.push({ id: table, name: table, columns, }); // Create edges for foreign key relationships for (const relation of relations.outgoing) { edges.push({ from: table, to: relation.referenced_table_name, fromColumn: relation.column_name, toColumn: relation.referenced_column_name, label: relation.constraint_name, }); } } return { nodes, edges }; } catch (error) { throw new Error(`Failed to generate schema diagram: ${error}`); } } //# sourceMappingURL=generateSchemaDiagram.js.map