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

Avisos

Criar modelos de prompt e fluxos de trabalho reutilizáveis
Os prompts permitem que os servidores definam modelos de prompt e fluxos de trabalho reutilizáveis que os clientes podem facilmente apresentar aos usuários e LLMs. Eles fornecem uma maneira poderosa de padronizar e compartilhar interações comuns de LLM.
Os prompts são projetados para serem controlados pelo usuário, o que significa que são expostos dos servidores aos clientes com a intenção de que o usuário possa selecioná-los explicitamente para uso.

Visão geral#

Os prompts no MCP são modelos predefinidos que podem:
Aceitar argumentos dinâmicos
Incluir contexto de recursos
Encadeamento de múltiplas interações
Guiar fluxos de trabalho específicos
Superfície como elementos da interface do usuário (como comandos de barra)

Estrutura do prompt#

Cada prompt é definido com:

Descobrindo prompts#

Os clientes podem descobrir prompts disponíveis através do endpoint prompts/list:

Usando prompts#

Para usar um prompt, os clientes fazem uma solicitação prompts/get:

Prompts dinâmicos#

Os prompts podem ser dinâmicos e incluir:

Contexto de recurso incorporado#

{
  "name": "analyze-project",
  "description": "Analisar logs e código do projeto",
  "arguments": [
    {
      "name": "timeframe",
      "description": "Período de tempo para analisar os logs",
      "required": true
    },
    {
      "name": "fileUri",
      "description": "URI do arquivo de código para revisar",
      "required": true
    }
  ]
}
Ao lidar com a solicitação prompts/get:
{
  "messages": [
    {
      "role": "user",
      "content": {
        "type": "text",
        "text": "Analise estes logs do sistema e o arquivo de código para quaisquer problemas:"
      }
    },
    {
      "role": "user",
      "content": {
        "type": "resource",
        "resource": {
          "uri": "logs://recent?timeframe=1h",
          "text": "[2024-03-14 15:32:11] ERROR: Connection timeout in network.py:127\n[2024-03-14 15:32:15] WARN: Retrying connection (attempt 2/3)\n[2024-03-14 15:32:20] ERROR: Max retries exceeded",
          "mimeType": "text/plain"
        }
      }
    },
    {
      "role": "user",
      "content": {
        "type": "resource",
        "resource": {
          "uri": "file:///path/to/code.py",
          "text": "def connect_to_service(timeout=30):\n    retries = 3\n    for attempt in range(retries):\n        try:\n            return establish_connection(timeout)\n        except TimeoutError:\n            if attempt == retries - 1:\n                raise\n            time.sleep(5)\n\ndef establish_connection(timeout):\n    # Connection implementation\n    pass",
          "mimeType": "text/x-python"
        }
      }
    }
  ]
}

Fluxos de trabalho de várias etapas#

Exemplo de implementação#

Aqui está um exemplo completo de implementação de prompts em um servidor MCP:
TypeScript
Python

Melhores práticas#

Ao implementar prompts:
1.
Use nomes de prompt claros e descritivos
2.
Forneça descrições detalhadas para prompts e argumentos
3.
Valide todos os argumentos obrigatórios
4.
Lidar com argumentos ausentes com elegância
5.
Considere o versionamento para modelos de prompt
6.
Armazene em cache o conteúdo dinâmico quando apropriado
7.
Implemente o tratamento de erros
8.
Documente os formatos de argumento esperados
9.
Considere a composibilidade do prompt
10.
Teste os prompts com várias entradas

Integração da interface do usuário#

Os prompts podem ser exibidos nas interfaces do usuário do cliente como:
Comandos de barra
Ações rápidas
Itens de menu de contexto
Entradas da paleta de comandos
Fluxos de trabalho guiados
Formulários interativos

Atualizações e alterações#

Os servidores podem notificar os clientes sobre alterações de prompt:
1.
Capacidade do servidor: prompts.listChanged
2.
Notificação: notifications/prompts/list_changed
3.
O cliente busca novamente a lista de prompts

Considerações de segurança#

Ao implementar prompts:
Valide todos os argumentos
Higienize a entrada do usuário
Considere a limitação de taxa
Implemente controles de acesso
Audite o uso do prompt
Lide com dados confidenciais adequadamente
Valide o conteúdo gerado
Implemente tempos limite
Considere os riscos de injeção de prompt
Documente os requisitos de segurança
Modified at 2025-03-12 10:11:38
Previous
Recursos
Next
Ferramentas
Built with