Herramientas de usuario

Herramientas del sitio


cursos:sdd:10-mcp

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
cursos:sdd:10-mcp [2026/11/05 22:22] – ↷ El nombre de la página cambió de cursos:sdd:09-mcp a cursos:sdd:10-mcp claudecursos:sdd:10-mcp [2026/11/06 08:37] (actual) – Renumerar el curso: Estructura de un skill pasa al 10 y los temas siguientes suben un número: movida a cursos:sdd:11-mcp claude
Línea 1: Línea 1:
-====== 9. MCP ====== 
- 
-Qué es un servidor MCP está en [[cursos:sdd:02-conceptos-basicos#mcp|Conceptos básicos]]. Aquí, cuáles se instalan: **dos y ninguno más**. 
- 
-  * **[[#context7|Context7]]**: la documentación actual de las librerías. 
-  * **[[#base_de_datosdbhub|DBHub]]**: la base de datos de desarrollo. 
- 
-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. 
- 
-<note important>**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.</note> 
- 
-Los dos se instalan **en el proyecto**, para que viajen en el repositorio y los tenga todo el equipo: 
- 
-  * **Claude Code**: ''claude mcp add'' con ''%%--scope project%%'', que lo guarda en ''.mcp.json'', en la raíz. Sin él se guarda solo para esa carpeta y en otro //worktree// no estaría. 
-  * **OpenCode**: en la clave ''mcp'' de ''opencode.json'', en la raíz. 
- 
----- 
- 
-===== 1. Context7 ===== 
- 
-[[https://github.com/upstash/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 Code: 
-<sxh bash> 
-claude mcp add --scope project context7 -- npx -y @upstash/context7-mcp 
-</sxh> 
-  * OpenCode: 
-<sxh json;title:opencode.json> 
-{ 
-  "mcp": { 
-    "context7": { "type": "local", "command": ["npx", "-y", "@upstash/context7-mcp"] } 
-  } 
-} 
-</sxh> 
- 
-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**: 
- 
-<sxh markdown;title:AGENTS.md> 
-- Antes de usar una API de Spring Boot o de Angular, consulta su documentación con Context7. 
-</sxh> 
- 
----- 
- 
-===== 2. Base de datos: DBHub ===== 
- 
-[[https://github.com/bytebase/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: 
- 
-<sxh ini;title:dbhub.toml> 
-[[sources]] 
-id = "pedidos" 
-dsn = "postgres://pedidos:${DB_PASSWORD}@localhost:5432/pedidos" 
- 
-[[tools]] 
-name = "execute_sql" 
-source = "pedidos" 
-readonly = true 
-max_rows = 100 
-</sxh> 
- 
-  * **''dsn''**: la conexión. La contraseña sale de la variable de entorno ''DB_PASSWORD'', así el fichero se puede subir al repositorio. En MySQL: ''%%mysql://pedidos:${DB_PASSWORD}@localhost:3306/pedidos%%''. 
-  * **''readonly = true''**: solo consultas. Los datos los cambia la aplicación o una migración, no el agente. 
-  * **''max_rows''**: lo que devuelve una consulta entra en el contexto. Cien filas bastan para ver cómo son los datos. 
- 
-Y se da de alta apuntando a ese fichero: 
- 
-  * Claude Code: 
-<sxh bash> 
-claude mcp add --scope project basedatos -- npx -y @bytebase/dbhub@latest --config dbhub.toml 
-</sxh> 
-  * OpenCode: 
-<sxh json;title:opencode.json> 
-{ 
-  "mcp": { 
-    "basedatos": { "type": "local", "command": ["npx", "-y", "@bytebase/dbhub@latest", "--config", "dbhub.toml"] } 
-  } 
-} 
-</sxh> 
- 
-<note warning>**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.</note> 
- 
-<note important>**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.</note> 
- 
----- 
- 
-===== 3. Comprobar que están conectados ===== 
- 
-  * Claude Code: ''/mcp'' dentro de la sesión lista los servidores y si han arrancado. 
-  * OpenCode: 
-<sxh bash> 
-opencode mcp list 
-</sxh> 
- 
----- 
- 
-===== Más información ===== 
- 
-  * [[https://github.com/upstash/context7|Context7]]: instalación en cada agente y librerías disponibles. 
-  * [[https://dbhub.ai/config/toml|DBHub: configuración TOML]]: varias bases de datos a la vez, ''readonly'', ''max_rows'' y herramientas propias con SQL fijo. 
-  * [[https://code.claude.com/docs/en/mcp|Claude Code: MCP]]: ''claude mcp add'', los //scopes// y ''.mcp.json''. 
-  * [[https://opencode.ai/docs/mcp-servers/|OpenCode: MCP servers]]: la clave ''mcp'' de ''opencode.json''. 
  
cursos/sdd/10-mcp.1793913744.txt.gz · Última modificación: por claude