Documentação Oficial do MCP em Português
  1. Conceitos
Documentação Oficial do MCP em Português
  • Get Started
    • Introdução
    • Servidores de exemplo
    • Clientes de exemplo
    • Início rápido
      • Para os desenvolvedores de servidores
      • Para os desenvolvedores de clientes
      • Para utilizadores do Claude Desktop
  • Tutoriais
    • Construção de MCP com LLMs
    • Depuração
    • Inspetor
  • Conceitos
    • Arquitetura central
    • Recursos
    • Avisos
    • Ferramentas
    • Amostragem
    • Raízes
    • Transportes
  • Desenvolvimento
    • O que há de novo
    • Roteiro
    • Contribuindo
  1. Conceitos

Amostragem

Permitir que seus servidores solicitem conclusões de LLMs
O Sampling é um recurso poderoso do MCP que permite que os servidores solicitem conclusões de LLM por meio do cliente, habilitando comportamentos agentic sofisticados, mantendo a segurança e a privacidade.
Este recurso do MCP ainda não é suportado no cliente Claude Desktop.

Como o Sampling funciona#

O fluxo de sampling segue estas etapas:
1.
O servidor envia uma solicitação sampling/createMessage para o cliente
2.
O cliente revisa a solicitação e pode modificá-la
3.
O cliente faz o sampling de um LLM
4.
O cliente revisa a conclusão
5.
O cliente retorna o resultado para o servidor
Este design "human-in-the-loop" garante que os usuários mantenham o controle sobre o que o LLM vê e gera.

Formato da mensagem#

As solicitações de sampling usam um formato de mensagem padronizado:

Parâmetros de solicitação#

Mensagens#

O array messages contém o histórico de conversas a ser enviado ao LLM. Cada mensagem tem:
role: "user" ou "assistant"
content
: O conteúdo da mensagem, que pode ser:
Conteúdo de texto com um campo text
Conteúdo de imagem com campos data (base64) e mimeType

Preferências do modelo#

O objeto modelPreferences permite que os servidores especifiquem suas preferências de seleção de modelo:
hints: Array de sugestões de nome de modelo que os clientes podem usar para selecionar um modelo apropriado:
name: String que pode corresponder a nomes de modelo completos ou parciais (por exemplo, "claude-3", "sonnet")
Os clientes podem mapear dicas para modelos equivalentes de diferentes provedores
Várias dicas são avaliadas em ordem de preferência
Valores de prioridade (0-1 normalizados):
costPriority: Importância de minimizar custos
speedPriority: Importância da baixa latência de resposta
intelligencePriority: Importância das capacidades avançadas do modelo
Os clientes fazem a seleção final do modelo com base nessas preferências e seus modelos disponíveis.

System prompt#

Um campo systemPrompt opcional permite que os servidores solicitem um system prompt específico. O cliente pode modificar ou ignorar isso.

Inclusão de contexto#

O parâmetro includeContext especifica qual contexto do MCP incluir:
"none": Nenhum contexto adicional
"thisServer": Incluir contexto do servidor solicitante
"allServers": Incluir contexto de todos os servidores MCP conectados
O cliente controla qual contexto é realmente incluído.

Parâmetros de sampling#

Ajuste o sampling do LLM com:
temperature: Controla a aleatoriedade (0.0 a 1.0)
maxTokens: Número máximo de tokens a serem gerados
stopSequences: Array de sequências que interrompem a geração
metadata: Parâmetros adicionais específicos do provedor

Formato de resposta#

O cliente retorna um resultado de conclusão:

Exemplo de solicitação#

Aqui está um exemplo de solicitação de sampling de um 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
  }
}

Melhores práticas#

Ao implementar o sampling:
1.
Sempre forneça prompts claros e bem estruturados
2.
Lide com o conteúdo de texto e imagem adequadamente
3.
Defina limites de token razoáveis
4.
Inclua o contexto relevante por meio de includeContext
5.
Valide as respostas antes de usá-las
6.
Lide com erros normalmente
7.
Considere limitar a taxa de solicitações de sampling
8.
Documente o comportamento de sampling esperado
9.
Teste com vários parâmetros de modelo
10.
Monitore os custos de sampling

Controles Human-in-the-Loop#

O sampling é projetado com a supervisão humana em mente:

Para prompts#

Os clientes devem mostrar aos usuários o prompt proposto
Os usuários devem ser capazes de modificar ou rejeitar prompts
Os system prompts podem ser filtrados ou modificados
A inclusão de contexto é controlada pelo cliente

Para conclusões#

Os clientes devem mostrar aos usuários a conclusão
Os usuários devem ser capazes de modificar ou rejeitar conclusões
Os clientes podem filtrar ou modificar as conclusões
Os usuários controlam qual modelo é usado

Considerações de segurança#

Ao implementar o sampling:
Valide todo o conteúdo da mensagem
Sanitize informações confidenciais
Implemente limites de taxa apropriados
Monitore o uso de sampling
Criptografe os dados em trânsito
Lide com a privacidade dos dados do usuário
Audite as solicitações de sampling
Controle a exposição ao custo
Implemente timeouts
Lide com erros de modelo normalmente

Padrões comuns#

Fluxos de trabalho Agentic#

O sampling permite padrões agentic como:
Ler e analisar recursos
Tomar decisões com base no contexto
Gerar dados estruturados
Lidar com tarefas de várias etapas
Fornecer assistência interativa

Gerenciamento de contexto#

Melhores práticas para contexto:
Solicite o contexto mínimo necessário
Estruture o contexto claramente
Lide com os limites de tamanho do contexto
Atualize o contexto conforme necessário
Limpe o contexto obsoleto

Tratamento de erros#

O tratamento robusto de erros deve:
Capturar falhas de sampling
Lidar com erros de timeout
Gerenciar limites de taxa
Validar respostas
Fornecer comportamentos de fallback
Registrar erros adequadamente

Limitações#

Esteja ciente destas limitações:
O sampling depende das capacidades do cliente
Os usuários controlam o comportamento de sampling
O tamanho do contexto tem limites
Os limites de taxa podem ser aplicados
Os custos devem ser considerados
A disponibilidade do modelo varia
Os tempos de resposta variam
Nem todos os tipos de conteúdo são suportados
Modified at 2025-03-12 10:13:05
Previous
Ferramentas
Next
Raízes
Built with