Todo el mundo habla de MCP. Todo el mundo habla de skills.
La mayoría los usa como sinónimos — y ese es exactamente el problema.
No son lo mismo. No resuelven el mismo problema. Y si usas el incorrecto, lo vas a sentir: alucinaciones, contexto desbordado, agentes que pierden el hilo y flujos de trabajo que se rompen bajo presión.
Vamos a resolverlo.
El modelo mental
Piénsalo como una cocina.
Las herramientas MCP son tus electrodomésticos e ingredientes — el horno, el refrigerador, los vegetales frescos. Capacidad pura. Sin ellos, no se cocina nada.
Los skills son tus recetas — las instrucciones paso a paso que le dicen a un chef exactamente cómo convertir esos ingredientes en algo bueno. Sin ellas, tienes poder, pero sin dirección.
Un agente con solo herramientas MCP puede hacer cosas, pero no necesariamente sabe cómo hacerlas bien. Un agente con solo skills tiene excelentes instrucciones, pero no puede actuar sobre ellas.
Necesitas los dos.
¿Qué es una herramienta MCP?
El Model Context Protocol es un estándar abierto — ahora bajo la Agentic AI Foundation de la Linux Foundation — que le da a los agentes de IA una forma estandarizada de conectarse a sistemas externos: bases de datos, APIs, sistemas de archivos, GitHub, Slack, tu Angular CLI.
Cuando conectas un servidor MCP a tu cliente —ya sea Claude Code, la CLI de Gemini o un agente personalizado—, este accede a un conjunto de herramientas deterministas y tipadas. Cada herramienta tiene un esquema claro de entrada y salida. Cuando el agente la llama, se ejecuta — sin interpretación, sin riesgo de alucinación a nivel de ejecución. Es una llamada de API estructurada, no una sugerencia.
1{
2 "mcpServers": {
3 "angular-cli": {
4 "command": "npx",
5 "args": ["-y", "@angular/cli", "mcp"]
6 }
7 }
8}MCP es como el agente alcanza fuera de sí mismo. Es el sistema nervioso.
Usa MCP cuando el agente necesite:
- Leer o escribir en un sistema real (base de datos, sistema de archivos, API)
- Ejecutar acciones con entradas y salidas claras y auditables.
- Conectarse a herramientas que no controlas
- Integrar múltiples servicios a través de una interfaz consistente.
¿Qué es un skill?
Un skill es una carpeta que contiene un archivo Markdown (con frontmatter YAML) más scripts y recursos opcionales. No es ejecutable por sí solo — es un playbook.
Cuando la solicitud de un usuario coincide con los criterios de relevancia de un skill, el agente carga esas instrucciones dinámicamente y las sigue. Es como darle al agente memoria procedural de nivel experto, bajo demanda.
1---
2name: angular-component-review
3description: Revisar componentes Angular para cumplimiento de Signals y arquitectura standalone
4---
5
6# Revisión de Componente Angular
7
8Al revisar un componente Angular:
91. Verificar que todo el estado use `signal()` o `computed()` — nunca mutación directa
102. Confirmar que el componente es `standalone: true`
113. Asegurar que no queden dependencias de `NgModule`
124. Validar que se use `@if` / `@for` en lugar de `*ngIf` / `*ngFor`El agente lo carga solo cuando es relevante. Cuando no lo es — no te cuesta nada.
Usa un skill cuando el agente lo necesite:
- Seguir un proceso o checklist consistente.
- Aplicar experiencia específica del dominio (tus estándares de código, criterios de revisión).
- Codificar conocimiento que no cambia frecuentemente.
- Reutilizar el mismo flujo de trabajo en distintas conversaciones.
Los desventajas reales
Aquí es donde la mayoría de las guías se detienen. No deberían.
MCP: El Impuesto de Tokens
Cada herramienta MCP que conectas inyecta su esquema completo en la ventana de contexto antes de que el agente procese un solo mensaje. Cada herramienta cuesta 550–1,400 tokens. Conecta GitHub, Slack y Sentry y estás mirando 55,000 tokens quemados de entrada — más de un cuarto del límite de 200k de Claude antes de hacer cualquier trabajo real.
Un equipo reportó conectar tres servidores MCP y consumir 143,000 de 200,000 tokens solo en definiciones de herramientas. Al agente le quedaban 57,000 tokens para la conversación real.
Y si usas Gemini con su ventana de contexto de 1M+ tokens, podrías pensar que puedes ignorar esto. No lo hagas. Incluso si te sobra espacio, inyectar 55,000 tokens de esquema JSON crudo en cada iteración de la conversación aumenta la latencia, incrementa los costos de la API y diluye el enfoque del modelo.
La buena noticia: clientes modernos como Claude Code y la CLI de Gemini han adoptado el progressive discovery para MCP — cargando solo nombres y descripciones de herramientas al inicio (~20–50 tokens cada una), y obteniendo los esquemas completos solo cuando el agente realmente necesita una herramienta. El overhead de tokens cayó ~85%. Pero esto solo funciona si tu configuración MCP está preparada para usarlo — y la mayoría todavía no lo está.
Skills: El Problema de la Desactualización
Los skills son archivos Markdown. No se actualizan solos. Si tus patrones de Angular evolucionan — digamos que migraste de setInput() a la nueva API declarativa en Angular 20 — tu Skill sigue enseñando la forma antigua hasta que alguien lo actualice manualmente.
Cuantos más skills creas, mayor es la carga de mantenimiento. Y si un skill está sutilmente equivocado, el agente lo seguirá con confianza — sin error, solo output silenciosamente incorrecto.
Ambos: El problema de selección
Dale a un agente demasiadas herramientas o demasiados skills y empieza a tomar las decisiones equivocadas — llama a la herramienta incorrecta, activa el playbook equivocado, o los combina de formas que producen instrucciones contradictorias. Los expertos recomiendan no superar 10–15 herramientas MCP activas al mismo tiempo.
Cómo combinarlos
El patrón más poderoso es usarlos como capas:
Capa 1 — MCP provee acceso. Conecta solo lo que el agente genuinamente necesita para la tarea actual. Angular CLI, una base de datos, un sistema de archivos. Mantenlo simple.
Capa 2 — Skills proveen experiencia.
Crea un Skill que le diga al agente cómo usar esas herramientas en tu contexto específico. No solo "ejecuta el Angular CLI" — sino "al migrar un componente, ejecuta ng generate con estos flags, luego valida contra estos patrones."
Capa 3 — Skills pueden orquestar MCP. Un skill puede definir un flujo de trabajo multipaso que llame a múltiples herramientas MCP en secuencia. Ejemplo: un skill de "Deploy & Notify" que usa el MCP de GitHub para hacer push, un MCP de CI/CD para lanzar el build, y un MCP de Slack para notificar al equipo — todo bajo un playbook coherente.
1---
2name: angular-migration-workflow
3description: Flujo completo para migrar un componente Angular a patrones v21
4---
5
6# Flujo de Migración
7
81. Usa el MCP del Angular CLI para verificar la versión actual del componente
92. Ejecuta `ng update` para el paquete afectado
103. Aplica el schematic de migración zoneless
114. Revisa el output contra el Skill de angular-component-review
125. Ejecuta los tests y reporta resultadosGuía de Decisión Práctica
| Situación | Usar |
|---|---|
| Necesito consultar una base de datos real | MCP |
| Necesito seguir un checklist de code review | Skill |
| Necesito hacer push a GitHub | MCP |
| Necesito aplicar el formato de commits de mi equipo | Skill |
| Necesito leer una API en vivo | MCP |
| Necesito enseñarle al agente mis reglas de arquitectura Angular | Skill |
| Necesito acceso Y proceso consistente | Ambos |
Mejorando el Flujo de Trabajo
Algunos patrones que realmente funcionan en producción:
1. Un servidor MCP por dominio. No cargues todo al mismo tiempo. Crea configuraciones separadas para "desarrollo Angular", "despliegue" y "comunicación" — y activa solo la que necesitas para cada sesión.
2. Versiona tus Skills como código. Ponlos en tu repositorio. Revísalos cuando actualices tu stack. Un Skill para patrones de Angular 19 te va a perjudicar activamente en Angular 21.
3. Usa Skills para escribir guardrails de MCP. En lugar de confiar en que el agente sepa cuándo llamar a una acción MCP destructiva, escribe un Skill que diga explícitamente: "Antes de ejecutar cualquier ng update, siempre crea un branch de git primero."
4. Mide tu presupuesto de contexto. Antes de que el agente haga cualquier trabajo real, conoce cuántos tokens consume tu configuración MCP. Si superas el 30% de tu ventana de contexto solo en definiciones de herramientas, tienes un problema de configuración.
5. Deja que el agente mantenga los Skills simples. Para áreas de cambio rápido — como mantener actualizadas las convenciones de versión de Angular de tu equipo — deja que el agente actualice el archivo Skill cuando se lo indiques. Es más rápido que hacerlo manualmente y mantiene el Skill honesto.
La conclusión
MCP les da a los agentes la capacidad de actuar. Los skills les enseñan cómo actuar bien.
El debate de "MCP vs Skills" es falso. La pregunta real es: ¿necesitas acceso, experiencia, o ambos?
En la mayoría de los flujos de trabajo reales con Angular, necesitas los dos. Un agente que puede ejecutar tu CLI, pero no conoce tu arquitectura, es solo una forma más rápida de cometer los mismos errores. Un agente que conoce tus patrones, pero no puede tocar tu proyecto real, es solo un buscador caro.
Usados juntos, con límites claros y configuración lean, son la base del desarrollo agéntico que realmente funciona.
Anteriormente escribí sobre Angular 21, MCP y el fin de las migraciones manuales — un buen punto de partida si eres nuevo en la configuración del servidor MCP para Angular.