@berthojoris/mcp-mysql-server 1.4.15 → 1.6.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
@@ -11,6 +11,13 @@ export declare class MySQLMCP {
11
11
  private transactionTools;
12
12
  private storedProcedureTools;
13
13
  private dataExportTools;
14
+ private viewTools;
15
+ private triggerTools;
16
+ private functionTools;
17
+ private indexTools;
18
+ private constraintTools;
19
+ private maintenanceTools;
20
+ private processTools;
14
21
  private security;
15
22
  private featureConfig;
16
23
  constructor(permissionsConfig?: string);
@@ -55,7 +62,7 @@ export declare class MySQLMCP {
55
62
  };
56
63
  sorting?: {
57
64
  field: string;
58
- direction: 'asc' | 'desc';
65
+ direction: "asc" | "desc";
59
66
  };
60
67
  }): Promise<{
61
68
  status: string;
@@ -95,6 +102,7 @@ export declare class MySQLMCP {
95
102
  data?: any[];
96
103
  error?: string;
97
104
  queryLog?: string;
105
+ optimizedQuery?: string;
98
106
  }>;
99
107
  executeSql(params: {
100
108
  query: string;
@@ -214,7 +222,7 @@ export declare class MySQLMCP {
214
222
  procedure_name: string;
215
223
  parameters?: Array<{
216
224
  name: string;
217
- mode: 'IN' | 'OUT' | 'INOUT';
225
+ mode: "IN" | "OUT" | "INOUT";
218
226
  data_type: string;
219
227
  }>;
220
228
  body: string;
@@ -251,7 +259,7 @@ export declare class MySQLMCP {
251
259
  };
252
260
  sorting?: {
253
261
  field: string;
254
- direction: 'asc' | 'desc';
262
+ direction: "asc" | "desc";
255
263
  };
256
264
  include_headers?: boolean;
257
265
  }): Promise<{
@@ -317,5 +325,471 @@ export declare class MySQLMCP {
317
325
  error?: string;
318
326
  }>;
319
327
  close(): Promise<void>;
328
+ /**
329
+ * Get cache statistics
330
+ */
331
+ getCacheStats(): {
332
+ status: string;
333
+ data: import("./cache/queryCache").CacheStats;
334
+ };
335
+ /**
336
+ * Get cache configuration
337
+ */
338
+ getCacheConfig(): {
339
+ status: string;
340
+ data: import("./cache/queryCache").CacheConfig;
341
+ };
342
+ /**
343
+ * Configure cache settings
344
+ */
345
+ configureCacheSettings(params: {
346
+ enabled?: boolean;
347
+ ttlMs?: number;
348
+ maxSize?: number;
349
+ maxMemoryMB?: number;
350
+ }): {
351
+ status: string;
352
+ data: {
353
+ message: string;
354
+ config: import("./cache/queryCache").CacheConfig;
355
+ };
356
+ };
357
+ /**
358
+ * Clear the query cache
359
+ */
360
+ clearCache(): {
361
+ status: string;
362
+ data: {
363
+ message: string;
364
+ entriesCleared: number;
365
+ };
366
+ };
367
+ /**
368
+ * Invalidate cache for a specific table
369
+ */
370
+ invalidateCacheForTable(params: {
371
+ table_name: string;
372
+ }): {
373
+ status: string;
374
+ data: {
375
+ message: string;
376
+ entriesInvalidated: number;
377
+ };
378
+ };
379
+ /**
380
+ * Analyze a query and get optimization suggestions
381
+ */
382
+ analyzeQuery(params: {
383
+ query: string;
384
+ }): {
385
+ status: string;
386
+ data: import("./optimization/queryOptimizer").QueryAnalysis;
387
+ };
388
+ /**
389
+ * Get suggested optimizer hints for a specific optimization goal
390
+ */
391
+ getOptimizationHints(params: {
392
+ goal: "SPEED" | "MEMORY" | "STABILITY";
393
+ }): {
394
+ status: string;
395
+ data: {
396
+ goal: "SPEED" | "MEMORY" | "STABILITY";
397
+ hints: import("./optimization/queryOptimizer").QueryHints;
398
+ };
399
+ };
400
+ listViews(params: {
401
+ database?: string;
402
+ }): Promise<{
403
+ status: string;
404
+ data?: any[];
405
+ error?: string;
406
+ queryLog?: string;
407
+ }>;
408
+ getViewInfo(params: {
409
+ view_name: string;
410
+ database?: string;
411
+ }): Promise<{
412
+ status: string;
413
+ data?: any;
414
+ error?: string;
415
+ queryLog?: string;
416
+ }>;
417
+ createView(params: any): Promise<{
418
+ status: string;
419
+ data?: any;
420
+ error?: string;
421
+ queryLog?: string;
422
+ }>;
423
+ alterView(params: any): Promise<{
424
+ status: string;
425
+ data?: any;
426
+ error?: string;
427
+ queryLog?: string;
428
+ }>;
429
+ dropView(params: {
430
+ view_name: string;
431
+ if_exists?: boolean;
432
+ database?: string;
433
+ }): Promise<{
434
+ status: string;
435
+ message?: string;
436
+ error?: string;
437
+ queryLog?: string;
438
+ }>;
439
+ showCreateView(params: {
440
+ view_name: string;
441
+ database?: string;
442
+ }): Promise<{
443
+ status: string;
444
+ data?: any;
445
+ error?: string;
446
+ queryLog?: string;
447
+ }>;
448
+ listTriggers(params: {
449
+ database?: string;
450
+ table_name?: string;
451
+ }): Promise<{
452
+ status: string;
453
+ data?: any[];
454
+ error?: string;
455
+ queryLog?: string;
456
+ }>;
457
+ getTriggerInfo(params: {
458
+ trigger_name: string;
459
+ database?: string;
460
+ }): Promise<{
461
+ status: string;
462
+ data?: any;
463
+ error?: string;
464
+ queryLog?: string;
465
+ }>;
466
+ createTrigger(params: any): Promise<{
467
+ status: string;
468
+ data?: any;
469
+ error?: string;
470
+ queryLog?: string;
471
+ }>;
472
+ dropTrigger(params: {
473
+ trigger_name: string;
474
+ if_exists?: boolean;
475
+ database?: string;
476
+ }): Promise<{
477
+ status: string;
478
+ message?: string;
479
+ error?: string;
480
+ queryLog?: string;
481
+ }>;
482
+ showCreateTrigger(params: {
483
+ trigger_name: string;
484
+ database?: string;
485
+ }): Promise<{
486
+ status: string;
487
+ data?: any;
488
+ error?: string;
489
+ queryLog?: string;
490
+ }>;
491
+ listFunctions(params: {
492
+ database?: string;
493
+ }): Promise<{
494
+ status: string;
495
+ data?: any[];
496
+ error?: string;
497
+ queryLog?: string;
498
+ }>;
499
+ getFunctionInfo(params: {
500
+ function_name: string;
501
+ database?: string;
502
+ }): Promise<{
503
+ status: string;
504
+ data?: any;
505
+ error?: string;
506
+ queryLog?: string;
507
+ }>;
508
+ createFunction(params: any): Promise<{
509
+ status: string;
510
+ data?: any;
511
+ error?: string;
512
+ queryLog?: string;
513
+ }>;
514
+ dropFunction(params: {
515
+ function_name: string;
516
+ if_exists?: boolean;
517
+ database?: string;
518
+ }): Promise<{
519
+ status: string;
520
+ message?: string;
521
+ error?: string;
522
+ queryLog?: string;
523
+ }>;
524
+ showCreateFunction(params: {
525
+ function_name: string;
526
+ database?: string;
527
+ }): Promise<{
528
+ status: string;
529
+ data?: any;
530
+ error?: string;
531
+ queryLog?: string;
532
+ }>;
533
+ executeFunction(params: {
534
+ function_name: string;
535
+ parameters?: any[];
536
+ database?: string;
537
+ }): Promise<{
538
+ status: string;
539
+ data?: any;
540
+ error?: string;
541
+ queryLog?: string;
542
+ }>;
543
+ listIndexes(params: {
544
+ table_name: string;
545
+ database?: string;
546
+ }): Promise<{
547
+ status: string;
548
+ data?: any[];
549
+ error?: string;
550
+ queryLog?: string;
551
+ }>;
552
+ getIndexInfo(params: {
553
+ table_name: string;
554
+ index_name: string;
555
+ database?: string;
556
+ }): Promise<{
557
+ status: string;
558
+ data?: any;
559
+ error?: string;
560
+ queryLog?: string;
561
+ }>;
562
+ createIndex(params: any): Promise<{
563
+ status: string;
564
+ data?: any;
565
+ error?: string;
566
+ queryLog?: string;
567
+ }>;
568
+ dropIndex(params: {
569
+ table_name: string;
570
+ index_name: string;
571
+ database?: string;
572
+ }): Promise<{
573
+ status: string;
574
+ message?: string;
575
+ error?: string;
576
+ queryLog?: string;
577
+ }>;
578
+ analyzeIndex(params: {
579
+ table_name: string;
580
+ database?: string;
581
+ }): Promise<{
582
+ status: string;
583
+ data?: any;
584
+ error?: string;
585
+ queryLog?: string;
586
+ }>;
587
+ listForeignKeys(params: {
588
+ table_name: string;
589
+ database?: string;
590
+ }): Promise<{
591
+ status: string;
592
+ data?: any[];
593
+ error?: string;
594
+ queryLog?: string;
595
+ }>;
596
+ listConstraints(params: {
597
+ table_name: string;
598
+ database?: string;
599
+ }): Promise<{
600
+ status: string;
601
+ data?: any[];
602
+ error?: string;
603
+ queryLog?: string;
604
+ }>;
605
+ addForeignKey(params: any): Promise<{
606
+ status: string;
607
+ data?: any;
608
+ error?: string;
609
+ queryLog?: string;
610
+ }>;
611
+ dropForeignKey(params: {
612
+ table_name: string;
613
+ constraint_name: string;
614
+ database?: string;
615
+ }): Promise<{
616
+ status: string;
617
+ message?: string;
618
+ error?: string;
619
+ queryLog?: string;
620
+ }>;
621
+ addUniqueConstraint(params: any): Promise<{
622
+ status: string;
623
+ data?: any;
624
+ error?: string;
625
+ queryLog?: string;
626
+ }>;
627
+ dropConstraint(params: {
628
+ table_name: string;
629
+ constraint_name: string;
630
+ constraint_type: "UNIQUE" | "CHECK";
631
+ database?: string;
632
+ }): Promise<{
633
+ status: string;
634
+ message?: string;
635
+ error?: string;
636
+ queryLog?: string;
637
+ }>;
638
+ addCheckConstraint(params: any): Promise<{
639
+ status: string;
640
+ data?: any;
641
+ error?: string;
642
+ queryLog?: string;
643
+ }>;
644
+ analyzeTable(params: {
645
+ table_name: string;
646
+ database?: string;
647
+ }): Promise<{
648
+ status: string;
649
+ data?: any;
650
+ error?: string;
651
+ queryLog?: string;
652
+ }>;
653
+ optimizeTable(params: {
654
+ table_name: string;
655
+ database?: string;
656
+ }): Promise<{
657
+ status: string;
658
+ data?: any;
659
+ error?: string;
660
+ queryLog?: string;
661
+ }>;
662
+ checkTable(params: {
663
+ table_name: string;
664
+ check_type?: "QUICK" | "FAST" | "MEDIUM" | "EXTENDED" | "CHANGED";
665
+ database?: string;
666
+ }): Promise<{
667
+ status: string;
668
+ data?: any;
669
+ error?: string;
670
+ queryLog?: string;
671
+ }>;
672
+ repairTable(params: {
673
+ table_name: string;
674
+ quick?: boolean;
675
+ extended?: boolean;
676
+ use_frm?: boolean;
677
+ database?: string;
678
+ }): Promise<{
679
+ status: string;
680
+ data?: any;
681
+ error?: string;
682
+ queryLog?: string;
683
+ }>;
684
+ truncateTable(params: {
685
+ table_name: string;
686
+ database?: string;
687
+ }): Promise<{
688
+ status: string;
689
+ message?: string;
690
+ error?: string;
691
+ queryLog?: string;
692
+ }>;
693
+ getTableStatus(params: {
694
+ table_name?: string;
695
+ database?: string;
696
+ }): Promise<{
697
+ status: string;
698
+ data?: any;
699
+ error?: string;
700
+ queryLog?: string;
701
+ }>;
702
+ flushTable(params: {
703
+ table_name?: string;
704
+ with_read_lock?: boolean;
705
+ database?: string;
706
+ }): Promise<{
707
+ status: string;
708
+ message?: string;
709
+ error?: string;
710
+ queryLog?: string;
711
+ }>;
712
+ getTableSize(params: {
713
+ table_name?: string;
714
+ database?: string;
715
+ }): Promise<{
716
+ status: string;
717
+ data?: any;
718
+ error?: string;
719
+ queryLog?: string;
720
+ }>;
721
+ showProcessList(params?: {
722
+ full?: boolean;
723
+ }): Promise<{
724
+ status: string;
725
+ data?: any[];
726
+ error?: string;
727
+ queryLog?: string;
728
+ }>;
729
+ killProcess(params: {
730
+ process_id: number;
731
+ type?: "CONNECTION" | "QUERY";
732
+ }): Promise<{
733
+ status: string;
734
+ message?: string;
735
+ error?: string;
736
+ queryLog?: string;
737
+ }>;
738
+ showStatus(params?: {
739
+ like?: string;
740
+ global?: boolean;
741
+ }): Promise<{
742
+ status: string;
743
+ data?: any;
744
+ error?: string;
745
+ queryLog?: string;
746
+ }>;
747
+ showVariables(params?: {
748
+ like?: string;
749
+ global?: boolean;
750
+ }): Promise<{
751
+ status: string;
752
+ data?: any;
753
+ error?: string;
754
+ queryLog?: string;
755
+ }>;
756
+ explainQuery(params: {
757
+ query: string;
758
+ format?: "TRADITIONAL" | "JSON" | "TREE";
759
+ analyze?: boolean;
760
+ }): Promise<{
761
+ status: string;
762
+ data?: any;
763
+ error?: string;
764
+ queryLog?: string;
765
+ }>;
766
+ showEngineStatus(params?: {
767
+ engine?: string;
768
+ }): Promise<{
769
+ status: string;
770
+ data?: any;
771
+ error?: string;
772
+ queryLog?: string;
773
+ }>;
774
+ getServerInfo(): Promise<{
775
+ status: string;
776
+ data?: any;
777
+ error?: string;
778
+ queryLog?: string;
779
+ }>;
780
+ showBinaryLogs(): Promise<{
781
+ status: string;
782
+ data?: any[];
783
+ error?: string;
784
+ queryLog?: string;
785
+ }>;
786
+ showReplicationStatus(params?: {
787
+ type?: "MASTER" | "REPLICA" | "SLAVE";
788
+ }): Promise<{
789
+ status: string;
790
+ data?: any;
791
+ error?: string;
792
+ queryLog?: string;
793
+ }>;
320
794
  }
321
795
  export default MySQLMCP;