Integración del Model Context Protocol (MCP) y Herramientas Afines para los desarrollos con IA
1. Introducción
El Model Context Protocol (MCP) establece una interfaz estándar para que los modelos de lenguaje invoquen herramientas externas (p. ej. repositorios Git, bases de datos o plataformas de despliegue) a través de canales stdio o HTTP. Integrar MCP en un flujo de trabajo permite que un agente de IA disponga de contexto autoritativo—código, documentación, métricas—mientras colabora con desarrolladores humanos. minimizar alucinaciones de API.
2. Marco Conceptual
2.1 Model Context Protocol (MCP)
MCP define mensajes JSON con campos tool, arguments y stream. El servidor MCP devuelve un tool_response, lo que permite a un modelo:
- Descubrir herramientas disponibles.
- Ejecutar acciones de forma reproducible.
- Auditar todas las llamadas en los logs del servidor.
2.2 Context7
Servidor MCP local que lee los archivos de dependencias (package.json, pnpm-lock.yaml) y suministra documentos y ejemplos de la versión exacta de cada librería. Evita que el modelo sugiera APIs obsoletas de frameworks como Next.js o NestJS.
2.3 GitMCP
Servicio edge‑serverless que convierte cualquier repositorio público de GitHub en endpoint MCP (https://gitmcp.io/<owner>/<repo>). Útil para consultar rápidamente ejemplos de proyectos OSS sin instalación local.
2.4 GitHub MCP Server
Imagen Docker oficial que expone >60 toolsets (repos, issues, pull requests, etc.) y permite trabajar con repositorios privados mediante un Personal Access Token (PAT).
3. Comparativa de herramientas MCP
| Herramienta | Cobertura principal | Repos privados | Overhead de tokens | Grado de madurez |
|---|---|---|---|---|
| Context7 | Dependencias NPM | — | Medio | Estable |
| GitMCP | Repos públicos OSS | No | Bajo | Alpha |
| GitHub MCP Server | Repos, issues, PRs de GitHub | Sí | Alto | Beta 0.2.1 |
4. ¿Cómo podríamos comenzar?
4.1 Arrancar un contenedor único de GitHub MCP Server
export GITHUB_PAT="<token fine‑grained>"
docker run -d --name ghmcp \
-e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT \
-e GITHUB_TOOLSETS="repos,issues" \
-p 7300:7300 \
ghcr.io/github/github-mcp-server:0.2.1
4.2 Configurar Cursor
~/.cursor/mcp.json — aliases relevantes para PROMPTS:
{
"mcpServers": {
"github": {"url": "http://localhost:7300"},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
},
"gitmcp-oss-next": {"url": "https://gitmcp.io/vercel/next.js"},
"gitmcp-oss-nest": {"url": "https://gitmcp.io/nestjs/nest"},
"gitmcp-oss-ts": {"url": "https://gitmcp.io/microsoft/TypeScript"}
}
}
4.2.1 Desglose de aliases y su utilidad práctica
| Alias | Servidor | Contribución de contexto |
|---|---|---|
github | GitHub MCP Server | Código y documentación de los tres repos privados. |
context7 | Context7 | APIs y ejemplos de dependencias instaladas. |
gitmcp-oss-next | GitMCP | Ejemplos y código fuente de Next.js. |
gitmcp-oss-nest | GitMCP | Patrón de controladores, interceptores y guards de NestJS. |
gitmcp-oss-ts | GitMCP | API interna del compilador TypeScript, transformadores AST. |
5. Catálogo de Herramientas MCP (mayo 2025)
5.1 MCP de propósito general
| Proyecto | Descripción breve | Uso en PROMPTS |
|---|---|---|
| Docker Hub MCP | Buscar/etiquetar/publicar imágenes. | Automatizar el build + push del backend. |
| Heroku Platform MCP | Escalar dynos, setear env‑vars, gestionar releases. | Deploy continuo de frontend/backend. |
| New Relic MCP | Crear alertas y consultar métricas APM. | Vigilar latencia y errores en producción. |
5.2 MCP orientadas al desarrollo de la aplicación PROMPTS
| Proyecto | Rol específico en el proyecto |
|---|---|
| Firebase Admin MCP | CRUD en Firestore, gestión de usuarios, triggers en Cloud Functions. |
| GitMCP Next.js | Referencia rápida al código oficial de Next.js. |
| GitMCP NestJS | Consultar patrones avanzados del framework NestJS. |
| GitMCP TypeScript | Ejemplos de AST y transformadores para tooling interno. |
5.3 Ejemplo de uso con MCP
- Diseñar colección Firestore →
Define un esquema para posts. use firebase - Generar controlador NestJS →
Crea un CRUD /posts con FirestoreService. use github - Implementar API Route Next.js →
Crea handler /api/posts que consuma el backend. use gitmcp-oss-next - Publicar imagen Docker →
Construye y sube backend:latest al repo prompts-back. use docker-hub - Desplegar en Heroku →
Escala web=2 y setea FIREBASE_PROJECT_ID. use heroku - Configurar alerta APM →
Alerta si p95 latency > 500 ms (5 min). use newrelic
6. Estrategia combinada: manuales internos + GitMCP
Para aprovechar tanto la «fuente de verdad» oficial como las reglas internas del proyecto, se recomienda un enfoque mixto:
| Componente | Implementación sugerida | Valor añadido |
|---|---|---|
| Manuales internos (guías de estilo, convenciones) | Repo privado aga-social-specs expuesto vía GitHub MCP Server con alias prompt-specs. | El LLM sigue reglas de arquitectura propias (naming, estructura, linters). |
| Repos OSS (Next.js, NestJS, TypeScript) | Endpoints GitMCP gitmcp-oss-next, gitmcp-oss-nest, gitmcp-oss-ts. | Evita alucinaciones y mantiene al día los cambios upstream. |
| Dependencias instaladas | Context7 analiza package.json y trae docs de la versión exacta. | Sincroniza ejemplos con la realidad del código local, incluso si está desfasado del repo oficial. |
7. Comparativa desarrollo con Cursor: MCP vs. Estrategia basada en carpetas
7.1 Alcance real de Cursor con varios repositorios
| Tema | Situación actual (Cursor v0.4x) | Lo que aporta una estrategia MCP combinada |
|---|---|---|
| Workspace con carpetas múltiples | Cursor indexa principalmente la primera carpeta; el resto solo se rastrea al abrir archivos o buscar explícitamente. | Cada repositorio se expone como herramienta (github-back, github-front, github-specs), asegurando acceso total aunque el editor no lo indexe. |
| Cruce de contexto entre repos | El motor de referencia no analiza dependencias cruzadas cuando los proyectos llevan tsconfig separados. | El agente puede solicitar fragmentos de otro repo mediante su alias, generando cambios coherentes entre front y back. |
| Manuales internos | Las guías en carpetas laterales pueden quedar fuera del razonamiento por defecto. | Al publicarlas como repo privado + alias aga-social-specs, el modelo las ve siempre. |
7.2 Estrategia combinada vs. “solo usar el workspace”
| Estrategia | Ventaja principal | Riesgo / trabajo extra |
|---|---|---|
| Workspace multi-carpeta sin MCP | Nada que configurar; escribes prompts naturales. | El agente puede “olvidar” reglas internas o confundir rutas entre front/back cuando la carpeta no está indexada. |
| Workspace + MCP combinados | Certeza de que cada prompt ve el repo/manual correcto; escalable a más herramientas (Firebase, Docker, Heroku). | Añade los use … (o una regla default) y requiere mantener los contenedores MCP en segundo plano. |
Para un proyecto cliente-servidor que compartirá convenciones estrictas y crecerá en micro-features, la segunda opción suele pagarse sola en fiabilidad.
7.3 Selección de herramientas sin escribir use …
defaultServerenmcp.json: cualquier prompt sin alias se enruta al servidor por defecto (p. ej.github)..cursorrules(experimental): mapea palabras clave del prompt a un alias — ej.: si contiene “Next.js” →gitmcp-oss-next.- Auto‑router semántico (roadmap Cursor Q3 2025): elegirá herramienta según embeddings, aún no disponible en builds estables.
Recomendación: hasta que la selección automática sea fiable, mantener alias explícitos (use github, use gitmcp-oss-next, use aga-social-specs) ofrece mayor control y rastreabilidad.
Prompts ilustrativos
# Citar convenciones internas
describe la estructura /modules del backend según nuestro manual. use aga-social-specs
# Obtener patrón oficial Next.js
genera un ejemplo de streaming con React Server Components. use gitmcp-oss-next
8. Conclusiones
- Un único contenedor GitHub MCP Server más Context7 bastan para iniciar un flujo IA‑asistido sobre repos privados.
- Firebase Admin MCP añade operaciones de base de datos sin salir del IDE, alineándose con la decisión de usar Firestore.
- Las herramientas MCP generales (Docker Hub, Heroku, New Relic) cubren el ciclo DevOps completo desde construcción hasta observabilidad.
- GitMCP ofrece acceso ligero a código OSS clave (Next.js, NestJS, TypeScript), útil como “fuente de verdad” en tiempo real.
- Ampliar la integración es incremental: basta añadir un alias y un token o credencial, sin modificar la lógica del agente.
- Para aprovechar tanto la «fuente de verdad» oficial como las reglas internas del proyecto, se recomienda un enfoque mixto
- La estrategia combinada -manuales internos
aga-social-specs+ repos OSS (“open‑source software”) vía GitMCP → dependencias exactas vía Context— enlaza estándares corporativos con APIs externas actualizadas. - El uso de MCP como capa explícita ofrece una cobertura de contexto superior a depender solo de un workspace multi‑carpeta; el coste operativo añadido (alias y contenedores) se ve compensado por mayor confiabilidad en prompts cruzados.
9. Directorios de MCPs
- Pulse MCP
- Glama
- MCP.so
- Cursor.directory
- Github Model Context Protocol
- PortKey.ai
- Awesome MCP Servers
- MCP Server Finder
- MCP Server
10. Referencias
- Model Context Protocol. Introduction. https://modelcontextprotocol.io/introduction (mayo 2025).
- I. Salomon. git-mcp. https://github.com/idosal/git-mcp (commit
d2f7a1b). - Upstash. context7. https://github.com/upstash/context7 (tag
v0.6.2). - GitHub. github-mcp-server (release
v0.2.1).