1.7.20npm · @egarcia74/warp-sql-server-mcp · current release
Observed 2026-08-28T13:52:33.151Z using mcpSecurity-inventory. Status: partial. Negotiated protocol: 2025-06-18.
{
"tools": {},
"resources": {},
"logging": {}
}| Tool | Category | Annotations | Risk |
|---|---|---|---|
analyze_query_performanceAnalyze query performance and provide optimization suggestionsInput schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "SQL query to analyze for performance optimization"
},
"database": {
"type": "string",
"description": "Database name (optional)"
}
},
"required": [
"query"
]
} | — | — · — | — |
describe_tableGet the schema information for a specific tableInput schema{
"type": "object",
"properties": {
"table_name": {
"type": "string",
"description": "Name of the table to describe"
},
"database": {
"type": "string",
"description": "Database name (optional)"
},
"schema": {
"type": "string",
"description": "Schema name (optional, defaults to dbo)"
}
},
"required": [
"table_name"
]
} | — | — · — | — |
detect_query_bottlenecksDetect and analyze query bottlenecks in the databaseInput schema{
"type": "object",
"properties": {
"database": {
"type": "string",
"description": "Database name (optional)"
},
"limit": {
"type": "number",
"description": "Maximum number of bottlenecks to return (optional, defaults to 10)"
},
"severity_filter": {
"type": "string",
"description": "Filter by severity level: LOW, MEDIUM, HIGH, CRITICAL (optional)",
"enum": [
"LOW",
"MEDIUM",
"HIGH",
"CRITICAL"
]
}
}
} | — | — · — | — |
execute_queryExecute a SQL query on the connected SQL Server databaseInput schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The SQL query to execute"
},
"database": {
"type": "string",
"description": "Optional: Database name to use for this query"
}
},
"required": [
"query"
]
} | — | — · — | — |
explain_queryGet the execution plan for a SQL query to analyze performanceInput schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The SQL query to analyze"
},
"database": {
"type": "string",
"description": "Optional: Database name to use for this query"
},
"include_actual_plan": {
"type": "boolean",
"description": "Include actual execution statistics (optional, defaults to false)"
}
},
"required": [
"query"
]
} | — | — · — | — |
export_table_csvExport table data in CSV formatInput schema{
"type": "object",
"properties": {
"table_name": {
"type": "string",
"description": "Name of the table to export"
},
"database": {
"type": "string",
"description": "Database name (optional)"
},
"schema": {
"type": "string",
"description": "Schema name (optional, defaults to dbo)"
},
"limit": {
"type": "number",
"description": "Maximum number of rows to export (optional)"
},
"where": {
"type": "string",
"description": "WHERE clause conditions (optional)"
}
},
"required": [
"table_name"
]
} | — | — · — | — |
get_connection_healthGet connection pool health metrics and diagnosticsInput schema{
"type": "object",
"properties": {}
} | — | — · — | — |
get_index_recommendationsGet index recommendations for database optimizationInput schema{
"type": "object",
"properties": {
"database": {
"type": "string",
"description": "Database name (optional)"
},
"schema": {
"type": "string",
"description": "Schema name to restrict recommendations to (optional; omit to cover all schemas)"
},
"limit": {
"type": "number",
"description": "Maximum number of recommendations to return (optional, defaults to 10)"
},
"impact_threshold": {
"type": "number",
"description": "Minimum impact score threshold (0-100, optional)"
}
}
} | — | — · — | — |
get_optimization_insightsGet comprehensive database optimization insights and health analysisInput schema{
"type": "object",
"properties": {
"database": {
"type": "string",
"description": "Database name (optional)"
},
"analysis_period": {
"type": "string",
"description": "Analysis time period: 24_HOURS, 7_DAYS, 30_DAYS (optional). RESERVED: accepted but not yet applied. The two DMV sources have different lifetimes and cannot be windowed consistently: missing-index aggregates are cumulative (reset only by a server restart or index/database changes) while query-stats rows last only while their plan stays in cache, so results reflect the lifetime of each source regardless of the value sent; the response discloses this in its analysisPeriod field.",
"enum": [
"24_HOURS",
"7_DAYS",
"30_DAYS"
]
}
}
} | — | — · — | — |
get_performance_statsGet overall performance statistics and health summaryInput schema{
"type": "object",
"properties": {
"timeframe": {
"type": "string",
"description": "Time period for stats: \"recent\" (last 5 min), \"session\" (since startup), \"all\" (default)",
"enum": [
"recent",
"session",
"all"
]
}
}
} | — | — · — | — |
get_query_performanceGet detailed query performance breakdown by toolInput schema{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Maximum number of queries to analyze (optional, defaults to 50)"
},
"tool_filter": {
"type": "string",
"description": "Filter by specific MCP tool name (optional)"
},
"slow_only": {
"type": "boolean",
"description": "Only return slow queries (optional, defaults to false)"
}
}
} | — | — · — | — |
get_server_infoGet MCP server configuration, status, and logging informationInput schema{
"type": "object",
"properties": {
"include_logs": {
"type": "boolean",
"description": "Include recent log entries (optional, defaults to false)"
}
}
} | — | — · — | — |
get_table_dataGet sample data from a table with optional filtering and limitingInput schema{
"type": "object",
"properties": {
"table_name": {
"type": "string",
"description": "Name of the table"
},
"database": {
"type": "string",
"description": "Database name (optional)"
},
"schema": {
"type": "string",
"description": "Schema name (optional, defaults to dbo)"
},
"limit": {
"type": "integer",
"minimum": 1,
"description": "Maximum number of rows to return (optional, defaults to 100)"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Number of rows to skip before returning results (optional, defaults to 0). Pair with limit to page through a table. Row order is not guaranteed without an ORDER BY, so pages may overlap or skip rows on tables without a clustered index."
},
"where": {
"type": "string",
"description": "WHERE clause conditions (optional)"
}
},
"required": [
"table_name"
]
} | — | — · — | — |
list_databasesList all databases on the SQL Server instanceInput schema{
"type": "object",
"properties": {}
} | — | — · — | — |
list_foreign_keysList all foreign key relationships in a schemaInput schema{
"type": "object",
"properties": {
"database": {
"type": "string",
"description": "Database name (optional)"
},
"schema": {
"type": "string",
"description": "Schema name (optional, defaults to dbo)"
}
}
} | — | — · — | — |
list_tablesList all tables in a specific databaseInput schema{
"type": "object",
"properties": {
"database": {
"type": "string",
"description": "Database name (optional, uses current database if not specified)"
},
"schema": {
"type": "string",
"description": "Schema name (optional, defaults to dbo)"
}
}
} | — | — · — | — |