Cargando

Los prompts en MCP definen un conjunto de mensajes de usuario y asistente que pueden ser utilizados por el cliente. Estos prompts deben ser de alta calidad, estar bien probados y ser relevantes para el propósito general del servidor MCP.

Implementando List Prompts

El primer paso es implementar el método list_prompts en tu cliente MCP. Este método recupera todos los prompts disponibles del servidor:

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

Esta implementación simple llama al método list_prompts de la sesión y devuelve el array de prompts del resultado.

Obteniendo prompts individuales

El método get_prompt recupera un prompt específico con argumentos interpolados en él. 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

El método devuelve los mensajes del resultado, que forman una conversación que puede alimentarse directamente a Claude.

Cómo funcionan los argumentos de los prompts

Cuando defines una función de prompt en el lado del servidor, esta puede aceptar parámetros. Por ejemplo, un prompt de formato de documento podría esperar un parámetro doc_id:

python
def format_document(doc_id: str):
    # El doc_id se interpola en el prompt

Cuando el cliente llama a get_prompt, el diccionario de argumentos debe contener las claves esperadas. El servidor MCP pasará estos como argumentos de palabra clave a la función del prompt, permitiendo que se inserte contenido dinámico en la plantilla del prompt.

Probando prompts en la CLI

Una vez implementado, puedes probar los prompts a través de la interfaz de línea de comandos. Cuando escribes una barra diagonal, los prompts disponibles aparecen como comandos. Seleccionar un prompt puede pedirte que elijas entre las opciones disponibles (como IDs de documentos), y luego el prompt completo se envía a Claude.

El flujo de trabajo se ve así:

  1. El usuario selecciona un prompt (como "format")
  2. El sistema solicita los argumentos requeridos (como qué documento formatear)
  3. El prompt se envía a Claude con los valores interpolados
  4. Claude puede entonces usar herramientas para obtener datos adicionales y completar la tarea

Mejores prácticas para prompts

Al crear prompts para tu servidor MCP:

  • Hazlos relevantes para el propósito de tu servidor
  • Pruébalos exhaustivamente antes del despliegue
  • Usa instrucciones claras y específicas
  • Diséñalos para que funcionen bien con tus herramientas disponibles
  • Considera qué argumentos necesitarán proporcionar los usuarios

Los prompts cierran la brecha entre la funcionalidad predefinida y las necesidades dinámicas del usuario, dándole a Claude puntos de partida estructurados para tareas complejas mientras mantienen flexibilidad a través de la parametrización.