GoSQLX MCP
An MCP server providing 7 SQL tools for parsing, formatting, transpiling, validating, linting, analyzing, and detecting injection vulnerabilities across 8 SQL dialects.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp.gosqlx.dev/mcpWhat you can do with it
- Parse SQL into an AST
- Format and transpile SQL between dialects
- Validate and lint SQL queries
- Detect SQL injection vulnerabilities
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- gosqlx-mcp 1.17.0
- MCP protocol
- 2025-06-18
- Tools
- 7 advertised
- Resources
- 1 advertised
- Resource templates
- 0 advertised
- Prompts
- Not advertised
{
"tools": {},
"resources": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
7 advertised
analyze_sql
Use this when the user wants a complete review of a SQL query. Runs validate, parse, metadata, security, lint, and format concurrently and returns one composite report; hosts that support MCP Apps render it as an interactive report.
{
"type": "object",
"required": [
"sql"
],
"properties": {
"sql": {
"type": "string",
"description": "The SQL string to analyze"
}
}
}{
"title": "Analyze SQL",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}extract_metadata
Use this when the user wants the tables, columns, and functions a SQL query references (e.g. for lineage or impact analysis). Returns {tables, columns, functions}.
{
"type": "object",
"required": [
"sql"
],
"properties": {
"sql": {
"type": "string",
"description": "The SQL string to analyze"
}
}
}{
"title": "Extract SQL metadata",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}format_sql
Use this when the user wants SQL pretty-printed or reformatted: one clause per line, optional upper-case keywords and trailing semicolon. Comments are preserved; unplaceable optimizer hints are refused. Returns {formatted_sql, options}.
{
"type": "object",
"required": [
"sql"
],
"properties": {
"sql": {
"type": "string",
"description": "The SQL string to format"
},
"indent_size": {
"type": "number",
"description": "Spaces per indent level for nested blocks such as CREATE TABLE columns; clauses always start at column 0. 0 puts each statement on one line (default: 2)"
},
"add_semicolon": {
"type": "boolean",
"description": "Append a trailing semicolon (default: false)"
},
"uppercase_keywords": {
"type": "boolean",
"description": "true upper-cases all SQL keywords (AND, IN, CASE, ...), but not data type names. false keeps the formatter's casing: clause keywords (SELECT, FROM, WHERE, ...) upper-case, other keywords (e.g. like) may keep their input case (default: false)"
}
}
}{
"title": "Format SQL",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}lint_sql
Use this when the user wants SQL style feedback. Applies the same 10 rules as `gosqlx lint`: L001 trailing whitespace, L002 mixed indentation, L003 consecutive blank lines, L004 indentation depth, L005 line length (>100), L006 column alignment, L007 keyword case (upper), L008 comma placement (trailing), L009 aliasing consistency, L010 redundant whitespace. Returns {violation_count, violations}.
{
"type": "object",
"required": [
"sql"
],
"properties": {
"sql": {
"type": "string",
"description": "The SQL string to lint"
}
}
}{
"title": "Lint SQL",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}parse_sql
Use this when the user wants to know how SQL parses: returns an AST summary with the statement count and the type of each statement, optionally for a specific dialect. GO batch separators are excluded from the count.
{
"type": "object",
"required": [
"sql"
],
"properties": {
"sql": {
"type": "string",
"description": "The SQL string to parse"
},
"dialect": {
"enum": [
"generic",
"postgresql",
"mysql",
"mariadb",
"sqlserver",
"oracle",
"sqlite",
"snowflake",
"bigquery",
"redshift",
"clickhouse"
],
"type": "string",
"description": "SQL dialect: generic, postgresql, mysql, mariadb, sqlserver, oracle, sqlite, snowflake, bigquery, redshift, clickhouse"
}
}
}{
"title": "Parse SQL",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}security_scan
Use this when the user wants SQL checked for injection patterns: tautologies, UNION attacks, stacked queries, comment bypasses, and more. Returns findings with severity counts.
{
"type": "object",
"required": [
"sql"
],
"properties": {
"sql": {
"type": "string",
"description": "The SQL string to scan"
}
}
}{
"title": "Scan SQL for injection",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}validate_sql
Use this when the user wants to know whether a SQL statement is syntactically valid, optionally for a specific dialect. Returns {valid: bool, error?: string, dialect?: string}.
{
"type": "object",
"required": [
"sql"
],
"properties": {
"sql": {
"type": "string",
"description": "The SQL string to validate"
},
"dialect": {
"enum": [
"generic",
"postgresql",
"mysql",
"mariadb",
"sqlserver",
"oracle",
"sqlite",
"snowflake",
"bigquery",
"redshift",
"clickhouse"
],
"type": "string",
"description": "SQL dialect: generic, postgresql, mysql, mariadb, sqlserver, oracle, sqlite, snowflake, bigquery, redshift, clickhouse"
}
}
}{
"title": "Validate SQL",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
gosqlx_analysis_report
Interactive GoSQLX analysis report: validity, statement types, referenced tables/columns/functions, security findings by severity, lint violations, and the formatted SQL with a copy button.
ui://gosqlx/analysis-v1.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 680 ms
- 95th percentile latency
- 680 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 680 ms · metadata changed · 7 tool(s), 1 resource(s), 0 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http gosqlx-mcp https://mcp.gosqlx.dev/mcpCodex
codex mcp add gosqlx-mcp --url https://mcp.gosqlx.dev/mcpCursor
{
"mcpServers": {
"gosqlx-mcp": {
"url": "https://mcp.gosqlx.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"gosqlx-mcp": {
"type": "streamableHttp",
"url": "https://mcp.gosqlx.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"gosqlx-mcp": {
"type": "http",
"url": "https://mcp.gosqlx.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http gosqlx-mcp https://mcp.gosqlx.dev/mcpClaude Desktop
{
"mcpServers": {
"gosqlx-mcp": {
"url": "https://mcp.gosqlx.dev/mcp"
}
}
}Windsurf
{
"mcpServers": {
"gosqlx-mcp": {
"serverUrl": "https://mcp.gosqlx.dev/mcp"
}
}
}Let your agent find its tools
Find servers like GoSQLX MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.