sqlpad-mcp
Servidor MCP de SQLPad
Un servidor MCP para SQLPad. Apunta un agente de IA a una instancia de SQLPad con su URL base y un token de servicio, y el agente puede descubrir conexiones, inspeccionar esquemas, ejecutar SQL y gestionar consultas guardadas.
Requisitos
Node.js 20 o posterior.
Una instancia de SQLPad accesible.
El servidor de SQLPad debe tener
SQLPAD_SERVICE_TOKEN_SECRETconfigurado. Sin él, cada solicitud autenticada con Bearer devuelve401 Unauthorized.Un token de servicio generado en la interfaz de administración de SQLPad.
Related MCP server: SQLite Database MCP Server
Inicio rápido
No se necesita paso de instalación: ejecútalo directamente desde npm:
SQLPAD_SERVICE_TOKEN=... npx sqlpad-mcp --base-url https://sqlpad.example.comO instálalo globalmente:
npm install -g sqlpad-mcpEl servidor habla MCP sobre stdio, por lo que normalmente lo lanza un cliente MCP en lugar de ejecutarse manualmente. Ejecutarlo directamente sigue siendo útil para verificar las credenciales: en caso de éxito, registra la versión detectada de SQLPad en stderr.
Configuración
Variable de entorno | Indicador CLI | Predeterminado | Significado |
|
| (obligatorio) | URL base de la instancia de SQLPad; se admite un montaje en subruta. |
|
| (obligatorio) | Token de servicio, enviado como |
|
|
| Registra las herramientas de escritura de consultas guardadas. |
|
|
| Registra las herramientas solo de administración. |
|
|
| Límite de filas devueltas por sentencia. |
|
|
| Tiempo de espera para sondear un lote antes de devolver un |
Un indicador CLI tiene prioridad sobre la variable de entorno correspondiente. El intervalo de sondeo de lotes (250 ms) es interno y no configurable.
Configuración de Claude Code
Añade el servidor a tu mcp.json de Claude Code:
{
"mcpServers": {
"sqlpad": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"sqlpad-mcp",
"--base-url",
"https://sqlpad.example.com"
],
"env": {
"SQLPAD_SERVICE_TOKEN": "..."
}
}
}
}Proporcionar el token a través de env lo mantiene fuera de la lista de argumentos del proceso, que es legible por cualquier usuario mediante ps.
Para habilitar los grupos de herramientas restringidas, añade "SQLPAD_ALLOW_WRITES": "true" o "SQLPAD_ALLOW_ADMIN": "true" al mismo bloque env.
Herramientas
Doce herramientas están siempre registradas. Seis más están restringidas detrás de los dos indicadores SQLPAD_ALLOW_* y están desactivadas por defecto.
Ejecución
Herramienta | Descripción |
| Ejecuta SQL arbitrario, incluidos DDL y DML, creando un lote asíncrono de SQLPad, sondeándolo hasta completarlo y devolviendo las filas en línea. No está aislado. Las filas están limitadas por |
| Obtiene un lote y los estados actuales de sus sentencias. Llama a esto después de que |
| Pagina un resultado de sentencia grande y finalizado en lugar de volver a ejecutar la consulta. Devuelve una página limitada convertida a objetos usando los nombres de columna de la sentencia. |
| Solicita la cancelación de un lote asíncrono. SQLPad rechaza la cancelación cuando la conexión no admite ejecución asíncrona. |
Descubrimiento
Herramienta | Descripción |
| Lista las conexiones disponibles para el token de servicio. Funciona con un token no administrador, a diferencia de |
| Obtiene un esquema de base de datos limitado para una conexión. La salida completa del esquema sin filtrar puede ser enorme: prefiere |
| Lista los controladores de base de datos de SQLPad, limitados por el límite solicitado. |
Consultas guardadas
Herramienta | Descripción |
| Lista consultas guardadas usando filtros opcionales de conexión, texto, etiqueta, propiedad, creador y orden. |
| Obtiene una consulta guardada por ID. |
| Lista etiquetas distintas de consultas guardadas, con paginación local limitada. |
| Lista el historial de consultas del usuario que llama, de más reciente a más antiguo, con paginación local limitada. |
| Formatea texto SQL usando SQLPad. Los servidores SQLPad más antiguos pueden no proporcionar este endpoint. |
Escritura de consultas guardadas: requiere SQLPAD_ALLOW_WRITES=true
Herramienta | Descripción |
| Crea una consulta guardada. |
| Reemplaza los campos editables de una consulta guardada existente. |
| Elimina permanentemente una consulta guardada. |
Administración: requiere SQLPAD_ALLOW_ADMIN=true
Estas llaman a endpoints de SQLPad que a su vez requieren un token de servicio de administrador.
Herramienta | Descripción |
| Obtiene una conexión por ID. |
| Prueba una configuración de conexión sin guardarla. |
| Lista usuarios de SQLPad, con límites de salida explícitos. |
Cómo funciona la ejecución de SQL
SQLPad ejecuta SQL mediante lotes asíncronos. Crear un lote devuelve inmediatamente; cada sentencia pasa de queued a started, y luego a finished o error. Los resultados se obtienen por separado para cada sentencia y no están disponibles hasta que esa sentencia termina.
La herramienta run_sql absorbe todo el protocolo (crear, sondear, obtener y devolver filas), de modo que un agente hace una sola llamada. Si el sondeo alcanza el tiempo de espera configurado, la herramienta devuelve un batchId que el agente puede reanudar en lugar de quedarse colgado.
Las conexiones pueden no tener una base de datos predeterminada. Califica los nombres de tabla como schema.table y usa get_connection_schema para descubrir los esquemas disponibles.
Seguridad
run_sqlejecuta SQL arbitrario, incluidos DDL y DML, y no está aislado.SQLPAD_ALLOW_WRITESsolo restringe la mutación de los objetos de consultas guardadas de SQLPad; no restringe el contenido SQL. Usa credenciales de base de datos de solo lectura en la propia conexión de SQLPad. Esa es la única aplicación real.Los endpoints
/api/service-tokensde SQLPad no se exponen deliberadamente. Una herramienta que acuña credenciales es una primitiva de escalada de privilegios.Las herramientas de administración están desactivadas por defecto.
El token de servicio se redacta de todos los errores y registros. Todo el registro va a stderr porque stdout es el canal JSON-RPC.
Los lotes están limitados al propio usuario del token, por lo que el servidor solo ve su propio historial de consultas.
Contribuciones
Clona el repositorio e instala las dependencias:
git clone https://github.com/VAIBHAV7500/sqlpad-mcp.git
cd sqlpad-mcp
npm install
npm run buildCrea una rama para tu cambio. Antes de abrir una solicitud de extracción, ejecuta:
npm run typecheck && npm run lint && npm testCI ejecuta los mismos tres comandos en Node 20 y 22.
Licencia
This server cannot be deployed
Maintenance
Related MCP Connectors
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
- OleanderOAuthdev.oleander
The all-in-one data stack for agents. Upload files, run SQL, evolve tables, and render charts.
Connect AI agents to ProductNow's context engine to search, create, review, and act.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to query databases via natural language using the Model Context Protocol, with automatic schema discovery, SQL query execution, and read-only safety checks.-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to connect to and query an SQLite database through the Model Context Protocol, allowing natural language interaction with database tables and data.-
- AlicenseAqualityDmaintenanceEnables AI agents to search and read Metabase dashboards and cards, explore database schema, and run read-only query previews through the Model Context Protocol.1715 npm2MIT
- FlicenseAqualityDmaintenanceEnables AI assistants to query, analyze, and manage SQL Server databases through natural language via the Model Context Protocol.61-