0.4.4pypi · mysql-mcp-server · current release
Observed 2026-08-21T16:07:15.856Z using mcpSecurity-inventory. Status: partial. Negotiated protocol: 2025-06-18.
{
"experimental": {},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
},
"tools": {
"listChanged": false
}
}| Tool | Category | Annotations | Risk |
|---|---|---|---|
execute_sqlExecute a SQL statement against the MySQL server. Use for SELECT, DML (INSERT/UPDATE/DELETE), SHOW, DESCRIBE, and ad-hoc queries. Supports cross-database queries using database.table notation. Single statements only — use fully qualified names instead of USE statements.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The SQL statement to execute. Single statements only."
}
},
"required": [
"query"
]
}Annotations{
"title": "Execute SQL",
"readOnlyHint": false,
"destructiveHint": true
} | — | Writes · Destructive | — |
get_schema_infoGet column metadata for a table or all tables in the configured database: column names, data types, nullability, default values, and comments. Call this before querying an unfamiliar table. Omit table_name to see all tables at once. Accepts bare table names (uses MYSQL_DATABASE) or database.table for cross-database lookups.Input schema{
"type": "object",
"properties": {
"table_name": {
"type": "string",
"description": "Optional: bare table name, or database.table for a cross-database lookup."
}
}
}Annotations{
"title": "Get Schema Info",
"readOnlyHint": true,
"destructiveHint": false
} | — | Read only · Non-destructive | — |
get_table_sampleFetch a small sample of rows from a table to understand its data format and content. Use alongside get_schema_info before writing complex queries. Accepts bare table names (uses MYSQL_DATABASE) or database.table for cross-database lookups.Input schema{
"type": "object",
"properties": {
"table_name": {
"type": "string",
"description": "Table to sample. Use database.table notation for cross-database queries."
},
"limit": {
"type": "integer",
"description": "Number of rows to return (default 5, max 20)."
}
},
"required": [
"table_name"
]
}Annotations{
"title": "Get Table Sample",
"readOnlyHint": true,
"destructiveHint": false
} | — | Read only · Non-destructive | — |
Deep-dive into a specific table: retrieve its schema, sample its data, and suggest useful queries.
{
"prompt_key": "analyze_table",
"name": "analyze_table",
"description": "Deep-dive into a specific table: retrieve its schema, sample its data, and suggest useful queries.",
"arguments": [
{
"name": "table_name",
"description": "Table to analyze. Use database.table notation for cross-database queries.",
"required": true
}
],
"metadata_hash": "39d6c6571df97cba228a1ed6f4c7235d1e59d8700e770c3d9c6b7c29a405e779"
}Systematically explore the database: discover available tables, inspect their schemas, sample the data, and summarize what's there.
{
"prompt_key": "explore_database",
"name": "explore_database",
"description": "Systematically explore the database: discover available tables, inspect their schemas, sample the data, and summarize what's there.",
"arguments": [],
"metadata_hash": "69252ec2b477f4b56f7bc960b86b89b5a809037891d00c76b0aa0f3dbb8e8c69"
}