Skip to main content
Glama
MIT License
35
18
  • Linux
  • Apple

Servidor de base de datos MCP

Una implementación del Protocolo de Contexto de Modelo (MCP) para conectarse y trabajar con varios sistemas de bases de datos.

Bases de datos compatibles

  • SQLite
  • PostgreSQL
  • Microsoft SQL Server
  • MongoDB

Instalación

npm install -g mcp-dbs

Uso

El servidor de base de datos MCP se puede utilizar en dos modos:

Modo SSE (predeterminado)

De forma predeterminada, el servidor se ejecuta en modo SSE (eventos enviados por el servidor) en el puerto 3001:

npx mcp-dbs

Esto iniciará un servidor HTTP con un punto final SSE en http://localhost:3001/mcp .

Puerto personalizado

Puede especificar un puerto personalizado utilizando la opción --port :

npx mcp-dbs --port 8080

Modo STDIO

Para las herramientas que se comunican a través de entrada/salida estándar, puede utilizar la opción --stdio :

npx mcp-dbs --stdio

Integración de escritorio de Claude

Puede integrar mcp-dbs con Claude Desktop agregándolo a su archivo de configuración de Claude.

Pasos de configuración

  1. Abra o cree su archivo de configuración de Claude Desktop
  2. Agregue la configuración mcp-dbs a la sección mcpServers :
{ "mcpServers": { "mcp-dbs": { "command": "node", "args": [ "/path/to/your/mcp-dbs/dist/cli.js", "--stdio" ], "env": { "MCP_MONGODB_URI": "mongodb://localhost:27017", "MCP_MONGODB_DATABASE": "your-database-name" } } } }

Reemplace las variables de entorno con sus propios detalles de conexión de base de datos.

Notas

  • El command debe ser node
  • En args , proporcione la ruta absoluta al archivo cli.js en su instalación de mcp-dbs
  • Configure las variables de entorno adecuadas para su tipo de base de datos (consulte la sección de variables de entorno a continuación)
  • Puede utilizar variables de entorno para cualquiera de las bases de datos compatibles (SQLite, PostgreSQL, SQL Server o MongoDB)

Usando con Claude

Una vez configurado, Claude podrá acceder a su base de datos mediante las herramientas de MCP que se describen a continuación. Puede pedirle a Claude que:

  • Conéctese a su base de datos
  • Ejecutar consultas y obtener resultados
  • Explora el esquema de tu base de datos
  • Trabajar con tablas y datos

Herramientas

  • connect-database : Conectarse a una base de datos
  • desconectar-base-de-datos : Desconectarse de una base de datos
  • execute-query : ejecuta una consulta y devuelve resultados
  • execute-update : ejecuta una consulta sin devolver resultados

Recursos

  • esquema-de-base-de-datos : Obtener el esquema completo de la base de datos
  • table-schema : Obtener el esquema para una tabla específica
  • tables-list : Obtener una lista de todas las tablas

Uso de variables de entorno para la configuración

Puede configurar sus conexiones de base de datos utilizando variables de entorno:

SQLite
# Set these environment variables before connecting export MCP_SQLITE_FILENAME="path/to/database.db" export MCP_SQLITE_CREATE_IF_NOT_EXISTS="true"
PostgreSQL
# Set these environment variables before connecting export MCP_POSTGRES_HOST="your-postgres-host" export MCP_POSTGRES_PORT="5432" export MCP_POSTGRES_DATABASE="your-database-name" export MCP_POSTGRES_USER="your-username" export MCP_POSTGRES_PASSWORD="your-password" export MCP_POSTGRES_SSL="false"
Servidor SQL
# Set these environment variables before connecting export MCP_MSSQL_SERVER="your-server-address" export MCP_MSSQL_PORT="1433" export MCP_MSSQL_DATABASE="your-database-name" export MCP_MSSQL_USER="your-username" export MCP_MSSQL_PASSWORD="your-password" export MCP_MSSQL_ENCRYPT="true" export MCP_MSSQL_TRUST_SERVER_CERTIFICATE="true"
MongoDB
# Set these environment variables before connecting export MCP_MONGODB_URI="mongodb://localhost:27017" export MCP_MONGODB_DATABASE="your-database-name" export MCP_MONGODB_MAX_POOL_SIZE="10" export MCP_MONGODB_USE_UNIFIED_TOPOLOGY="true"

Estas variables de entorno tendrán prioridad sobre cualquier configuración pasada a la herramienta de conexión a la base de datos.

Herramientas MCP

El servidor expone las siguientes herramientas MCP:

conectar-base de datos

Conectarse a una base de datos.

Parámetros:

  • connectionId : Un identificador único para la conexión
  • type : tipo de base de datos ( sqlite , postgres , mssql o mongodb )

Ejemplo para SQLite:

{ "connectionId": "my-sqlite-db", "type": "sqlite" }

Ejemplo para PostgreSQL:

{ "connectionId": "my-postgres-db", "type": "postgres" }

Ejemplo para SQL Server:

{ "connectionId": "my-mssql-db", "type": "mssql" }

Ejemplo para MongoDB:

{ "connectionId": "my-mongodb-db", "type": "mongodb" }

desconectar la base de datos

