Cargando

El último paso en la construcción de nuestro cliente MCP es implementar la funcionalidad de prompts. Esto nos permite listar todos los prompts disponibles desde el servidor y recuperar prompts específicos con variables completadas.

Implementando Listar Prompts

El método list_prompts es sencillo. Llama a la función de listar prompts de la sesión y devuelve los prompts:

python
async def list_prompts(self) -> list[types.Prompt]:
    result = await self.session().list_prompts()
    return result.prompts

Obteniendo Prompts Individuales

El método get_prompt es más interesante porque maneja la interpolación de variables. Cuando solicitas un prompt, proporcionas argumentos que se pasan a la función del prompt como argumentos de palabra clave:

python
async def get_prompt(self, prompt_name, args: dict[str, str]):
    result = await self.session().get_prompt(prompt_name, args)
    return result.messages

Por ejemplo, si tu servidor tiene un prompt format_document que espera un parámetro doc_id, el diccionario de argumentos contendría {"doc_id": "plan.md"}. Este valor se interpola en la plantilla del prompt.

Probando Prompts en Acción

Una vez implementado, puedes probar los prompts a través de la CLI. Cuando escribes una barra diagonal (/), los prompts disponibles aparecen como comandos. Seleccionar un prompt como "format" te pedirá elegir entre los documentos disponibles.

La CLI después de escribir "/format plan.md", mostrando un menú desplegable de documentos disponibles — deposition.md, report.pdf, financials.docx, outlook.pdf, plan.md y spec.txt — con plan.md resaltado

Después de seleccionar un documento, el sistema envía el prompt completo a Claude. La IA recibe tanto las instrucciones de formato como el ID del documento, y luego usa las herramientas disponibles para obtener y procesar el contenido.

Cómo Funcionan los Prompts

Diapositiva explicando los prompts: definen un conjunto de mensajes de usuario y asistente que los clientes pueden usar y deben ser de alta calidad, bien probados y relevantes para el propósito del MCP — junto a un fragmento de código de servidor MCP que define un prompt "format" con el decorador @mcp.prompt

Los prompts definen un conjunto de mensajes de usuario y asistente que los clientes pueden usar. Deben ser de alta calidad, bien probados y relevantes para el propósito de tu servidor MCP. El flujo de trabajo es:

  • Escribe y evalúa un prompt relevante para la funcionalidad de tu servidor
  • Define el prompt en tu servidor MCP usando el decorador @mcp.prompt
  • Los clientes pueden solicitar el prompt en cualquier momento
  • Los argumentos proporcionados por el cliente se convierten en argumentos de palabra clave en tu función de prompt
  • La función devuelve mensajes formateados listos para el modelo de IA

Este sistema crea prompts reutilizables y parametrizados que mantienen la consistencia mientras permiten la personalización a través de variables. Es particularmente útil para flujos de trabajo complejos donde quieres asegurarte de que la IA reciba instrucciones correctamente estructuradas cada vez.