Los prompts en los servidores MCP te permiten definir instrucciones preconstruidas y de alta calidad que los clientes pueden usar en lugar de escribir sus propios prompts desde cero. Piensa en ellos como plantillas cuidadosamente elaboradas que ofrecen mejores resultados que lo que los usuarios podrían crear por su cuenta.

¿Por qué usar Prompts?
Aquí está la idea clave: los usuarios ya pueden pedirle a Claude que realice la mayoría de las tareas directamente. Por ejemplo, un usuario podría escribir "reformatea el report.pdf en markdown" y obtener resultados decentes. Pero obtendrán resultados mucho mejores si proporcionas un prompt especializado y minuciosamente probado que maneje casos extremos y siga las mejores prácticas.
Como autor del servidor MCP, puedes dedicar tiempo a elaborar, probar y evaluar prompts que funcionen de manera consistente en diferentes escenarios. Los usuarios se benefician de esta experiencia sin tener que convertirse ellos mismos en expertos en ingeniería de prompts.

Construyendo un comando de formato
Implementemos un ejemplo práctico: un comando de formato que convierte documentos a markdown. Los usuarios escribirán /format doc_id y obtendrán de vuelta una versión en markdown formateada profesionalmente de su documento.
El flujo de trabajo se ve así:
- El usuario escribe
/para ver los comandos disponibles - Selecciona
formaty especifica un ID de documento - Claude usa tu prompt preconstruido para leer y reformatear el documento
- El resultado es markdown limpio con encabezados, listas y formato adecuados
Definiendo Prompts
Los prompts usan un patrón de decorador similar al de las herramientas y los recursos:
from mcp.server.fastmcp.prompts import base
@mcp.prompt(
name="format",
description="Rewrites the contents of the document in Markdown format."
)
def format_document(
doc_id: str = Field(description="Id of the document to format")
) -> list[base.Message]:
prompt = f"""
Your goal is to reformat a document to be written with markdown syntax.
The id of the document you need to reformat is:
<document_id>
{doc_id}
</document_id>
Add in headers, bullet points, tables, etc as necessary. Feel free to add in structure.
Use the 'edit_document' tool to edit the document. After the document has been reformatted...
"""
return [
base.UserMessage(prompt)
]La función devuelve una lista de mensajes que se envían directamente a Claude. Puedes incluir múltiples mensajes de usuario y de asistente para crear flujos de conversación más complejos.
Probando tus Prompts
Usa el MCP Inspector para probar tus prompts antes de implementarlos:

El inspector te muestra exactamente qué mensajes se enviarán a Claude, incluyendo cómo se interpolan las variables en tu plantilla de prompt. Esto te permite verificar que el prompt se vea correcto antes de que los usuarios comiencen a depender de él.
Beneficios clave
- Consistencia - Los usuarios obtienen resultados confiables cada vez
- Experiencia - Puedes codificar conocimiento de dominio en los prompts
- Reutilización - Múltiples aplicaciones cliente pueden usar los mismos prompts
- Mantenimiento - Actualiza los prompts en un solo lugar para mejorar todos los clientes
Los prompts funcionan mejor cuando están especializados para el dominio de tu servidor MCP. Un servidor de gestión de documentos podría tener prompts para formatear, resumir o analizar documentos. Un servidor de análisis de datos podría tener prompts para generar informes o visualizaciones.
El objetivo es proporcionar prompts tan bien elaborados y probados que los usuarios los prefieran en lugar de escribir sus propias instrucciones desde cero.