Lección 4 15 min

Tools, Resources y Prompts: las 3 primitivas

Las tres primitivas de MCP — Tools (modelo), Resources (aplicación) y Prompts (usuario). Cómo funcionan, cuándo usar cada una y el loop agéntico.

🔄 En la lección 3 configuraste los 5 servidores esenciales. Pero ¿qué hay dentro de un servidor MCP? ¿Cómo sabe la IA qué herramientas tiene disponibles? Las respuestas están en las tres primitivas.

Las 3 primitivas de MCP

Todo lo que un servidor MCP expone a la IA se clasifica en tres categorías.

Tools — Los “verbos” (controlados por el modelo)

Model-driven. El modelo de IA decide cuándo llamarlos según el contexto de la conversación.

@mcp.tool()
def search_issues(repo: str, query: str) -> str:
    """Buscar issues en un repositorio de GitHub"""
    # Llama a la API de GitHub y devuelve resultados

Cuando dices “muéstrame los bugs abiertos”, la IA decide que necesita llamar a search_issues y lo hace automáticamente.

Característica clave: Los tools tienen efectos secundarios — crean archivos, envían mensajes, escriben en bases de datos.

Resources — Los “sustantivos” (controlados por la aplicación)

App-driven. La aplicación proporciona datos de solo lectura que la IA usa como contexto.

@mcp.resource("file://{path}")
def read_file(path: str) -> str:
    """Leer el contenido de un archivo"""
    return open(path).read()

Esquemas de bases de datos, contenido de archivos, configuraciones — cualquier dato que la IA necesita consultar pero no modificar.

Característica clave: Los resources son solo lectura. Sin efectos secundarios. Seguros por diseño.

Prompts — Las “plantillas” (controlados por el usuario)

User-driven. Plantillas predefinidas que el usuario selecciona y ejecuta.

@mcp.prompt()
def code_review_prompt(pr_url: str) -> str:
    """Plantilla de revisión de código"""
    return f"Revisa {pr_url}.\n\nCriterios: bugs, rendimiento, seguridad, legibilidad"

En Claude Desktop puedes acceder a los prompts con el comando /. Son perfectos para estandarizar procesos — que todo el equipo haga las revisiones de código con los mismos criterios.

Quick Check: “Enviar un mensaje por Slack” — ¿es un Tool, Resource o Prompt? (Tool. Enviar un mensaje tiene un efecto secundario — cambia algo en el mundo real. La IA decide cuándo hacerlo según el contexto.)

Resumen de las 3 primitivas

PrimitivaControlada porUsoEjemplos
ToolModelo IAAcciones con efectos secundariosEnviar mensaje, crear archivo, llamar API
ResourceAplicaciónDatos de solo lecturaContenido de archivos, esquema BD, config
PromptUsuarioPlantillas reutilizablesReview de código, generación de reportes

Esta distinción es la base para diseñar servidores MCP en la lección 5.

Funciones avanzadas

Además de las 3 primitivas principales, MCP tiene funciones avanzadas añadidas en 2025:

FunciónDescripciónDesde cuándo
SamplingEl servidor puede pedir al modelo IA que genere una respuesta (razonamiento recursivo)Spec inicial
RootsEl cliente indica al servidor qué rutas de archivos están permitidas2025
ElicitationEl servidor pide al usuario información adicional durante la interacción (flujos OAuth, datos de pago)Junio 2025

Estas son para casos avanzados. Por ahora, domina las 3 primitivas.

El loop agéntico: donde MCP brilla

La verdadera potencia de MCP aparece en el loop agéntico — un flujo automático de varios pasos:

[Paso 1: Recopilar contexto]
├── GitHub MCP → Obtener issues abiertos
├── Filesystem → Leer archivos de código
└── BD MCP → Consultar logs de errores

[Paso 2: Analizar y decidir]
├── IA integra la información
└── Determina la mejor acción

[Paso 3: Ejecutar acción]
├── Filesystem → Modificar código
├── GitHub MCP → Crear PR
└── Slack MCP → Notificar al equipo

[Paso 4: Verificar]
├── Ejecutar tests
└── Si hay errores → volver al paso 2

Es el patrón “contexto → acción → verificación → repetir”.

Ejemplo práctico: reporte semanal automatizado

: "Resume la actividad de desarrollo de la semana pasada"

Lo que hace la IA:
1. GitHub MCP (tool)  Obtiene PRs mergeados de la última semana
2. GitHub MCP (tool)  Obtiene issues creados y cerrados
3. Análisis  Clasifica PRs por tipo (feature, bugfix, refactor)
4. Generación  Arma el reporte en markdown
5. Slack MCP (tool)  Publica en #dev-updates

Cada paso usa las primitivas correctas: tools para obtener datos y ejecutar acciones, la IA para el análisis.

Quick Check: ¿Por qué el loop agéntico tiene un paso de “verificación”? (Para confirmar que la acción se ejecutó correctamente. Si un test falla o un envío da error, la IA puede corregir y reintentar automáticamente.)

Puntos clave

  • Las 3 primitivas de MCP: Tools (modelo), Resources (aplicación), Prompts (usuario)
  • Tools tienen efectos secundarios, Resources son solo lectura, Prompts son plantillas
  • El loop agéntico: contexto → acción → verificación → repetir
  • Funciones avanzadas: Sampling, Roots, Elicitation (añadidas en 2025)
  • Combinar múltiples servidores en un loop agéntico automatiza flujos completos

Siguiente lección

Ahora que entiendes las primitivas, en la lección 5 vas a construir tu propio servidor MCP con Python. Desde cero, con FastMCP, en 30 líneas de código.

Comprobación de Conocimientos

1. ¿Quién controla cada primitiva de MCP?

2. ¿Cuál es el orden correcto del loop agéntico?

3. ¿Cuál es la diferencia entre un Tool y un Resource?

Responde todas las preguntas para comprobar

Primero completa el quiz de arriba

Skills Relacionados