sql-mcp
@yuuzu/sql-mcp
Un servidor del Protocolo de Contexto de Modelo (MCP) para operaciones con bases de datos MSSQL, PostgreSQL y SQLite.
Instalación
# Using bunx (recommended)
bunx @yuuzu/sql-mcp
# Using npx
npx @yuuzu/sql-mcpCaracterísticas
Soporte para múltiples bases de datos: MSSQL, PostgreSQL y SQLite (vía better-sqlite3)
8 herramientas para operaciones de base de datos
Tres modos de consulta: safe, write, full
Autenticación avanzada: Windows Auth (MSSQL), certificados SSL (PostgreSQL)
Herramientas
Herramienta | Descripción |
| Conectarse a un servidor de base de datos |
| Desconectarse de la conexión actual |
| Comprobar el estado de la conexión y el modo de consulta |
| Listar todas las bases de datos en el servidor |
| Cambiar a una base de datos diferente |
| Listar todas las tablas y vistas |
| Obtener detalles del esquema de la tabla |
| Ejecutar consultas SQL |
Modos de consulta
Controle los permisos de consulta mediante la variable de entorno SQL_MCP_MODE:
Modo | Operaciones permitidas | Descripción |
| SELECT, WITH, EXPLAIN | Solo lectura, el más seguro |
| + INSERT, UPDATE, DELETE | Permite la modificación de datos |
| + CREATE, DROP, ALTER, TRUNCATE | Acceso total, usar con precaución |
Nota: Las sentencias
PRAGMA(p. ej.PRAGMA table_info(users)) están permitidas en todos los modos, incluidosafe, ya que son consultas de metadatos de solo lectura utilizadas habitualmente con SQLite.
# Example: Enable write mode
SQL_MCP_MODE=write bunx @yuuzu/sql-mcpEjemplos de uso
Configuración de Claude Desktop
Añadir a su claude_desktop_config.json:
{
"mcpServers": {
"sql-mcp": {
"command": "bunx",
"args": ["@yuuzu/sql-mcp"],
"env": {
"SQL_MCP_MODE": "safe"
}
}
}
}Conectarse a MSSQL
{
"tool": "connect-database",
"arguments": {
"engine": "mssql",
"server": "localhost",
"port": 1433,
"user": "sa",
"password": "your_password",
"database": "master"
}
}Conectarse a PostgreSQL
{
"tool": "connect-database",
"arguments": {
"engine": "postgres",
"server": "localhost",
"port": 5432,
"user": "postgres",
"password": "your_password",
"database": "postgres"
}
}Conectarse con autenticación de Windows (MSSQL)
{
"tool": "connect-database",
"arguments": {
"engine": "mssql",
"server": "localhost",
"windowsAuth": true
}
}Conectarse con SSL (PostgreSQL)
{
"tool": "connect-database",
"arguments": {
"engine": "postgres",
"server": "your-server.com",
"user": "postgres",
"password": "your_password",
"ssl": {
"rejectUnauthorized": true,
"ca": "/path/to/ca-certificate.crt"
}
}
}Conectarse a SQLite (archivo)
{
"tool": "connect-database",
"arguments": {
"engine": "sqlite",
"filename": "/absolute/path/to/database.db"
}
}Conectarse a SQLite (en memoria)
Útil para pruebas, demostraciones o espacios de trabajo temporales.
{
"tool": "connect-database",
"arguments": {
"engine": "sqlite",
"filename": ":memory:"
}
}Conectarse a SQLite (solo lectura)
{
"tool": "connect-database",
"arguments": {
"engine": "sqlite",
"filename": "/absolute/path/to/database.db",
"readonly": true,
"fileMustExist": true
}
}Nota de tiempo de ejecución de SQLite: El soporte de SQLite utiliza
better-sqlite3, que requiere Node.js. Al ejecutar mediantebunx, MSSQL y PostgreSQL funcionan normalmente, pero las conexiones a SQLite devolverán un error claro indicándole que utilicenpxonodeen su lugar.
Desarrollo
# Install dependencies
bun install
# Run in development mode
bun run dev
# Run tests
bun test
# Run tests with coverage
bun test --coverage
# Build
bun run build
# Type check
bun run typecheckLanzamiento
Los lanzamientos están automatizados mediante GitHub Actions. Para crear un nuevo lanzamiento:
# Create and push a version tag
git tag v1.0.0
git push origin v1.0.0Esto hará lo siguiente:
Compilar el proyecto
Publicar en npm con procedencia
Crear un lanzamiento en GitHub con notas de lanzamiento generadas automáticamente
Requisitos: Establecer el secreto NPM_TOKEN en la configuración de su repositorio de GitHub.
Licencia
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NakiriYuuzu/sql-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server