|
1 | | -// Exemplo de uso do Agent com MCPTool para validar conexão e troca de mensagens com servidores MCP |
2 | | -const { Agent } = require('../../src'); |
| 1 | +// Exemplo de agente integrado ao MCP server de weather |
| 2 | +const { Agent, Runner } = require('../../src'); |
3 | 3 |
|
4 | | -// Substitua por URLs reais dos hosts MCP que estejam rodando (pode apontar para localhost:3000) |
5 | | -const MCP_SERVERS = [ |
6 | | - 'http://localhost:3000', |
7 | | - // 'http://localhost:3002' |
8 | | -]; |
| 4 | +(async () => { |
| 5 | + // URL do MCP server (ajuste conforme necessário) |
| 6 | + const mcpWeatherUrl = 'http://localhost:3001/sse'; |
9 | 7 |
|
10 | | -async function main() { |
11 | | - // Cria agente com MCPTool |
| 8 | + // Instancia o agente com integração MCP |
12 | 9 | const agent = new Agent({ |
13 | | - name: 'Agente-MCP-Exemplo', |
14 | | - instructions: 'Teste de integração MCP.', |
15 | | - mcpServers: MCP_SERVERS |
| 10 | + name: 'WeatherAgent', |
| 11 | + instructions: 'Consulte informações meteorológicas usando ferramentas remotas.', |
| 12 | + mcpServers: [mcpWeatherUrl] |
16 | 13 | }); |
17 | 14 |
|
18 | | - // Conecta a todos os servidores MCP |
19 | | - await agent.mcpTool.connectAll(); |
20 | | - console.log('Conectado aos servidores MCP:', MCP_SERVERS); |
| 15 | + // Inicializa o agente e aguarda o carregamento das ferramentas MCP |
| 16 | + await agent.init(); |
21 | 17 |
|
22 | | - // Envia mensagem de teste para cada servidor MCP |
23 | | - for (const url of MCP_SERVERS) { |
24 | | - const input = 'Mensagem de teste para o servidor MCP: ' + url; |
25 | | - const resposta = await agent.mcpTool.sendMessage(url, input); |
26 | | - console.log(`Resposta do MCP (${url}):`, resposta); |
27 | | - } |
28 | | -} |
| 18 | + // Exibe as ferramentas disponíveis |
| 19 | + console.log('Ferramentas disponíveis:', agent.tools.map(t => t.name)); |
29 | 20 |
|
30 | | -main().catch(err => { |
31 | | - console.error('Erro no exemplo MCP:', err); |
32 | | -}); |
| 21 | + // Input natural do usuário |
| 22 | + const input = 'Quais alertas meteorológicos existem para NY?'; |
| 23 | + |
| 24 | + // Executa o agente, que decide qual ferramenta usar |
| 25 | + const result = await Runner.run(agent, input); |
| 26 | + console.log('Saída final do agente:', result.finalOutput); |
| 27 | +})(); |
0 commit comments