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:
async def list_prompts(self) -> list[types.Prompt]:
result = await self.session().list_prompts()
return result.promptsEsta 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:
async def get_prompt(self, prompt_name, args: dict[str, str]):
result = await self.session().get_prompt(prompt_name, args)
return result.messagesEl 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:
def format_document(doc_id: str):
# El doc_id se interpola en el promptCuando 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í:
- El usuario selecciona un prompt (como "format")
- El sistema solicita los argumentos requeridos (como qué documento formatear)
- El prompt se envía a Claude con los valores interpolados
- 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.