Desconectarse de una base de datos.

Parámetros:

  • connectionId : El ID de conexión para desconectar

ejecutar consulta

Ejecutar una consulta que devuelva resultados.

Parámetros:

  • connectionId : El ID de conexión
  • query : consulta SQL o canalización de agregación de MongoDB (como cadena JSON)
  • params : (Opcional) Matriz de parámetros para la consulta. En MongoDB, el primer parámetro es el nombre de la colección.

Ejemplo para SQL:

{ "connectionId": "my-postgres-db", "query": "SELECT * FROM users WHERE age > $1", "params": [21] }

Ejemplo para MongoDB:

{ "connectionId": "my-mongodb-db", "query": "[{\"$match\": {\"age\": {\"$gt\": 21}}}, {\"$sort\": {\"name\": 1}}]", "params": ["users"] }

Ejemplo para MongoDB (nuevo formato con colección incorporada):

{ "connectionId": "my-mongodb-db", "query": "{\"collection\": \"users\", \"pipeline\": [{\"$match\": {\"age\": {\"$gt\": 21}}}, {\"$sort\": {\"name\": 1}}]}" }

Ejemplo para MongoDB (sintaxis de shell):

{ "connectionId": "my-mongodb-db", "query": "db.getCollection('users').find({\"age\": {\"$gt\": 21}})" }

Ejemplo para MongoDB (sintaxis de shell de referencia de colección directa):

{ "connectionId": "my-mongodb-db", "query": "db.users.find({\"age\": {\"$gt\": 21}})" }

Ejemplo para MongoDB (comando sin formato):

{ "connectionId": "my-mongodb-db", "query": "{\"find\": \"users\", \"filter\": {\"age\": {\"$gt\": 21}}}" }

ejecutar-actualizar

Ejecutar una consulta que no devuelve resultados (INSERTAR, ACTUALIZAR, ELIMINAR).

Parámetros:

  • connectionId : El ID de conexión
  • query : consulta SQL o comando MongoDB (como cadena JSON)
  • params : (Opcional) Matriz de parámetros para la consulta. En MongoDB, el primer parámetro es el nombre de la colección.

Ejemplo para SQL:

{ "connectionId": "my-postgres-db", "query": "INSERT INTO users (name, age) VALUES ($1, $2)", "params": ["John Doe", 30] }

Ejemplo para MongoDB:

{ "connectionId": "my-mongodb-db", "query": "{\"insertOne\": {\"name\": \"John Doe\", \"age\": 30}}", "params": ["users"] }

Ejemplo para MongoDB (nuevo formato con colección incorporada):

{ "connectionId": "my-mongodb-db", "query": "{\"collection\": \"users\", \"operation\": {\"insertOne\": {\"name\": \"John Doe\", \"age\": 30}}}" }

Ejemplo para MongoDB (sintaxis de shell):

{ "connectionId": "my-mongodb-db", "query": "db.getCollection('users').insertOne({\"name\": \"John Doe\", \"age\": 30})" }

Ejemplo para MongoDB (sintaxis de shell de referencia de colección directa):

{ "connectionId": "my-mongodb-db", "query": "db.users.insertOne({\"name\": \"John Doe\", \"age\": 30})" }

Ejemplo para MongoDB (comando sin formato):

{ "connectionId": "my-mongodb-db", "query": "{\"insert\": \"users\", \"documents\": [{\"name\": \"John Doe\", \"age\": 30}]}" }

Recursos de MCP

El servidor expone los siguientes recursos MCP:

Esquema de base de datos

URI: database://{connectionId}/schema

Devuelve información del esquema sobre la base de datos, incluidas todas las tablas y sus columnas.

Esquema de tabla

URI: database://{connectionId}/tables/{tableName}

Devuelve información del esquema sobre una tabla específica, incluidas sus columnas.

Lista de tablas

URI: database://{connectionId}/tables

Devuelve una lista de todas las tablas de la base de datos.

Desarrollo

Pruebas

Ejecutar las pruebas:

npm test

Apoya el proyecto

Si este proyecto te resulta útil, ¡considera comprarme un café!

Escanee el código QR de arriba o haga clic aquí para apoyar el desarrollo de este proyecto.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A powerful Model Context Protocol (MCP) tool for exploring and managing different types of databases including PostgreSQL, MySQL, and Firestore.
    Last updated 4 months ago
    9
    3
    TypeScript
    MIT License
  • -
    security
    -
    license
    -
    quality
    A Model Context Protocol server that provides tools for connecting to and interacting with various database systems (SQLite, PostgreSQL, MySQL/MariaDB, SQL Server) through a unified interface.
    Last updated 4 months ago
    Python
  • A
    security
    F
    license
    A
    quality
    An all-in-one Model Context Protocol (MCP) server that connects your coding AI to numerous databases, data warehouses, data pipelines, and cloud services, streamlining development workflow through seamless integrations.
    Last updated a month ago
    2
    Python
    • Apple
    • Linux
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server implementation that provides a simple interface to interact with PostgreSQL databases, enabling SQL queries, database operations, and schema management through MCP.
    Last updated 2 months ago
    Python

View all related MCP servers

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/cuongtl1992/mcp-dbs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server