Documentación Oficial de MCP en Español
  1. Conceptos
Documentación Oficial de MCP en Español
  • Empezar
    • Introducción
    • Servidores de ejemplo
    • Clientes de ejemplo
    • Inicio rápido
      • Para desarrolladores de servidores
      • Para desarrolladores de clientes
      • Para usuarios de Claude Desktop
  • Tutoriales
    • Construyendo MCP con LLMs
    • Depuración
    • Inspector
  • Conceptos
    • Arquitectura central
    • Recursos
    • Indicaciones
    • Herramientas
    • Muestreo
    • Raíces
    • Transportes
  • Desarrollo
    • Qué hay de nuevo
    • Hoja de ruta
    • Contribuyendo
  1. Conceptos

Muestreo

Aquí está la traducción al español del contenido Markdown proporcionado:

Permite que tus servidores soliciten finalizaciones de LLMs#

Sampling es una poderosa función de MCP que permite a los servidores solicitar finalizaciones de LLM a través del cliente, habilitando comportamientos agenticos sofisticados mientras se mantiene la seguridad y la privacidad.
Esta función de MCP aún no es compatible con el cliente de escritorio de Claude.

Cómo funciona Sampling#

El flujo de sampling sigue estos pasos:
1.
El servidor envía una solicitud sampling/createMessage al cliente.
2.
El cliente revisa la solicitud y puede modificarla.
3.
El cliente realiza un sampling desde un LLM.
4.
El cliente revisa la finalización.
5.
El cliente devuelve el resultado al servidor.
Este diseño con intervención humana garantiza que los usuarios mantengan el control sobre lo que el LLM ve y genera.

Formato del mensaje#

Las solicitudes de sampling utilizan un formato de mensaje estandarizado:

Parámetros de la solicitud#

Mensajes#

El array messages contiene el historial de conversación para enviar al LLM. Cada mensaje tiene:
role: Ya sea "user" o "assistant"
content
: El contenido del mensaje, que puede ser:
Contenido de texto con un campo text
Contenido de imagen con campos data (base64) y mimeType

Preferencias del modelo#

El objeto modelPreferences permite a los servidores especificar sus preferencias de selección de modelo:
hints: Array de sugerencias de nombres de modelos que los clientes pueden usar para seleccionar un modelo apropiado:
name: String que puede coincidir con nombres de modelos completos o parciales (p. ej., "claude-3", "sonnet")
Los clientes pueden asignar sugerencias a modelos equivalentes de diferentes proveedores.
Múltiples sugerencias se evalúan en orden de preferencia.
Valores de prioridad (normalizados de 0 a 1):
costPriority: Importancia de minimizar los costos.
speedPriority: Importancia de la baja latencia de respuesta.
intelligencePriority: Importancia de las capacidades avanzadas del modelo.
Los clientes toman la selección final del modelo basándose en estas preferencias y sus modelos disponibles.

System prompt#

Un campo systemPrompt opcional permite a los servidores solicitar un system prompt específico. El cliente puede modificarlo o ignorarlo.

Inclusión de contexto#

El parámetro includeContext especifica qué contexto de MCP incluir:
"none": Ningún contexto adicional.
"thisServer": Incluir contexto del servidor solicitante.
"allServers": Incluir contexto de todos los servidores MCP conectados.
El cliente controla qué contexto se incluye realmente.

Parámetros de sampling#

Ajuste fino del sampling del LLM con:
temperature: Controla la aleatoriedad (0.0 a 1.0).
maxTokens: Tokens máximos para generar.
stopSequences: Array de secuencias que detienen la generación.
metadata: Parámetros adicionales específicos del proveedor.

Formato de respuesta#

El cliente devuelve un resultado de finalización:

Ejemplo de solicitud#

Aquí hay un ejemplo de solicitud de sampling de un cliente:
{
  "method": "sampling/createMessage",
  "params": {
    "messages": [
      {
        "role": "user",
        "content": {
          "type": "text",
          "text": "What files are in the current directory?"
        }
      }
    ],
    "systemPrompt": "You are a helpful file system assistant.",
    "includeContext": "thisServer",
    "maxTokens": 100
  }
}

Buenas prácticas#

Al implementar sampling:
1.
Siempre proporcione indicaciones claras y bien estructuradas.
2.
Maneje el contenido de texto e imagen de manera apropiada.
3.
Establezca límites de tokens razonables.
4.
Incluya el contexto relevante a través de includeContext.
5.
Valide las respuestas antes de usarlas.
6.
Maneje los errores con elegancia.
7.
Considere limitar la velocidad de las solicitudes de sampling.
8.
Documente el comportamiento de sampling esperado.
9.
Pruebe con varios parámetros del modelo.
10.
Supervise los costos de sampling.

Controles humanos en el bucle#

Sampling está diseñado teniendo en cuenta la supervisión humana:

Para indicaciones#

Los clientes deben mostrar a los usuarios la indicación propuesta.
Los usuarios deben poder modificar o rechazar las indicaciones.
Los system prompts pueden filtrarse o modificarse.
La inclusión de contexto está controlada por el cliente.

Para finalizaciones#

Los clientes deben mostrar a los usuarios la finalización.
Los usuarios deben poder modificar o rechazar las finalizaciones.
Los clientes pueden filtrar o modificar las finalizaciones.
Los usuarios controlan qué modelo se utiliza.

Consideraciones de seguridad#

Al implementar sampling:
Valide todo el contenido del mensaje.
Sanitice la información confidencial.
Implemente límites de velocidad apropiados.
Supervise el uso de sampling.
Cifre los datos en tránsito.
Maneje la privacidad de los datos del usuario.
Audite las solicitudes de sampling.
Controle la exposición a los costos.
Implemente tiempos de espera.
Maneje los errores del modelo con elegancia.

Patrones comunes#

Flujos de trabajo agenticos#

Sampling habilita patrones agenticos como:
Leer y analizar recursos.
Tomar decisiones basadas en el contexto.
Generar datos estructurados.
Manejar tareas de varios pasos.
Proporcionar asistencia interactiva.

Gestión del contexto#

Buenas prácticas para el contexto:
Solicite el contexto mínimo necesario.
Estructure el contexto claramente.
Maneje los límites de tamaño del contexto.
Actualice el contexto según sea necesario.
Limpie el contexto obsoleto.

Manejo de errores#

El manejo robusto de errores debe:
Detectar fallas de sampling.
Manejar errores de tiempo de espera.
Gestionar los límites de velocidad.
Validar las respuestas.
Proporcionar comportamientos de respaldo.
Registrar los errores de manera apropiada.

Limitaciones#

Tenga en cuenta estas limitaciones:
Sampling depende de las capacidades del cliente.
Los usuarios controlan el comportamiento de sampling.
El tamaño del contexto tiene límites.
Se pueden aplicar límites de velocidad.
Se deben considerar los costos.
La disponibilidad del modelo varía.
Los tiempos de respuesta varían.
No todos los tipos de contenido son compatibles.
Previous
Herramientas
Next
Raíces
Built with