Skip to main content
Glama

Tavily MCP Load Balancer

by yatotm
test_tools_direct.cjs3.93 kB
#!/usr/bin/env node // 测试所有Tavily工具 const { spawn } = require('child_process'); console.log('🧪 Tavily MCP 负载均衡器工具测试'); console.log('======================================'); // 测试工具列表 const tests = [ { name: 'search', args: { query: 'Node.js tutorial', max_results: 2 }, description: '搜索功能测试' }, { name: 'tavily-search', args: { query: 'JavaScript frameworks', max_results: 2 }, description: '网络搜索功能' }, { name: 'tavily-extract', args: { urls: ['https://nodejs.org'] }, description: '网页内容提取' } ]; let currentTest = 0; function runTest(testConfig) { console.log(`🔧 测试工具: ${testConfig.name}`); console.log(`描述: ${testConfig.description}`); console.log('----------------------------------------'); const mcpProcess = spawn('node', ['dist/index.js'], { cwd: process.cwd(), stdio: ['pipe', 'pipe', 'pipe'] }); let responseData = ''; let hasReceivedResponse = false; const timeout = setTimeout(() => { if (!hasReceivedResponse) { console.log('❌ 测试超时\n'); mcpProcess.kill(); runNextTest(); } }, 15000); mcpProcess.stdout.on('data', (data) => { responseData += data.toString(); const lines = responseData.split('\n'); for (const line of lines) { if (line.trim() && line.includes('"jsonrpc"')) { try { const response = JSON.parse(line.trim()); if (response.result) { hasReceivedResponse = true; clearTimeout(timeout); if (response.result.isError) { console.log('❌ 测试失败'); console.log('错误信息:', response.result.content[0].text); } else { console.log('✅ 测试通过'); const resultText = response.result.content[0].text; // 显示结果预览 const preview = resultText.substring(0, 200); console.log('结果预览:', preview + (resultText.length > 200 ? '...' : '')); console.log('响应大小:', resultText.length, '字符'); } console.log(''); mcpProcess.kill(); runNextTest(); return; } } catch (e) { // 继续等待 } } } }); mcpProcess.on('error', (error) => { console.log('❌ 启动失败:', error.message); runNextTest(); }); // 发送请求 const request = { jsonrpc: "2.0", id: 1, method: "tools/call", params: { name: testConfig.name, arguments: testConfig.args } }; mcpProcess.stdin.write(JSON.stringify(request) + '\n'); mcpProcess.stdin.end(); } function runNextTest() { if (currentTest < tests.length) { runTest(tests[currentTest++]); } else { console.log('======================================'); console.log('🎉 所有测试完成!'); console.log(''); console.log('💡 提示:'); console.log('- 使用 node check_stats_direct.cjs 查看详细统计'); console.log('- 如果搜索测试失败,可能是API限制或网络问题'); process.exit(0); } } // 开始测试 runNextTest();

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yatotm/tavily-mcp-loadbalancer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server