#!/usr/bin/env npx tsx import { MCPRegistryService } from '../src/main/services/mcp-registry-service'; /** * Test that the registry service correctly handles GitHub URLs from PulseMCP */ async function testGitHubURLHandling() { console.log('🔍 Testing GitHub URL Handling from PulseMCP\n'); const registryService = MCPRegistryService.getInstance(); console.log('📌 Searching for Reddit servers...'); const searchResults = await registryService.searchServers({ query: 'Reddit' }); console.log(`Found ${searchResults.servers.length} Reddit servers:\n`); searchResults.servers.forEach((server, index) => { console.log(`${index + 1}. ${server.name}`); console.log(` Package Name: ${server.packageName || 'None'}`); console.log(` Repository: ${server.repository?.url || 'None'}`); console.log(` Installable: ${registryService.isServerInstallable(server)}`); if (registryService.isServerInstallable(server)) { const config = registryService.convertToMCPConfig(server); console.log(` Installation: ${config.config?.command} ${config.config?.args?.join(' ')}`); } console.log(''); }); const hasGitHubServers = searchResults.servers.some(s => s.repository?.url?.includes('github.com') ); const hasNpmServers = searchResults.servers.some(s => s.packageName); console.log('📊 Summary:'); console.log(` Servers with GitHub URLs: ${hasGitHubServers ? '✅' : '❌'}`); console.log(` Servers with NPM packages: ${hasNpmServers ? '✅' : '❌'}`); console.log(` All installable: ${searchResults.servers.every(s => registryService.isServerInstallable(s)) ? '✅' : '❌'}`); } testGitHubURLHandling().catch(console.error);