Mysql Mcp

223 tools. 66 can modify or destroy data without limits.

14 destructive tools with no built-in limits. Policy required.

Last updated:

66 can modify or destroy data
157 read-only
223 tools total

Community server · catalogue entry checked 28/06/2026

How to control Mysql Mcp ↓

What Mysql Mcp exposes to your agents

Read (157) Write / Execute (52) Destructive / Financial (14)
Critical Risk

The most dangerous Mysql Mcp tools

66 of Mysql Mcp's 223 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Mysql Mcp

PolicyLayer is an MCP gateway — it sits between your AI agents and Mysql Mcp, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "mysql_audit_restore_backup": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "mysql_add_partition": {
    "limits": [
      {
        "counter": "mysql_add_partition_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "mysql_audit_diff_backup": {
    "limits": [
      {
        "counter": "mysql_audit_diff_backup_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Mysql Mcp — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON MYSQL →

Instant setup, no code required.

All 223 Mysql Mcp tools

EXECUTE 14 tools
Execute mysql_analyze_table Analyze tables to update index statistics for the query optimizer. Execute mysql_create_dump Generate mysqldump command for backing up database. Execute mysql_event_create Create a scheduled event (one-time or recurring) to execute SQL at specified times. Execute mysql_flush_tables Flush tables to ensure data is written to disk. Execute mysql_json_merge Merge two JSON documents using JSON_MERGE_PATCH or JSON_MERGE_PRESERVE. Execute mysql_migration_apply Execute migration SQL and record it atomically. Note: MySQL DDL statements cannot be rolled back, they commit Execute mysql_optimize_table Optimize tables to reclaim unused space and defragment data. Execute mysql_spatial_intersection Calculate the intersection of two geometries. Execute mysql_spatial_transform Transform a geometry from one spatial reference system to another. Execute mysql_stats_row_number Assign sequential row numbers within an ordered result set. Use partitionBy to restart numbering per group. Execute mysql_transaction_begin Begin a new transaction with optional isolation level. Returns a transaction ID for subsequent operations. Execute mysql_transaction_execute Execute multiple SQL statements atomically. All statements succeed or all are rolled back. Execute mysqlsh_run_script Execute a JavaScript, Python, or SQL script via MySQL Shell. Provides access to X DevAPI, AdminAPI, and all My Execute proxysql_commands Execute ProxySQL admin commands like LOAD/SAVE for users, servers, query rules, and variables. Also supports F
WRITE 38 tools
Write mysql_add_partition Add a new partition to a partitioned table. Write mysql_append_insight Append a business insight to the in-memory insights memo. Insights are accessible via the mysql://insights res Write mysql_collation_convert Convert column values to a different character set or collation. Write mysql_create_index Create an index on a table. Supports BTREE, HASH, FULLTEXT, and SPATIAL index types. Write mysql_create_schema Create a new database/schema with specified charset and collation. Write mysql_create_table Create a new table with specified columns, engine, and charset. Write mysql_create_view Create or replace a view with specified algorithm and check option. Write mysql_doc_add Add documents to a collection. Write mysql_doc_create_collection Create a new JSON document collection. Write mysql_doc_create_index Create an index on document fields. Write mysql_doc_modify Update documents in a collection. Write mysql_event_alter Modify an existing scheduled event schedule, body, or status. Write mysql_fulltext_create Create a FULLTEXT index on specified columns for fast text search. Write mysql_import_data Import data into a table from an array of row objects. Write mysql_json_array_append Append a value to a JSON array at the specified path. Write mysql_json_insert Insert values into JSON columns only if the path does not exist. Write mysql_json_replace Replace values in JSON columns only if the path exists. Write mysql_json_set Set or update values in JSON columns at specified paths. Write mysql_json_update Simple JSON value update by row ID. Write mysql_migration_init Initialize or verify the schema version tracking table (_mcp_schema_versions). Write mysql_migration_record Record a migration in the schema version tracking table with status Write mysql_restore_dump Generate command for restoring from mysqldump backup. Write mysql_role_assign Assign a role to a user. Write mysql_role_create Create a new role. Write mysql_role_grant Grant privileges to a role. Write mysql_role_revoke Revoke a role from a user, or privileges from a role. Write mysql_spatial_buffer Create a buffer (expanded area) around a geometry. Write mysql_spatial_create_column Add a geometry/spatial column to an existing table. Write mysql_spatial_create_index Create a SPATIAL index on a geometry column for faster queries. Write mysql_spatial_point Create a POINT geometry from longitude/latitude coordinates. Write mysql_spatial_polygon Create a POLYGON geometry from coordinates. Write mysql_stats_histogram View or update column histogram statistics (MySQL 8.0+). Write mysql_transaction_commit Commit a transaction, making all changes permanent. Write mysql_transaction_savepoint Create a savepoint within a transaction for partial rollback. Write mysql_write_query Execute a write SQL query (INSERT, UPDATE, DELETE). Uses prepared statements for safety. Write mysqlsh_import_json Import JSON documents from a file using util.importJson(). Supports NDJSON (one JSON object per line) and mult Write mysqlsh_import_table Parallel table import using util.importTable(). For CSV files, explicitly set fieldsTerminatedBy to Write mysqlsh_load_dump Load a MySQL Shell dump using util.loadDump(). Restores data from a dump created by dumpInstance, dumpSchemas,
READ 157 tools
Read mysql_audit_diff_backup Compare a snapshot Read mysql_audit_list_backups List available pre-mutation snapshots captured before destructive operations. Read mysql_binlog_events View binary log events for point-in-time recovery or replication debugging. Read mysql_buffer_pool_stats Get InnoDB buffer pool statistics. Read mysql_check_table Check tables for errors. Read mysql_cluster_instances List all instances in the InnoDB Cluster. Read mysql_cluster_router_status Get status of MySQL Routers connected to the cluster. Read mysql_cluster_status Get overall InnoDB Cluster status (requires mysql_innodb_cluster_metadata schema). Read mysql_cluster_switchover Analyze cluster state and provide switchover recommendations. Read mysql_cluster_topology Get a visual representation of the cluster topology. Read mysql_concat Concatenate multiple columns with an optional separator. Read mysql_constraint_analysis Analyze all constraints for issues: missing NOT NULL, missing primary keys. Read mysql_dependency_graph Get the full foreign key dependency graph with cascade paths, row counts, circular dependency detection, and s Read mysql_describe_table Get detailed information about a table Read mysql_detect_bloat_risk Scores tables by bloat/fragmentation risk using information_schema DATA_FREE vs DATA_LENGTH metrics. Returns p Read mysql_detect_connection_spike Detects unusual connection patterns by analyzing concentration by user, host, and state. Flags when a single u Read mysql_detect_query_anomalies Detects queries deviating from their historical execution time norms using MAX/AVG variance analysis. Requires Read mysql_doc_collection_info Get collection statistics. Read mysql_doc_find Query documents in a collection. Read mysql_doc_list_collections List JSON document collections in a schema. Read mysql_event_list List all scheduled events with status, schedule, and execution info. Read mysql_event_status Get detailed status and execution history for a specific event. Read mysql_explain Get query execution plan using EXPLAIN. Read mysql_explain_analyze Get query execution plan with actual timing using EXPLAIN ANALYZE (MySQL 8.0+). Only TREE format is supported. Read mysql_export_table Export table data as SQL INSERT statements or CSV format. Read mysql_fulltext_boolean Perform FULLTEXT search in BOOLEAN MODE with operators (+, -, , etc.). Read mysql_fulltext_expand Perform FULLTEXT search WITH QUERY EXPANSION for finding related terms. Read mysql_fulltext_search Perform FULLTEXT search with relevance ranking. Read mysql_get_indexes Get all indexes for a table including type, columns, and cardinality. Read mysql_gr_flow_control Get Group Replication flow control statistics and throttling info. Read mysql_gr_members List all Group Replication members with detailed state information. Read mysql_gr_primary Identify the current primary member in a single-primary GR cluster. Read mysql_gr_status Get comprehensive Group Replication status including mode and member state. Read mysql_gr_transactions Get Group Replication transaction statistics and pending transactions. Read mysql_gtid_status Get Global Transaction ID (GTID) status for replication. Read mysql_index_recommendation Analyze table and suggest potentially missing indexes based on query patterns. Read mysql_index_usage Get index usage statistics from performance_schema. Read mysql_innodb_status Get detailed InnoDB engine status. Defaults to parsed summary. Use summary=false for raw output. Read mysql_json_contains Find rows where JSON column contains a specified value. Read mysql_json_diff Compare two JSON documents and identify differences. Read mysql_json_extract Extract values from JSON columns using JSON path expressions. Read mysql_json_get Simple JSON value extraction by row ID. Read mysql_json_index_suggest Suggest functional indexes for frequently accessed JSON paths. Read mysql_json_keys Get the keys of a JSON object at the specified path. Read mysql_json_normalize Normalize JSON column structure by extracting all unique keys across documents. Read mysql_json_search Search for a string value in JSON columns and return matching paths. Read mysql_json_stats Analyze statistics for a JSON column including depth, size, and key frequency. Read mysql_json_validate Validate if a string is valid JSON. Read mysql_kill_query Kill a running query or connection. Read mysql_like_search Find rows using LIKE pattern matching with % and _ wildcards. Read mysql_list_constraints List all constraints (primary key, foreign key, unique, check) for a table. Read mysql_list_events List all scheduled events with execution status and schedule info. Read mysql_list_functions List all user-defined functions with return types and metadata. Read mysql_list_schemas List all databases/schemas with metadata including charset and collation. Read mysql_list_stored_procedures List all stored procedures with parameters and metadata. Read mysql_list_tables List all tables and views in the database with metadata. Read mysql_list_triggers List all triggers with event timing, action, and definition. Read mysql_list_views List all views with their definitions, security type, and check option. Read mysql_master_status Get binary log position from master/source server. Read mysql_migration_history Query migration history with optional filtering by status and source system. Read mysql_migration_risks Analyze proposed DDL statements for risks: data loss, lock contention, constraint violations, and breaking cha Read mysql_migration_status Get current migration tracking status: latest version, counts by status, Read mysql_optimizer_trace Get detailed optimizer trace for a query. Read mysql_partition_info Get partition information for a table. Read mysql_pool_stats Get connection pool statistics. Read mysql_query_rewrite Analyze a query and suggest optimizations. Read mysql_query_stats Get query statistics from performance_schema. Read mysql_read_query Execute a read-only SQL query (SELECT). Uses prepared statements for safety. Read mysql_regexp_match Find rows where column matches a regular expression pattern. Read mysql_reorganize_partition Reorganize partitions by splitting or merging them. Read mysql_repair_table Repair corrupted tables (MyISAM only). Read mysql_replication_lag Calculate replication lag in seconds. Read mysql_replication_status Show replication slave/replica status. Use summary=true for key metrics only. Read mysql_role_grants List privileges granted to a role. Read mysql_role_list List all roles defined in MySQL. Read mysql_router_metadata_status Get InnoDB Cluster metadata cache status including refresh statistics and last refresh host. Read mysql_router_pool_status Get MySQL Router connection pool status including idle and stashed server connections. Read mysql_router_route_blocked_hosts List IP addresses that have been blocked for a route due to too many failed connection attempts. Read mysql_router_route_connections List active connections on a route including source/destination addresses, bytes transferred, and connection t Read mysql_router_route_destinations List backend MySQL server destinations for a route. Shows address and port of each destination server. Read mysql_router_route_health Check if a route is alive and functioning. Returns isAlive boolean indicating route health. Read mysql_router_route_status Get operational status of a specific route including active connections, total connections, and blocked hosts Read mysql_router_routes List all configured routes in MySQL Router. Returns route names that can be used with other router tools. Read mysql_router_status Get MySQL Router process status including version, hostname, and uptime. Requires Router REST API access. Read mysql_scheduler_status Get the global Event Scheduler status and event statistics. Read mysql_schema_snapshot Get a complete schema snapshot in a single agent-optimized JSON structure. Includes tables, columns, constrain Read mysql_security_audit Query the MySQL audit log (requires Enterprise Audit or compatible plugin). Read mysql_security_encryption_status Get Transparent Data Encryption (TDE) and keyring status. Read mysql_security_firewall_rules List MySQL Enterprise Firewall allowlist rules. Read mysql_security_firewall_status Get MySQL Enterprise Firewall plugin status. Read mysql_security_mask_data Apply data masking to sensitive values (implementation for Community Edition). Read mysql_security_password_validate Validate password strength using MySQL validate_password component. Read mysql_security_sensitive_tables Identify tables and columns that may contain sensitive data. Read mysql_security_ssl_status Get SSL/TLS connection and certificate status. Read mysql_security_user_privileges Get comprehensive privilege report for users. Read mysql_server_health Get comprehensive server health information. Read mysql_show_processlist Show all running processes and queries. Read mysql_show_status Show server status variables. Read mysql_show_variables Show server configuration variables. Read mysql_slave_status Get detailed replication slave/replica status. Read mysql_slow_queries Get slow queries from performance_schema (if available). Read mysql_soundex Find rows with phonetically similar values using SOUNDEX. Read mysql_spatial_contains Find rows where the geometry is contained within a specified polygon. Read mysql_spatial_distance Find rows within a certain distance from a point (Cartesian distance). Read mysql_spatial_distance_sphere Calculate distance on a sphere (for geographic coordinates). Returns distance in meters. Read mysql_spatial_geojson Convert geometry between WKT and GeoJSON formats. Read mysql_spatial_within Find rows where the geometry is within a specified geometry. Read mysql_stats_correlation Calculate Pearson correlation coefficient between two numeric columns. Read mysql_stats_descriptive Calculate descriptive statistics (mean, median, stddev, min, max, count) for a numeric column. Read mysql_stats_distinct Get distinct values from a column with count. Useful for understanding cardinality and unique value distributi Read mysql_stats_distribution Analyze the distribution of values in a column with histogram buckets. Read mysql_stats_frequency Get value frequency distribution (count per unique value) ordered by frequency descending. Shows the most comm Read mysql_stats_hypothesis Perform one-sample t-test or z-test against a hypothesized mean. For z-test, provide populationStdDev (sigma) Read mysql_stats_lag_lead Access data from previous (LAG) or next (LEAD) rows in an ordered set. Useful for comparisons, deltas, and cha Read mysql_stats_moving_avg Calculate moving average (AVG OVER sliding window) for a numeric column. Specify windowSize for the number of Read mysql_stats_ntile Divide ordered rows into N equal buckets (e.g., quartiles with buckets=4). Returns bucket assignment per row. Read mysql_stats_outliers Detect statistical outliers in a numeric column using IQR (interquartile range) or Z-score method. IQR is robu Read mysql_stats_percentiles Calculate percentile values for a numeric column. Read mysql_stats_rank Assign rank within an ordered result set. Supports rank (gaps), dense_rank (no gaps), and percent_rank (0-1). Read mysql_stats_regression Perform simple linear regression analysis (y = mx + b) between two columns. Read mysql_stats_running_total Calculate cumulative running total (SUM OVER) for a numeric column. Use partitionBy to reset total per group. Read mysql_stats_sampling Get a random sample of rows from a table. Read mysql_stats_summary Get summary statistics (count, avg, min, max, stddev) for multiple numeric columns. Defaults to all numeric co Read mysql_stats_time_series Aggregate and analyze time series data with specified intervals. Read mysql_stats_top_n Get the top N rows ranked by a column. Auto-excludes long-content columns (text, json, blob) from output unles Read mysql_substring Extract substrings from column values. Read mysql_sys_host_summary Get connection and activity summary by host from sys schema. Read mysql_sys_innodb_lock_waits Get current InnoDB lock contention information from sys schema. Read mysql_sys_io_summary Get I/O usage summary by file, table, or global from sys schema. Read mysql_sys_memory_summary Get memory usage summary by allocation type from sys schema. Read mysql_sys_schema_stats Get aggregated statistics for a schema including tables, indexes, and auto-increment status. Read mysql_sys_statement_summary Get statement execution statistics including latency and row counts from sys schema. Read mysql_sys_user_summary Get user activity summary including statements, connections, and latency from sys schema. Read mysql_sys_wait_summary Get wait event summary for performance analysis from sys schema. Read mysql_table_stats Get detailed table statistics including size, rows, and engine info. Read mysql_thread_stats Get thread activity statistics. Read mysql_topological_sort Get tables in safe DDL execution order. Read mysql_transaction_release Release a savepoint, removing it without rolling back. Read mysql_transaction_rollback Rollback a transaction, undoing all changes. Read mysql_transaction_rollback_to Rollback to a savepoint, undoing changes after that point. Read mysql_user_roles List roles assigned to a user. Read mysqlsh_check_upgrade Check MySQL server upgrade compatibility using util.checkForServerUpgrade(). Identifies potential issues befor Read mysqlsh_dump_instance Dump entire MySQL instance using util.dumpInstance(). Creates a compressed, parallel dump of all schemas (excl Read mysqlsh_dump_schemas Dump selected schemas using util.dumpSchemas(). Creates a compressed, parallel dump of specified schemas. Use Read mysqlsh_dump_tables Dump specific tables using util.dumpTables(). Creates a compressed, parallel dump of specified tables from a s Read mysqlsh_export_table Export a MySQL table to a file using util.exportTable(). Supports CSV and TSV formats with WHERE clause filter Read mysqlsh_version Get MySQL Shell version and installation status. Useful for verifying MySQL Shell is available before running Read proxysql_connection_pool Get connection pool statistics per backend server. Shows connections used/free, errors, queries, bytes transfe Read proxysql_global_variables Get ProxySQL global variables. Filter by prefix: mysql (MySQL proxy settings), admin (admin interface settings Read proxysql_memory_stats Get ProxySQL memory usage metrics from stats_memory_metrics. Shows memory for SQLite, auth, query digests, and Read proxysql_process_list Get active client sessions similar to MySQL SHOW PROCESSLIST. Shows session ID, user, database, client/server Read proxysql_query_digest Get query digest statistics showing top queries by execution count. Useful for identifying queries for routing Read proxysql_query_rules List query routing rules from mysql_query_rules table. Shows rule IDs, match patterns, destination hostgroups, Read proxysql_runtime_status Get ProxySQL runtime configuration status including version info and admin variables. Use summary: true for co Read proxysql_servers List configured backend MySQL servers from mysql_servers table. Shows hostgroup, hostname, port, status, and w Read proxysql_status Get ProxySQL version, uptime, and runtime statistics. Returns global status variables from stats_mysql_global. Read proxysql_users List configured MySQL users from mysql_users table. Shows username, active status, default hostgroup, and conn

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Mysql Mcp

Can an AI agent delete data through the Mysql MCP server? +

Yes. The Mysql Mcp server exposes 14 destructive tools including mysql_audit_restore_backup, mysql_cascade_simulator, mysql_doc_drop_collection. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Mysql Mcp? +

The Mysql Mcp server has 38 write tools including mysql_add_partition, mysql_append_insight, mysql_collation_convert. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Mysql Mcp.

How many tools does the Mysql MCP server expose? +

223 tools across 4 categories: Destructive, Execute, Read, Write. 157 are read-only. 66 can modify, create, or delete data.

How do I enforce a policy on Mysql Mcp? +

Register the Mysql MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Mysql Mcp tool call.

Deterministic rules across all 223 Mysql Mcp tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

223 Mysql Mcp tools catalogued and risk-classified — across an index of 46,500+ MCP servers.

// WHERE THIS COMES FROM

These policies come from Mysql's registry record.

The record behind this page: verified identity, auth posture, risk grade, every tool classified, recommended policy — re-checked continuously.

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.