Skip to main content
Glama
test-new-platforms.ts3.56 kB
/** * Test script for new platform MCP tools * Run with: npx tsx src/test/test-new-platforms.ts */ import { ScienceDirectSearcher } from '../platforms/ScienceDirectSearcher.js'; import { SpringerSearcher } from '../platforms/SpringerSearcher.js'; import { WileySearcher } from '../platforms/WileySearcher.js'; import { ScopusSearcher } from '../platforms/ScopusSearcher.js'; async function testPlatforms() { console.log('🧪 Testing new academic platforms...\n'); // Test ScienceDirect (requires API key) if (process.env.ELSEVIER_API_KEY && process.env.ELSEVIER_API_KEY !== 'your_elsevier_api_key') { console.log('📚 Testing ScienceDirect...'); try { const sdSearcher = new ScienceDirectSearcher(process.env.ELSEVIER_API_KEY); const sdResults = await sdSearcher.search('machine learning', { maxResults: 2 }); console.log(`✅ ScienceDirect: Found ${sdResults.length} papers`); if (sdResults.length > 0) { console.log(` First paper: ${sdResults[0].title}`); } } catch (error: any) { console.log(`❌ ScienceDirect error: ${error.message}`); } } else { console.log('⏭️ Skipping ScienceDirect (no API key)'); } // Test Springer (requires API key) if (process.env.SPRINGER_API_KEY && process.env.SPRINGER_API_KEY !== 'your_springer_api_key') { console.log('\n📚 Testing Springer...'); try { const springerSearcher = new SpringerSearcher(process.env.SPRINGER_API_KEY); const springerResults = await springerSearcher.search('quantum computing', { maxResults: 2 }); console.log(`✅ Springer: Found ${springerResults.length} papers`); if (springerResults.length > 0) { console.log(` First paper: ${springerResults[0].title}`); } } catch (error: any) { console.log(`❌ Springer error: ${error.message}`); } } else { console.log('\n⏭️ Skipping Springer (no API key)'); } // Test Wiley (requires TDM token) if (process.env.WILEY_TDM_TOKEN && process.env.WILEY_TDM_TOKEN !== 'your_wiley_tdm_token') { console.log('\n📚 Testing Wiley...'); try { const wileySearcher = new WileySearcher(process.env.WILEY_TDM_TOKEN); const wileyResults = await wileySearcher.search('climate change', { maxResults: 2 }); console.log(`✅ Wiley: Found ${wileyResults.length} papers`); if (wileyResults.length > 0) { console.log(` First paper: ${wileyResults[0].title}`); } } catch (error: any) { console.log(`❌ Wiley error: ${error.message}`); } } else { console.log('\n⏭️ Skipping Wiley (no TDM token)'); } // Test Scopus (requires Elsevier API key) if (process.env.ELSEVIER_API_KEY && process.env.ELSEVIER_API_KEY !== 'your_elsevier_api_key') { console.log('\n📚 Testing Scopus...'); try { const scopusSearcher = new ScopusSearcher(process.env.ELSEVIER_API_KEY); const scopusResults = await scopusSearcher.search('artificial intelligence', { maxResults: 2 }); console.log(`✅ Scopus: Found ${scopusResults.length} papers`); if (scopusResults.length > 0) { console.log(` First paper: ${scopusResults[0].title}`); } } catch (error: any) { console.log(`❌ Scopus error: ${error.message}`); } } else { console.log('\n⏭️ Skipping Scopus (no API key)'); } console.log('\n✨ Platform test complete!'); console.log('Note: To test platforms with real data, add valid API keys to your .env file'); } // Run tests testPlatforms().catch(console.error);

Latest Blog Posts

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/Dianel555/paper-search-mcp-nodejs'

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