MCP Database Server
Proporciona acceso a bases de datos para SQLite, SQL Server, PostgreSQL y MySQL.
Documentación
MCP Database Server
Este servidor MCP (Model Context Protocol) proporciona capacidades de acceso a bases de datos a Claude, compatible con bases de datos SQLite, SQL Server, PostgreSQL y MySQL.
Instalación
- Clone el repositorio:
git clone https://github.com/executeautomation/mcp-database-server.git
cd mcp-database-server
- Instale las dependencias:
npm install
- Compile el proyecto:
npm run build
Opciones de uso
Hay dos formas de usar este servidor MCP con Claude:
- Uso directo: Instale el paquete globalmente y úselo directamente
- Desarrollo local: Ejecútelo desde su entorno de desarrollo local
Uso directo con el paquete NPM
La forma más fácil de usar este servidor MCP es instalándolo globalmente:
npm install -g @executeautomation/database-server
Esto le permite usar el servidor directamente sin compilarlo localmente.
Configuración de desarrollo local
Si desea modificar el código o ejecutarlo desde su entorno local:
- Clone y compile el repositorio como se muestra en la sección de Instalación
- Ejecute el servidor usando los comandos de la sección de Uso a continuación
Uso
Base de datos SQLite
Para usar con una base de datos SQLite:
node dist/src/index.js /path/to/your/database.db
Base de datos SQL Server
Para usar con una base de datos SQL Server:
node dist/src/index.js --sqlserver --server <server-name> --database <database-name> [--user <username> --password <password>]
Parámetros requeridos:
--server: Nombre de host o dirección IP de SQL Server--database: Nombre de la base de datos
Parámetros opcionales:
--user: Nombre de usuario para la autenticación de SQL Server (si no se proporciona, se usará la autenticación de Windows)--password: Contraseña para la autenticación de SQL Server--port: Número de puerto (predeterminado: 1433)
Base de datos PostgreSQL
Para usar con una base de datos PostgreSQL:
node dist/src/index.js --postgresql --host <host-name> --database <database-name> [--user <username> --password <password>]
Parámetros requeridos:
--host: Nombre de host o dirección IP de PostgreSQL--database: Nombre de la base de datos
Parámetros opcionales:
--user: Nombre de usuario para la autenticación de PostgreSQL--password: Contraseña para la autenticación de PostgreSQL--port: Número de puerto (predeterminado: 5432)--ssl: Habilitar conexión SSL (true/false)--connection-timeout: Tiempo de espera de conexión en milisegundos (predeterminado: 30000)
Base de datos MySQL
Autenticación estándar
Para usar con una base de datos MySQL:
node dist/src/index.js --mysql --host <host-name> --database <database-name> --port <port> [--user <username> --password <password>]
Parámetros requeridos:
--host: Nombre de host o dirección IP de MySQL--database: Nombre de la base de datos--port: Número de puerto (predeterminado: 3306)
Parámetros opcionales:
--user: Nombre de usuario para la autenticación de MySQL--password: Contraseña para la autenticación de MySQL--ssl: Habilitar conexión SSL (true/false u objeto)--connection-timeout: Tiempo de espera de conexión en milisegundos (predeterminado: 30000)
Autenticación AWS IAM
Para instancias de Amazon RDS MySQL con autenticación de base de datos IAM:
Requisitos previos:
- Las credenciales de AWS deben estar configuradas (el firmante de RDS utiliza la cadena de proveedores de credenciales predeterminada)
- Configúrelo usando uno de estos métodos:
aws configure(usa el perfil predeterminado)AWS_PROFILE=myprofilevariable de entornoAWS_ACCESS_KEY_IDyAWS_SECRET_ACCESS_KEYvariables de entorno- Roles de IAM (si se ejecuta en EC2)
node dist/src/index.js --mysql --aws-iam-auth --host <rds-endpoint> --database <database-name> --user <aws-username> --aws-region <region>
Parámetros requeridos:
--host: Nombre de host del endpoint de RDS--database: Nombre de la base de datos--aws-iam-auth: Habilitar autenticación AWS IAM--user: Nombre de usuario de AWS IAM (también el usuario de la base de datos)--aws-region: Región de AWS donde se encuentra la instancia de RDS
Nota: SSL se habilita automáticamente para la autenticación AWS IAM
Configuración de Claude Desktop
Configuración de uso directo
Si instaló el paquete globalmente, configure Claude Desktop con:
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"/path/to/your/database.db"
]
},
"sqlserver": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"--sqlserver",
"--server", "your-server-name",
"--database", "your-database-name",
"--user", "your-username",
"--password", "your-password"
]
},
"postgresql": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"--postgresql",
"--host", "your-host-name",
"--database", "your-database-name",
"--user", "your-username",
"--password", "your-password"
]
},
"mysql": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"--mysql",
"--host", "your-host-name",
"--database", "your-database-name",
"--port", "3306",
"--user", "your-username",
"--password", "your-password"
]
},
"mysql-aws": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"--mysql",
"--aws-iam-auth",
"--host", "your-rds-endpoint.region.rds.amazonaws.com",
"--database", "your-database-name",
"--user", "your-aws-username",
"--aws-region", "us-east-1"
]
}
}
}
Configuración de desarrollo local
Para desarrollo local, configure Claude Desktop para usar su versión compilada localmente:
{
"mcpServers": {
"sqlite": {
"command": "node",
"args": [
"/absolute/path/to/mcp-database-server/dist/src/index.js",
"/path/to/your/database.db"
]
},
"sqlserver": {
"command": "node",
"args": [
"/absolute/path/to/mcp-database-server/dist/src/index.js",
"--sqlserver",
"--server", "your-server-name",
"--database", "your-database-name",
"--user", "your-username",
"--password", "your-password"
]
},
"postgresql": {
"command": "node",
"args": [
"/absolute/path/to/mcp-database-server/dist/src/index.js",
"--postgresql",
"--host", "your-host-name",
"--database", "your-database-name",
"--user", "your-username",
"--password", "your-password"
]
},
"mysql": {
"command": "node",
"args": [
"/absolute/path/to/mcp-database-server/dist/src/index.js",
"--mysql",
"--host", "your-host-name",
"--database", "your-database-name",
"--port", "3306",
"--user", "your-username",
"--password", "your-password"
]
},
"mysql-aws": {
"command": "node",
"args": [
"/absolute/path/to/mcp-database-server/dist/src/index.js",
"--mysql",
"--aws-iam-auth",
"--host", "your-rds-endpoint.region.rds.amazonaws.com",
"--database", "your-database-name",
"--user", "your-aws-username",
"--aws-region", "us-east-1"
]
}
}
}
El archivo de configuración de Claude Desktop normalmente se encuentra en:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Herramientas de base de datos disponibles
El servidor MCP Database Server proporciona las siguientes herramientas que Claude puede usar:
| Tool | Description | Required Parameters |
|---|---|---|
read_query | Ejecutar consultas SELECT para leer datos | query: sentencia SQL SELECT |
write_query | Ejecutar consultas INSERT, UPDATE o DELETE | query: sentencia de modificación SQL |
create_table | Crear nuevas tablas en la base de datos | query: sentencia CREATE TABLE |
alter_table | Modificar el esquema de una tabla existente | query: sentencia ALTER TABLE |
drop_table | Eliminar una tabla de la base de datos | table_name: Nombre de la tabla confirm: Indicador de seguridad (debe ser true) |
list_tables | Obtener una lista de todas las tablas | Ninguno |
describe_table | Ver información de esquema de una tabla | table_name: Nombre de la tabla |
export_query | Exportar resultados de consultas como CSV/JSON | query: sentencia SQL SELECT format: "csv" o "json" |
append_insight | Agregar una idea de negocio al memo | insight: Texto de la idea |
list_insights | Listar todas las ideas de negocio | Ninguno |
Para ejemplos prácticos de cómo usar estas herramientas con Claude, consulte Ejemplos de uso.
Documentación adicional
- Guía de configuración de SQL Server: Detalles sobre la conexión a bases de datos SQL Server
- Guía de configuración de PostgreSQL: Detalles sobre la conexión a bases de datos PostgreSQL
- Ejemplos de uso: Consultas y comandos de ejemplo para usar con Claude
Desarrollo
Para ejecutar el servidor en modo de desarrollo:
npm run dev
Para observar cambios durante el desarrollo:
npm run watch
Requisitos
- Node.js 18+
- Para conectividad con SQL Server: SQL Server 2012 o posterior
- Para conectividad con PostgreSQL: PostgreSQL 9.5 o posterior
Licencia
MIT