Ahora que hemos construido nuestro servidor MCP, repasemos las tres primitivas principales y entendamos cuándo usar cada una. La idea clave es entender quién controla cada primitiva y qué propósito cumple en tu aplicación.

Herramientas: Controladas por el modelo
Las herramientas están controladas completamente por Claude. El modelo de IA decide cuándo llamar a estas funciones, y los resultados son utilizados directamente por Claude para realizar tareas.
Usa herramientas cuando quieras darle a Claude capacidades adicionales. Por ejemplo, si le pides a Claude que calcule la raíz cuadrada de 3 usando JavaScript, Claude decidirá automáticamente usar una herramienta de ejecución de JavaScript para proporcionar una respuesta precisa.
Recursos: Controlados por la aplicación
Los recursos están controlados por el código de tu aplicación. Tu app decide cuándo obtener los datos del recurso y cómo usarlos, típicamente para fines de interfaz de usuario o para agregar contexto a las conversaciones.
Usa recursos cuando necesites obtener datos para tu app. Ejemplos comunes incluyen:
- Completar opciones de autocompletado en tu interfaz de usuario
- Agregar contexto a los mensajes antes de enviarlos a Claude
- Mostrar listas de documentos o archivos disponibles
En nuestro proyecto, usamos recursos para obtener sugerencias de autocompletado y para aumentar los prompts con contexto adicional.
Prompts: Controlados por el usuario
Los prompts son activados por acciones del usuario. Los usuarios decidan cuándo ejecutar estos flujos de trabajo predefinidos mediante interacciones de interfaz de usuario como clics en botones, selecciones de menú o comandos de barra diagonal.
Usa prompts para flujos de trabajo que los usuarios deberían poder activar a demanda. Estos son perfectos para:
- Iniciadores de conversación predefinidos
- Plantillas de tareas comunes
- Flujos de trabajo especializados optimizados para casos de uso específicos
Ejemplos del mundo real
Puedes ver las tres primitivas en acción en la interfaz oficial de Claude. Los botones de inicio de conversación debajo del campo de entrada del chat son ejemplos de prompts: flujos de trabajo controlados por el usuario que inician interacciones predefinidas.

La opción "Add from Google Drive" demuestra los recursos en acción. Cuando haces clic en este botón, la aplicación obtiene una lista de tus documentos y los muestra en la interfaz de usuario. Este es un comportamiento controlado por la aplicación que sirve a la interfaz.
Cuando le pides a Claude que realice cálculos o ejecute código, estás viendo herramientas en funcionamiento. Claude decide automáticamente usar herramientas disponibles como la ejecución de JavaScript para proporcionar resultados precisos.

Elegir la primitiva correcta
Aquí tienes una guía rápida de decisión:
- ¿Necesitas extender las capacidades de Claude? Usa herramientas
- ¿Necesitas datos para la interfaz de usuario o el contexto de tu app? Usa recursos
- ¿Quieres ofrecer flujos de trabajo predefinidos a los usuarios? Usa prompts
Recuerda, estas son pautas de alto nivel para ayudarte a elegir el enfoque correcto para tus necesidades específicas. Cada primitiva sirve a una parte diferente del ecosistema de tu aplicación: las herramientas sirven al modelo, los recursos sirven a tu app, y los prompts sirven a tus usuarios.