Geração automática de ferramentas MCP
Quando você cria uma função comdefine(), ela é automaticamente exposta como uma ferramenta MCP (Model Context Protocol). Seus agentes de IA podem descobrir e invocar sua função como uma ferramenta sem configuração adicional.
Exemplo
Para esta função:index.ts
/mcp expõe este schema:
O campo description: o mais importante para MCP
| Vago | Específico | Por que importa |
|---|---|---|
"Handles users" | "Looks up a user by email or phone and returns their profile with balance" | O agente sabe exatamente quais dados pode obter |
"Sends message" | "Sends a WhatsApp message to a number with country code (e.g.: 593…)" | O agente sabe o canal e o formato esperado |
"Queries API" | "Queries the status of a shipment by tracking number in the Servientrega API" | O agente sabe o provedor e quais dados precisa |
Anotações .describe() nos campos
As anotações .describe() do Zod se tornam descrições de parâmetros na ferramenta MCP. Isso é o que os agentes de IA veem ao descobrir sua função:
Testando o endpoint MCP
Inicie o servidor local comjelou dev e consulte o schema MCP:
Desativando o MCP
Se sua função não deve ser descoberta como ferramenta (por exemplo, um webhook que só recebe callbacks), desative o MCP:/mcp retorna 404.
Como os agentes usam
Quando você configura um agente de IA no Jelou Brain Studio e atribui funções como ferramentas, o agente:- Descobre as ferramentas disponíveis via o endpoint
/mcp - Lê o nome, a descrição e o schema de entrada
- Decide quando invocar a ferramenta com base na conversa do usuário
- Envia parâmetros validados para sua função
- Recebe a resposta e a incorpora à conversa
define() e atribuí-la ao agente.
MCP multi-tool
Quando você usaapp(), um único servidor MCP em /mcp registra automaticamente todas as ferramentas. Cada ferramenta aparece como uma ferramenta independente com seu nome, descrição e schema.
Para excluir uma ferramenta específica do registro MCP, use mcp: false na sua config:
queryBalance via MCP, mas paymentWebhook só é acessível via HTTP direto em /payment-webhook.