Ahora que hemos construido nuestro servidor MCP, repasemos las tres primitivas principales del servidor y entendamos cuándo usar cada una. La idea clave es que cada primitiva está controlada por una parte diferente de la pila de 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 Claude usa los resultados directamente para lograr 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 la respuesta.

La decisión de usar la herramienta fue 100% controlada por el modelo: Claude reconoció que necesitaba ejecutar código y eligió la herramienta apropiada sin ninguna indicación de la aplicación o del usuario.
Recursos: Controlados por la aplicación
Los recursos están controlados por el código de tu aplicación. Tu aplicación 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 en tu aplicación. Ejemplos comunes incluyen:
- Completar opciones de autocompletado en tu interfaz de usuario
- Obtener documentos para mostrar en un selector de archivos
- Agregar contexto a los mensajes antes de enviarlos a Claude
En la interfaz web de Claude, la función "Agregar desde Google Drive" demuestra esto perfectamente. La aplicación obtiene una lista de documentos disponibles y los muestra en la interfaz de usuario, luego inyecta el contenido del documento seleccionado en el contexto del chat.
Prompts: Controlados por el usuario
Los prompts están controlados por los usuarios. Ellos decidan cuándo activar estos flujos de trabajo predefinidos a través de acciones directas como hacer clic en botones, seleccionar opciones de menú o usar comandos de barra diagonal.
Usa prompts cuando quieras implementar flujos de trabajo predefinidos a los que los usuarios puedan acceder fácilmente. En la interfaz de Claude, verás botones de flujo de trabajo debajo de la entrada del chat que permiten a los usuarios iniciar rápidamente tareas comunes como escribir, aprender o programar.
Elegir la primitiva correcta
Al construir tu servidor MCP, piensa en quién necesita controlar cada parte de la funcionalidad:
- ¿Necesitas extender las capacidades de Claude? Usa herramientas
- ¿Necesitas obtener datos en la interfaz de usuario de tu aplicación? Usa recursos
- ¿Necesitas ofrecer a los usuarios flujos de trabajo predefinidos? Usa prompts
Estas son pautas de alto nivel para ayudarte a elegir la primitiva correcta según tu caso de uso específico. Cada una sirve a una parte diferente de la pila de la aplicación: las herramientas sirven al modelo, los recursos sirven a la aplicación y los prompts sirven a los usuarios.