Tabla de Contenidos

MCP

Qué es un servidor MCP está en Conceptos básicos. Aquí, cuáles se instalan: dos y ninguno más.

Todo lo demás el agente ya lo hace con sus herramientas y con las órdenes de siempre: git, gh, ./mvnw, curl. Un MCP para eso ocupa contexto en cada sesión y no aporta nada.

Cada servidor conectado ocupa contexto en todas las sesiones, se use o no: la descripción de cada una de sus herramientas. Antes de añadir un tercero, comprueba que no se puede hacer con una orden de terminal.

Los dos se instalan en el proyecto, para que viajen en el repositorio y los tenga todo el equipo:


1. Context7

Context7 le da al agente la documentación actual de la librería que está usando. Sin él, escribe el código de la versión que recuerda, que no es la que tiene el proyecto: métodos que ya no existen, configuración que ha cambiado.

claude mcp add --scope project context7 -- npx -y @upstash/context7-mcp

{
  "mcp": {
    "context7": { "type": "local", "command": ["npx", "-y", "@upstash/context7-mcp"] }
  }
}

Sin la API key que pone la página de Context7: no hace falta y acabaría en el repositorio.

El agente no lo usa solo siempre que debería. Se le dice en AGENTS.md, con cuándo:

- Antes de usar una API de Spring Boot o de Angular, consulta su documentación con Context7.


2. Base de datos: DBHub

DBHub deja al agente consultar la base de datos de desarrollo: ver el esquema real antes de diseñar una migración, escribir una consulta y probarla, o comprobar qué ha guardado un test que falla. Vale para PostgreSQL, MySQL, MariaDB, SQL Server, Oracle y SQLite.

Se configura con un dbhub.toml en la raíz:

[[sources]]
id = "pedidos"
dsn = "postgres://pedidos:${DB_PASSWORD}@localhost:5432/pedidos"

[[tools]]
name = "execute_sql"
source = "pedidos"
readonly = true
max_rows = 100

Y se da de alta apuntando a ese fichero:

claude mcp add --scope project basedatos -- npx -y @bytebase/dbhub@latest --config dbhub.toml

{
  "mcp": {
    "basedatos": { "type": "local", "command": ["npx", "-y", "@bytebase/dbhub@latest", "--config", "dbhub.toml"] }
  }
}

Solo la base de datos de desarrollo, nunca la de producción, ni siquiera en solo lectura: lo que devuelve una consulta entra en la conversación y se manda al proveedor del modelo.
Si DB_PASSWORD no está definida, DBHub no avisa: deja el texto ${DB_PASSWORD} tal cual como contraseña y lo que falla es la conexión. Ante un error de autenticación, lo primero, echo $DB_PASSWORD en la terminal desde la que se arrancó el agente.

3. Comprobar que están conectados

opencode mcp list


Más información