# io.github.cocaxcode/database-mcp (npm · @cocaxcode/database-mcp)

MCP server for database connectivity. Multi-DB (PostgreSQL, MySQL, SQLite), 19 tools.

- Trust score: 70/100 (medium)
- Change this week: +17
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-04

## Components

- npm · `@cocaxcode/database-mcp`: 70/100 (this document), [markdown](https://verifymcp.io/servers/cocaxcode-database-mcp/cocaxcode-database-mcp.md), [page](https://verifymcp.io/servers/cocaxcode-database-mcp/cocaxcode-database-mcp)

## Channel facts

- Registry: `npm`
- Package: `@cocaxcode/database-mcp`
- Version: `0.1.14`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-04.

- **Supply Chain Security**: 83/100
  - No malware found by supply-chain analysis.
  - CVE check failed: a known medium-severity CVE affects hono 4.12.33, reached via @modelcontextprotocol/sdk > hono. A fixed version is available.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (105 of 109), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 104 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 83/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1854 tokens (~68/item across 27 items; 26 tools + 1 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add cocaxcode-database-mcp -- npx -y @cocaxcode/database-mcp
```

### Codex

```bash
codex mcp add cocaxcode-database-mcp -- npx -y @cocaxcode/database-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cocaxcode-database-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@cocaxcode/database-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add cocaxcode-database-mcp --command npx --arg -y --arg @cocaxcode/database-mcp
```

### Hermes

```yaml
mcp_servers:
  cocaxcode-database-mcp:
    command: "npx"
    args: ["-y", "@cocaxcode/database-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "cocaxcode-database-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@cocaxcode/database-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-04 (score 70, −1)

- [security regression] CVE-2026-69207 affects this package: medium
- [security regression] Known CVEs: partial → fail

### 2026-08-03 (score 71, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-02 (score 67, +7)

- [security regression] Install scripts: pass → unverified
- [security regression] Provenance: fail → unverified
- [security improvement] Known CVEs: unverified → partial
- [functional regression] Maintenance: pass → unverified
- [functional regression] License: pass → unverified
- [functional improvement] Dependency health: unverified → partial
- [functional] Licence: MIT

### 2026-08-01 (score 60, −10)

- [security regression] Known CVEs: partial → unverified
- [functional regression] Dependency health: partial → unverified

### 2026-07-31 (score 70, +19)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 51, −30)

- [security regression] Malware scan: pass → unverified
- [security regression] Known CVEs: partial → unverified
- [functional regression] Dependency health: partial → unverified

### 2026-07-29 (score 81, +28)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → good
- [functional improvement] Maintenance: unverified → pass
- [functional] Licence: MIT

### 2026-07-27 (score 53)

First indexed and scored.

## MCP tools (26)

### `conn_create` (~166 tokens)

Crea una nueva conexion a base de datos (PostgreSQL, MySQL o SQLite).

Input parameters:

- `database` (string): Nombre de la base de datos
- `dsn` (string): Connection string completo (ej: postgresql://user:pass@host:5432/db)
- `filepath` (string): Ruta al archivo SQLite (omitir para :memory:)
- `host` (string): Host del servidor
- `mode` (string): Modo de acceso (default: read-only)
- `name` (string, required): Nombre de la conexion (ej: local-pg, staging-mysql)
- `password` (string): Password
- `port` (number): Puerto
- `type` (string, required): Tipo de base de datos
- `user` (string): Usuario

### `conn_list` (~19 tokens)

Lista todas las conexiones disponibles e indica cual esta activa.

### `conn_get` (~36 tokens)

Obtiene los detalles de una conexion. El password se muestra enmascarado.

Input parameters:

- `name` (string, required): Nombre de la conexion

### `conn_set` (~64 tokens)

Actualiza un campo de una conexion existente.

Input parameters:

- `key` (string, required): Campo a actualizar (host, port, database, user, password, dsn, filepath, mode)
- `name` (string, required): Nombre de la conexion
- `value` (string, required): Nuevo valor

### `conn_switch` (~58 tokens)

Cambia la conexion activa. Si se especifica project, solo aplica a ese directorio.

Input parameters:

- `name` (string, required): Nombre de la conexion a activar
- `project` (string): Ruta del proyecto (si se omite, cambia global)

### `conn_rename` (~37 tokens)

Renombra una conexion existente.

Input parameters:

- `name` (string, required): Nombre actual de la conexion
- `new_name` (string, required): Nuevo nombre

### `conn_delete` (~65 tokens)

Elimina una conexion. IMPORTANTE: pide confirmacion al usuario antes de llamar esta tool con confirm=true.

Input parameters:

- `confirm` (boolean): Debe ser true para confirmar. Pregunta al usuario antes de poner true.
- `name` (string, required): Nombre de la conexion a eliminar

### `conn_duplicate` (~44 tokens)

Duplica una conexion existente con un nuevo nombre.

Input parameters:

- `name` (string, required): Nombre de la conexion a duplicar
- `new_name` (string, required): Nombre para la copia

### `conn_test` (~42 tokens)

Prueba la conexion a una base de datos. Ejecuta SELECT 1 y mide la latencia.

Input parameters:

- `name` (string, required): Nombre de la conexion a probar

### `conn_project_list` (~20 tokens)

Lista todos los proyectos con conexiones especificas asignadas.

### `conn_project_clear` (~32 tokens)

Elimina la asociacion de conexion especifica de un proyecto.

Input parameters:

- `project` (string, required): Ruta del proyecto

### `conn_export` (~70 tokens)

Exporta conexiones a JSON. Por defecto enmascara passwords — usa include_secrets=true para incluirlos.

Input parameters:

- `include_secrets` (boolean): Incluir passwords y DSNs sin enmascarar
- `name` (string): Nombre de una conexion especifica (omitir para exportar todas)

### `conn_import` (~66 tokens)

Importa conexiones desde un JSON exportado. Omite conexiones que ya existen (usa overwrite=true para reemplazar).

Input parameters:

- `json` (string, required): JSON con las conexiones a importar (formato de conn_export)
- `overwrite` (boolean): Reemplazar conexiones existentes con el mismo nombre

### `search_schema` (~109 tokens)

Busca tablas/vistas en el schema de la base de datos. Soporta 3 niveles de detalle: names (solo nombres), summary (nombres + columnas), full (todo + FK + indices).

Input parameters:

- `detail_level` (string): Nivel de detalle
- `object_type` (string): Tipo de objeto a buscar
- `pattern` (string): Patron de busqueda (ej: "user%", "%order%")
- `schema` (string): Schema (solo PostgreSQL, default: public)

### `execute_query` (~66 tokens)

Ejecuta una consulta de lectura (SELECT, SHOW, etc.). Inyecta LIMIT automaticamente.

Input parameters:

- `limit` (number): Limite de filas (default: 100)
- `params` (array): Parametros para prepared statement
- `sql` (string, required): Consulta SQL de lectura

### `execute_mutation` (~58 tokens)

Ejecuta una mutacion (INSERT, UPDATE, DELETE, DDL). Pide confirmacion y crea snapshot para rollback.

Input parameters:

- `params` (array): Parametros para prepared statement
- `sql` (string, required): Sentencia SQL de escritura

### `explain_query` (~70 tokens)

Muestra el plan de ejecucion de una consulta (EXPLAIN). Sin ANALYZE por defecto.

Input parameters:

- `analyze` (boolean): Ejecutar ANALYZE (ojo: ejecuta la query realmente)
- `params` (array): Parametros
- `sql` (string, required): Consulta SQL a analizar

### `rollback_list` (~56 tokens)

Lista los rollback snapshots disponibles. Muestra las mutaciones recientes que se pueden revertir.

Input parameters:

- `connection` (string): Filtrar por nombre de conexion
- `limit` (number): Cantidad maxima de resultados (default: 20)

### `rollback_apply` (~62 tokens)

Revierte una mutacion usando un rollback snapshot. IMPORTANTE: confirma con el usuario antes de ejecutar con confirm=true.

Input parameters:

- `confirm` (boolean): Debe ser true para confirmar. Pregunta al usuario antes.
- `id` (string, required): ID del rollback snapshot

### `history_list` (~94 tokens)

Lista el historial de consultas ejecutadas. Filtrable por tipo, conexion y estado.

Input parameters:

- `connection` (string): Filtrar por nombre de conexion
- `limit` (number): Cantidad maxima de resultados (default: 20)
- `success` (boolean): Filtrar por exito (true) o fallo (false)
- `type` (string): Filtrar por tipo (read, write, ddl, explain)

### `history_clear` (~47 tokens)

Limpia el historial de consultas. Opcionalmente solo las anteriores a una fecha.

Input parameters:

- `before` (string): Fecha ISO 8601. Si se especifica, solo elimina entradas anteriores

### `config_get` (~24 tokens)

Muestra la configuracion actual del servidor (limites de rollback e historial).

### `config_set` (~69 tokens)

Modifica la configuracion del servidor. Los cambios se guardan permanentemente.

Input parameters:

- `max_history` (number): Maximo de entradas de historial por proyecto (default: 5000)
- `max_rollbacks` (number): Maximo de snapshots de rollback por proyecto (default: 1000)

### `db_dump` (~131 tokens)

Exporta la base de datos a un archivo SQL. Flujo conversacional: primero pregunta si exportar todas las tablas o personalizar, luego que contenido incluir (estructura, datos o todo).

Input parameters:

- `content` (string): schema = solo estructura, data = solo datos, full = todo. Si no se pasa, pregunta.
- `schema` (string): Schema de PostgreSQL (default: public)
- `scope` (string): all = todas las tablas, custom = elegir tablas. Si no se pasa, pregunta.
- `tables` (array): Tablas a exportar (solo cuando scope="custom").

### `db_restore` (~97 tokens)

Restaura un dump SQL en la base de datos activa. IMPORTANTE: esta operacion es destructiva (DROP TABLE + CREATE TABLE). Pide confirmacion al usuario antes de ejecutar con confirm=true.

Input parameters:

- `confirm` (boolean): Debe ser true para confirmar. Pregunta al usuario antes.
- `filename` (string): Nombre del archivo SQL a restaurar (de la carpeta dumps). Si no se pasa, lista los disponibles.

### `db_dump_list` (~18 tokens)

Lista los dumps disponibles en el proyecto actual.

## Diagnostics

Captured diagnostic sections: Provenance, Vulnerabilities, Dependencies. The full working is on the page: https://verifymcp.io/servers/cocaxcode-database-mcp/cocaxcode-database-mcp#diagnostics

## Score history

- 2026-08-04: 70
- 2026-08-03: 71
- 2026-08-02: 67
- 2026-08-01: 60
- 2026-07-31: 70
- 2026-07-30: 51
- 2026-07-29: 81
- 2026-07-28: 53
- 2026-07-27: 53

## Links

- npm package: https://www.npmjs.com/package/@cocaxcode/database-mcp
- Socket report: https://socket.dev/npm/package/@cocaxcode/database-mcp
- Repository: https://github.com/cocaxcode/database-mcp
- Changelog RSS feed: https://verifymcp.io/servers/cocaxcode-database-mcp/cocaxcode-database-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/cocaxcode-database-mcp/cocaxcode-database-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/cocaxcode-database-mcp/cocaxcode-database-mcp
