UNPKG

mcp-brave-search

Version:

Brave Search MCP Server - Web and News Search via stdio

101 lines 3.71 kB
/** * Manual test script for Brave Search API * Run with: BRAVE_API_KEY=your_key npm run test:api */ import { BraveSearchAPI } from '../build/brave-api.js'; async function testWebSearch() { console.log('\n=== Testing Web Search ===\n'); const apiKey = process.env.BRAVE_API_KEY; if (!apiKey) { throw new Error('BRAVE_API_KEY environment variable is required'); } const api = new BraveSearchAPI({ apiKey }); try { // Test 1: Simple search console.log('Test 1: Simple web search for "TypeScript"'); const result1 = await api.webSearch({ q: 'TypeScript best practices', count: 5, }); console.log(`✓ Found ${result1.web?.results.length || 0} results`); console.log('First result:', result1.web?.results[0]?.title); // Test 2: Search with language and country console.log('\nTest 2: Search with country and language filters'); const result2 = await api.webSearch({ q: 'Node.js tutorial', count: 3, country: 'US', search_lang: 'en', }); console.log(`✓ Found ${result2.web?.results.length || 0} results`); // Test 3: Search with freshness filter console.log('\nTest 3: Search with freshness filter (past week)'); const result3 = await api.webSearch({ q: 'AI news', count: 5, freshness: 'pw', }); console.log(`✓ Found ${result3.web?.results.length || 0} results`); console.log('\n✅ All web search tests passed!\n'); } catch (error) { console.error('❌ Web search test failed:', error); throw error; } } async function testNewsSearch() { console.log('\n=== Testing News Search ===\n'); const apiKey = process.env.BRAVE_API_KEY; if (!apiKey) { throw new Error('BRAVE_API_KEY environment variable is required'); } const api = new BraveSearchAPI({ apiKey }); try { // Test 1: Simple news search console.log('Test 1: Simple news search for "technology"'); const result1 = await api.newsSearch({ q: 'technology', count: 5, }); console.log(`✓ Found ${result1.results.length} news articles`); if (result1.results.length > 0) { console.log('First article:', result1.results[0].title); } // Test 2: News search with freshness console.log('\nTest 2: News from past 24 hours'); const result2 = await api.newsSearch({ q: 'AI technology', count: 5, freshness: 'pd', }); console.log(`✓ Found ${result2.results.length} recent articles`); // Test 3: News search with country filter console.log('\nTest 3: News with country filter (US)'); const result3 = await api.newsSearch({ q: 'economy', count: 5, country: 'US', }); console.log(`✓ Found ${result3.results.length} articles`); console.log('\n✅ All news search tests passed!\n'); } catch (error) { console.error('❌ News search test failed:', error); throw error; } } async function runAllTests() { console.log('🧪 Starting Brave Search API Tests...\n'); console.log('API Key:', process.env.BRAVE_API_KEY?.substring(0, 10) + '...'); try { await testWebSearch(); await testNewsSearch(); console.log('🎉 All tests completed successfully!\n'); } catch (error) { console.error('\n💥 Tests failed:', error); process.exit(1); } } runAllTests(); //# sourceMappingURL=test-api.js.map