@berthojoris/mcp-mysql-server 1.33.6 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -25,16 +25,6 @@ export declare class MySQLMCP {
25
25
  private analysisTools;
26
26
  private aiTools;
27
27
  private macroTools;
28
- private intelligentQueryTools;
29
- private smartDiscoveryTools;
30
- private documentationGeneratorTools;
31
- private schemaDesignTools;
32
- private securityAuditTools;
33
- private indexRecommendationTools;
34
- private testDataTools;
35
- private schemaPatternTools;
36
- private queryVisualizationTools;
37
- private forecastingTools;
38
28
  private smartQueryBuilderTools;
39
29
  private fulltextSearchTools;
40
30
  private security;
@@ -331,15 +321,6 @@ export declare class MySQLMCP {
331
321
  data?: any;
332
322
  error?: string;
333
323
  }>;
334
- exportQueryToCSV(params: {
335
- query: string;
336
- params?: any[];
337
- include_headers?: boolean;
338
- }): Promise<{
339
- status: string;
340
- data?: any;
341
- error?: string;
342
- }>;
343
324
  exportTableToJSON(params: {
344
325
  table_name: string;
345
326
  filters?: any[];
@@ -358,26 +339,6 @@ export declare class MySQLMCP {
358
339
  data?: any;
359
340
  error?: string;
360
341
  }>;
361
- exportQueryToJSON(params: {
362
- query: string;
363
- params?: any[];
364
- pretty?: boolean;
365
- }): Promise<{
366
- status: string;
367
- data?: any;
368
- error?: string;
369
- }>;
370
- exportTableToSql(params: {
371
- table_name: string;
372
- filters?: any[];
373
- include_create_table?: boolean;
374
- batch_size?: number;
375
- database?: string;
376
- }): Promise<{
377
- status: string;
378
- data?: any;
379
- error?: string;
380
- }>;
381
342
  importFromCSV(params: {
382
343
  table_name: string;
383
344
  csv_data: string;
@@ -403,111 +364,6 @@ export declare class MySQLMCP {
403
364
  data?: any;
404
365
  error?: string;
405
366
  }>;
406
- backupTable(params: {
407
- table_name: string;
408
- include_data?: boolean;
409
- include_drop?: boolean;
410
- database?: string;
411
- }): Promise<{
412
- status: string;
413
- data?: any;
414
- error?: string;
415
- }>;
416
- backupDatabase(params: {
417
- include_data?: boolean;
418
- include_drop?: boolean;
419
- tables?: string[];
420
- database?: string;
421
- }): Promise<{
422
- status: string;
423
- data?: any;
424
- error?: string;
425
- }>;
426
- restoreFromSql(params: {
427
- sql_dump: string;
428
- stop_on_error?: boolean;
429
- database?: string;
430
- }): Promise<{
431
- status: string;
432
- data?: any;
433
- error?: string;
434
- }>;
435
- getCreateTableStatement(params: {
436
- table_name: string;
437
- database?: string;
438
- }): Promise<{
439
- status: string;
440
- data?: any;
441
- error?: string;
442
- }>;
443
- getDatabaseSchema(params: {
444
- database?: string;
445
- include_views?: boolean;
446
- include_procedures?: boolean;
447
- include_functions?: boolean;
448
- include_triggers?: boolean;
449
- }): Promise<{
450
- status: string;
451
- data?: any;
452
- error?: string;
453
- }>;
454
- copyTableData(params: {
455
- source_table: string;
456
- target_table: string;
457
- column_mapping?: Record<string, string>;
458
- filters?: any[];
459
- batch_size?: number;
460
- database?: string;
461
- }): Promise<{
462
- status: string;
463
- data?: any;
464
- error?: string;
465
- }>;
466
- moveTableData(params: {
467
- source_table: string;
468
- target_table: string;
469
- column_mapping?: Record<string, string>;
470
- filters?: any[];
471
- batch_size?: number;
472
- database?: string;
473
- }): Promise<{
474
- status: string;
475
- data?: any;
476
- error?: string;
477
- }>;
478
- cloneTable(params: {
479
- source_table: string;
480
- new_table_name: string;
481
- include_data?: boolean;
482
- include_indexes?: boolean;
483
- database?: string;
484
- }): Promise<{
485
- status: string;
486
- data?: any;
487
- error?: string;
488
- }>;
489
- compareTableStructure(params: {
490
- table1: string;
491
- table2: string;
492
- database?: string;
493
- }): Promise<{
494
- status: string;
495
- data?: any;
496
- error?: string;
497
- }>;
498
- syncTableData(params: {
499
- source_table: string;
500
- target_table: string;
501
- key_column: string;
502
- columns_to_sync?: string[];
503
- sync_mode?: "insert_only" | "update_only" | "upsert";
504
- batch_size?: number;
505
- database?: string;
506
- }): Promise<{
507
- status: string;
508
- data?: any;
509
- error?: string;
510
- }>;
511
367
  /**
512
368
  * Initialize the migrations tracking table
513
369
  */
@@ -1103,57 +959,11 @@ export declare class MySQLMCP {
1103
959
  data?: any;
1104
960
  error?: string;
1105
961
  }>;
1106
- showEngineStatus(params?: {
1107
- engine?: string;
1108
- }): Promise<{
1109
- status: string;
1110
- data?: any;
1111
- error?: string;
1112
- }>;
1113
- getServerInfo(): Promise<{
1114
- status: string;
1115
- data?: any;
1116
- error?: string;
1117
- }>;
1118
- showBinaryLogs(): Promise<{
1119
- status: string;
1120
- data?: any[];
1121
- error?: string;
1122
- }>;
1123
- showReplicationStatus(params?: {
1124
- type?: "MASTER" | "REPLICA" | "SLAVE";
1125
- }): Promise<{
1126
- status: string;
1127
- data?: any;
1128
- error?: string;
1129
- }>;
1130
962
  getPerformanceMetrics(): Promise<{
1131
963
  status: string;
1132
964
  data?: any;
1133
965
  error?: string;
1134
966
  }>;
1135
- getTopQueriesByTime(params?: {
1136
- limit?: number;
1137
- }): Promise<{
1138
- status: string;
1139
- data?: any[];
1140
- error?: string;
1141
- }>;
1142
- getTopQueriesByCount(params?: {
1143
- limit?: number;
1144
- }): Promise<{
1145
- status: string;
1146
- data?: any[];
1147
- error?: string;
1148
- }>;
1149
- getSlowQueries(params?: {
1150
- limit?: number;
1151
- threshold_seconds?: number;
1152
- }): Promise<{
1153
- status: string;
1154
- data?: any[];
1155
- error?: string;
1156
- }>;
1157
967
  getTableIOStats(params?: {
1158
968
  limit?: number;
1159
969
  table_schema?: string;
@@ -1192,387 +1002,6 @@ export declare class MySQLMCP {
1192
1002
  message?: string;
1193
1003
  error?: string;
1194
1004
  }>;
1195
- buildQueryFromIntent(params: {
1196
- natural_language: string;
1197
- context?: "analytics" | "reporting" | "data_entry" | "schema_exploration";
1198
- max_complexity?: "simple" | "medium" | "complex";
1199
- safety_level?: "strict" | "moderate" | "permissive";
1200
- database?: string;
1201
- }): Promise<{
1202
- status: string;
1203
- data?: {
1204
- generated_sql: string;
1205
- explanation: string;
1206
- tables_involved: string[];
1207
- columns_involved: string[];
1208
- estimated_complexity: string;
1209
- safety_notes: string[];
1210
- optimization_hints: string[];
1211
- alternatives?: string[];
1212
- };
1213
- error?: string;
1214
- }>;
1215
- suggestQueryImprovements(params: {
1216
- query: string;
1217
- optimization_goal?: "speed" | "memory" | "readability";
1218
- database?: string;
1219
- }): Promise<{
1220
- status: string;
1221
- data?: {
1222
- original_query: string;
1223
- suggestions: Array<{
1224
- type: string;
1225
- description: string;
1226
- improved_query?: string;
1227
- }>;
1228
- estimated_improvement: string;
1229
- };
1230
- error?: string;
1231
- }>;
1232
- smartSearch(params: {
1233
- search_term: string;
1234
- search_type?: "column" | "table" | "data_pattern" | "relationship" | "all";
1235
- similarity_threshold?: number;
1236
- include_sample_data?: boolean;
1237
- max_results?: number;
1238
- database?: string;
1239
- }): Promise<{
1240
- status: string;
1241
- data?: {
1242
- search_term: string;
1243
- search_type: string;
1244
- results: {
1245
- tables: Array<{
1246
- name: string;
1247
- relevance_score: number;
1248
- match_reason: string;
1249
- column_count: number;
1250
- row_estimate: number;
1251
- matching_columns?: string[];
1252
- }>;
1253
- columns: Array<{
1254
- table_name: string;
1255
- column_name: string;
1256
- data_type: string;
1257
- relevance_score: number;
1258
- match_reason: string;
1259
- sample_values?: any[];
1260
- }>;
1261
- data_patterns: Array<{
1262
- table_name: string;
1263
- column_name: string;
1264
- pattern_type: string;
1265
- description: string;
1266
- sample_matches?: any[];
1267
- }>;
1268
- relationships: Array<{
1269
- from_table: string;
1270
- from_column: string;
1271
- to_table: string;
1272
- to_column: string;
1273
- relationship_type: string;
1274
- confidence: number;
1275
- }>;
1276
- };
1277
- total_matches: number;
1278
- search_time_ms: number;
1279
- };
1280
- error?: string;
1281
- }>;
1282
- findSimilarColumns(params: {
1283
- column_name?: string;
1284
- table_name?: string;
1285
- include_data_comparison?: boolean;
1286
- max_results?: number;
1287
- database?: string;
1288
- }): Promise<{
1289
- status: string;
1290
- data?: {
1291
- reference_column?: {
1292
- table: string;
1293
- column: string;
1294
- data_type: string;
1295
- };
1296
- similar_columns: Array<{
1297
- table_name: string;
1298
- column_name: string;
1299
- data_type: string;
1300
- similarity_score: number;
1301
- similarity_type: string;
1302
- data_overlap_percentage?: number;
1303
- }>;
1304
- potential_joins: Array<{
1305
- table1: string;
1306
- column1: string;
1307
- table2: string;
1308
- column2: string;
1309
- confidence: number;
1310
- reason: string;
1311
- }>;
1312
- };
1313
- error?: string;
1314
- }>;
1315
- discoverDataPatterns(params: {
1316
- table_name: string;
1317
- pattern_types?: Array<"unique" | "null" | "duplicate" | "format" | "range">;
1318
- max_columns?: number;
1319
- database?: string;
1320
- }): Promise<{
1321
- status: string;
1322
- data?: {
1323
- table_name: string;
1324
- patterns: Array<{
1325
- column_name: string;
1326
- pattern_type: string;
1327
- description: string;
1328
- metrics?: Record<string, any>;
1329
- recommendations?: string[];
1330
- }>;
1331
- summary: {
1332
- columns_analyzed: number;
1333
- patterns_found: number;
1334
- data_quality_score: number;
1335
- };
1336
- };
1337
- error?: string;
1338
- }>;
1339
- generateDocumentation(params: {
1340
- scope?: "database" | "table" | "column" | "relationship";
1341
- table_name?: string;
1342
- include_business_glossary?: boolean;
1343
- format?: "markdown" | "html" | "json";
1344
- include_examples?: boolean;
1345
- include_statistics?: boolean;
1346
- database?: string;
1347
- }): Promise<{
1348
- status: string;
1349
- data?: {
1350
- format: string;
1351
- scope: string;
1352
- content: string;
1353
- metadata: {
1354
- generated_at: string;
1355
- database: string;
1356
- tables_documented: number;
1357
- columns_documented: number;
1358
- };
1359
- };
1360
- error?: string;
1361
- }>;
1362
- generateDataDictionary(params: {
1363
- table_name: string;
1364
- include_sample_values?: boolean;
1365
- include_constraints?: boolean;
1366
- database?: string;
1367
- }): Promise<{
1368
- status: string;
1369
- data?: {
1370
- table_name: string;
1371
- description: string;
1372
- columns: Array<{
1373
- name: string;
1374
- data_type: string;
1375
- description: string;
1376
- constraints: string[];
1377
- is_nullable: boolean;
1378
- default_value: string | null;
1379
- sample_values?: any[];
1380
- business_term?: string;
1381
- }>;
1382
- primary_key: string[];
1383
- foreign_keys: Array<{
1384
- column: string;
1385
- references_table: string;
1386
- references_column: string;
1387
- }>;
1388
- indexes: Array<{
1389
- name: string;
1390
- columns: string[];
1391
- is_unique: boolean;
1392
- }>;
1393
- };
1394
- error?: string;
1395
- }>;
1396
- generateBusinessGlossary(params: {
1397
- include_descriptions?: boolean;
1398
- group_by?: "table" | "category" | "alphabetical";
1399
- database?: string;
1400
- }): Promise<{
1401
- status: string;
1402
- data?: {
1403
- glossary: Array<{
1404
- term: string;
1405
- technical_name: string;
1406
- source_table: string;
1407
- data_type: string;
1408
- description: string;
1409
- category: string;
1410
- related_terms?: string[];
1411
- }>;
1412
- categories: string[];
1413
- total_terms: number;
1414
- };
1415
- error?: string;
1416
- }>;
1417
- designSchemaFromRequirements(params: {
1418
- requirements_text: string;
1419
- entities?: Array<{
1420
- name: string;
1421
- fields?: string[];
1422
- }>;
1423
- naming_convention?: "snake_case" | "camelCase";
1424
- include_audit_columns?: boolean;
1425
- id_type?: "BIGINT" | "UUID";
1426
- engine?: string;
1427
- charset?: string;
1428
- collation?: string;
1429
- }): Promise<{
1430
- status: string;
1431
- data?: {
1432
- input: {
1433
- requirements_text: string;
1434
- inferred_entities_count: number;
1435
- };
1436
- tables: Array<{
1437
- table_name: string;
1438
- columns: Array<{
1439
- name: string;
1440
- type: string;
1441
- nullable: boolean;
1442
- primary_key?: boolean;
1443
- unique?: boolean;
1444
- references?: {
1445
- table: string;
1446
- column: string;
1447
- };
1448
- }>;
1449
- indexes: Array<{
1450
- name: string;
1451
- columns: string[];
1452
- unique?: boolean;
1453
- }>;
1454
- }>;
1455
- relationships: Array<{
1456
- from_table: string;
1457
- from_column: string;
1458
- to_table: string;
1459
- to_column: string;
1460
- type: "one_to_many" | "many_to_one";
1461
- }>;
1462
- ddl_statements: string[];
1463
- notes: string[];
1464
- };
1465
- error?: string;
1466
- }>;
1467
- auditDatabaseSecurity(params?: {
1468
- database?: string;
1469
- include_user_account_checks?: boolean;
1470
- include_privilege_checks?: boolean;
1471
- }): Promise<{
1472
- status: string;
1473
- data?: {
1474
- database: string;
1475
- findings: Array<{
1476
- severity: "critical" | "medium" | "info" | "low" | "high";
1477
- title: string;
1478
- evidence?: string;
1479
- recommendation: string;
1480
- }>;
1481
- summary: {
1482
- critical: number;
1483
- high: number;
1484
- medium: number;
1485
- low: number;
1486
- info: number;
1487
- };
1488
- notes: string[];
1489
- };
1490
- error?: string;
1491
- }>;
1492
- recommendIndexes(params?: {
1493
- database?: string;
1494
- max_query_patterns?: number;
1495
- max_recommendations?: number;
1496
- min_execution_count?: number;
1497
- min_avg_time_ms?: number;
1498
- include_unused_index_warnings?: boolean;
1499
- }): Promise<{
1500
- status: string;
1501
- data?: {
1502
- database: string;
1503
- analyzed_query_patterns: number;
1504
- recommendations: Array<{
1505
- table_name: string;
1506
- columns: string[];
1507
- proposed_index_name: string;
1508
- create_index_sql: string;
1509
- reason: string;
1510
- supporting_query_patterns: Array<{
1511
- query_pattern: string;
1512
- execution_count: number;
1513
- avg_execution_time_ms: number;
1514
- }>;
1515
- }>;
1516
- unused_index_warnings?: Array<{
1517
- table_schema: string;
1518
- table_name: string;
1519
- index_name: string;
1520
- note: string;
1521
- }>;
1522
- notes: string[];
1523
- };
1524
- error?: string;
1525
- }>;
1526
- generateTestData(params: {
1527
- table_name: string;
1528
- row_count: number;
1529
- batch_size?: number;
1530
- include_nulls?: boolean;
1531
- database?: string;
1532
- }): Promise<{
1533
- status: string;
1534
- data?: any;
1535
- error?: string;
1536
- }>;
1537
- analyzeSchemaPatterns(params?: {
1538
- scope?: "database" | "table";
1539
- table_name?: string;
1540
- database?: string;
1541
- }): Promise<{
1542
- status: string;
1543
- data?: any;
1544
- error?: string;
1545
- }>;
1546
- visualizeQuery(params: {
1547
- query: string;
1548
- include_explain_json?: boolean;
1549
- format?: "mermaid" | "json" | "both";
1550
- }): Promise<{
1551
- status: string;
1552
- data?: any;
1553
- error?: string;
1554
- }>;
1555
- predictQueryPerformance(params: {
1556
- query: string;
1557
- row_growth_multiplier?: number;
1558
- per_table_row_growth?: Record<string, number>;
1559
- include_explain_json?: boolean;
1560
- }): Promise<{
1561
- status: string;
1562
- data?: any;
1563
- error?: string;
1564
- }>;
1565
- forecastDatabaseGrowth(params?: {
1566
- horizon_days?: number;
1567
- growth_rate_percent_per_day?: number;
1568
- growth_rate_percent_per_month?: number;
1569
- per_table_growth_rate_percent_per_day?: Record<string, number>;
1570
- database?: string;
1571
- }): Promise<{
1572
- status: string;
1573
- data?: any;
1574
- error?: string;
1575
- }>;
1576
1005
  startQueryBuilder(params: {
1577
1006
  intent: string;
1578
1007
  context?: "analytics" | "reporting" | "data_entry" | "schema_exploration";