Ferramentas são as ações e os dados que o servidor MCP de um plug-in disponibiliza ao ChatGPT e ao Codex. Defina-as depois de explorar ideias de casos de uso e antes de implementar o servidor.
Toda ferramenta deve ajudar a alcançar um objetivo do usuário. Não reproduza uma API interna sem considerar como as pessoas vão solicitar e usar o recurso.
Associe casos de uso a ferramentas
Para cada caso de uso compatível:
- Descreva o resultado que o usuário espera.
- Liste as informações necessárias para produzir esse resultado.
- Identifique as leituras, escritas ou ações externas que o servidor deve executar.
- Agrupe operações que representem uma única ação coerente.
- Separe as operações quando elas tiverem permissões, riscos de segurança ou requisitos de confirmação diferentes.
Por exemplo, um plug-in de projetos pode disponibilizar:
list_projectspara encontrar projetos.get_projectpara inspecionar um projeto.create_projectpara criar um projeto.update_projectpara alterar os detalhes de um projeto.archive_projectpara realizar uma mudança de estado com consequências significativas.
Separe as operações de leitura das de escrita para que o modelo e o usuário possam distinguir a recuperação de informações das ações que alteram o estado.
Defina cada contrato
Registre as seguintes informações para cada ferramenta proposta:
| Campo | O que definir |
|---|---|
| Nome | Um identificador estável e orientado à ação. |
| Título | Uma ação descrita de forma concisa e compreensível para as pessoas. |
| Descrição | O objetivo do usuário e as condições que devem acionar a ferramenta. |
| Esquema de entrada | Parâmetros obrigatórios e opcionais, tipos, valores permitidos e limites. |
| Esquema de saída | Campos estruturados que o modelo pode inspecionar e reutilizar. |
| Autorização | A conta, a função ou o acesso a recursos que o servidor deve verificar. |
| Efeitos colaterais | Dados ou estado externo que a ferramenta pode alterar. |
| Comportamento em caso de falha | Erros que o modelo pode explicar ou dos quais pode se recuperar. |
Use entradas explícitas. Não dependa de o modelo adivinhar identificadores, o escopo da conta ou outros valores necessários para o funcionamento correto.
Retorne identificadores estáveis e informações estruturadas suficientes para chamadas subsequentes. Não inclua segredos, tokens de acesso, diagnósticos internos nem dados pessoais desnecessários nos resultados.
Escreva descrições que orientem a seleção
O modelo usa as descrições das ferramentas para decidir quando uma ferramenta é adequada a uma solicitação. Descreva a intenção do usuário, não a implementação.
Boas descrições:
- Informam o que a ferramenta faz.
- Explicam quando usá-la.
- Diferenciam a ferramenta de outras semelhantes.
- Destacam limites ou pré-requisitos importantes.
Evite descrições que apenas repitam o nome da ferramenta ou usem terminologia interna do serviço que os usuários não conheçam.
Planeje as anotações de segurança
Atribua anotações com base no comportamento real. Consulte o
esquema
ToolAnnotations do MCP
para ver as definições canônicas, os valores padrão e as interações entre essas indicações:
readOnlyHintétruesomente quando a ferramenta não pode alterar o estado.destructiveHintétruequando a ferramenta pode causar resultados irreversíveis ou difíceis de reverter.openWorldHintétruequando a ferramenta acessa a internet pública ou entidades externas sem escopo delimitado, inclusive por meio de ações somente leitura, como pesquisa na Web. Uma conta ou um workspace privado com escopo delimitado não é de mundo aberto apenas por estar hospedado externamente.
As anotações não substituem a autorização no servidor, a validação de entradas nem a confirmação de ações com consequências significativas.
Verifique a cobertura e os limites
Compare as ferramentas propostas com o inventário completo de casos de uso:
- Confirme que todo caso de uso compatível tem um caminho para chegar a um resultado útil.
- Identifique ferramentas que não atendem a um caso de uso documentado.
- Verifique se faltam operações de leitura necessárias aos usuários antes de executar uma ação de escrita.
- Verifique se as solicitações não compatíveis resultam em uma explicação compreensível da limitação, em vez de uma aproximação insegura.
- Teste se duas ferramentas semelhantes têm descrições sobrepostas que possam confundir a seleção.
Mantenha o plano de ferramentas resultante como uma lista de verificação para implementação e avaliação. Em seguida, crie o servidor MCP e teste cada contrato com entradas representativas, inválidas e não autorizadas.