Skip to main content
Glama
test-basic.js‱4.26 kB
#!/usr/bin/env node import { spawn } from 'child_process'; import fs from 'fs'; import { setTimeout } from 'timers/promises'; async function runBasicTest() { console.log('đŸ§Ș Test basique du serveur RAG MCP'); console.log('===================================\n'); // 1. VĂ©rifier la compilation TypeScript console.log('1. VĂ©rification de la compilation TypeScript...'); try { const { execSync } = await import('child_process'); execSync('npm run build', { stdio: 'pipe' }); console.log('✅ Compilation TypeScript rĂ©ussie'); } catch (error) { console.log('❌ Échec de la compilation TypeScript'); console.log(` Erreur: ${error.message}`); process.exit(1); } // 2. VĂ©rifier que les fichiers de build existent console.log('\n2. VĂ©rification des fichiers de build...'); const requiredFiles = [ 'build/index.js', 'build/knowledge-graph/manager.js', 'build/rag/indexer.js', 'build/rag/searcher.js', 'build/tools/graph-tools.js', 'build/tools/rag-tools.js' ]; let allFilesExist = true; for (const file of requiredFiles) { if (fs.existsSync(file)) { console.log(` ✅ ${file}`); } else { console.log(` ❌ ${file} (manquant)`); allFilesExist = false; } } if (!allFilesExist) { console.log('❌ Certains fichiers de build sont manquants'); process.exit(1); } // 3. VĂ©rifier que le serveur peut ĂȘtre dĂ©marrĂ© console.log('\n3. Test de dĂ©marrage du serveur...'); const serverProcess = spawn('node', ['build/index.js'], { stdio: ['pipe', 'pipe', 'pipe'] }); let serverOutput = ''; let serverError = ''; serverProcess.stdout.on('data', (data) => { serverOutput += data.toString(); }); serverProcess.stderr.on('data', (data) => { serverError += data.toString(); }); // Attendre un peu pour que le serveur dĂ©marre await setTimeout(1000); // VĂ©rifier que le serveur a dĂ©marrĂ© let serverStarted = false; if (serverError.includes('RAG MCP Server running on stdio')) { console.log('✅ Serveur dĂ©marrĂ© avec succĂšs'); console.log(` Sortie: ${serverError.trim()}`); serverStarted = true; } else if (serverOutput.includes('RAG MCP Server running on stdio')) { console.log('✅ Serveur dĂ©marrĂ© avec succĂšs'); console.log(` Sortie: ${serverOutput.trim()}`); serverStarted = true; } if (!serverStarted) { console.log('❌ Échec du dĂ©marrage du serveur'); console.log(` Erreur: ${serverError.substring(0, 200)}...`); console.log(` Sortie: ${serverOutput.substring(0, 200)}...`); serverProcess.kill(); process.exit(1); } // 4. Tuer le processus du serveur console.log('\n4. ArrĂȘt du serveur...'); serverProcess.kill(); await setTimeout(500); console.log('✅ Serveur arrĂȘtĂ© proprement'); // 5. VĂ©rifier le nombre d'outils via une analyse simple des fichiers console.log('\n5. VĂ©rification du nombre d\'outils...'); try { // Lire les fichiers pour compter les outils const graphToolsContent = fs.readFileSync('build/tools/graph-tools.js', 'utf8'); const ragToolsContent = fs.readFileSync('build/tools/rag-tools.js', 'utf8'); // Compter les occurrences de "name:" dans les outils const graphToolsCount = (graphToolsContent.match(/name:/g) || []).length; const ragToolsCount = (ragToolsContent.match(/name:/g) || []).length; const totalTools = graphToolsCount + ragToolsCount; console.log(` ✅ Outils graphe: ${graphToolsCount}`); console.log(` ✅ Outils RAG: ${ragToolsCount}`); console.log(` ✅ Total outils: ${totalTools}`); if (totalTools >= 13) { console.log(' ✅ Nombre d\'outils suffisant (au moins 13 attendus)'); } else { console.log(` ⚠ Nombre d\'outils infĂ©rieur Ă  13: ${totalTools}`); } } catch (error) { console.log(` ⚠ Erreur lors de la vĂ©rification des outils: ${error.message}`); } console.log('\n🎉 Tous les tests basiques ont rĂ©ussi !'); console.log('Le serveur RAG MCP est prĂȘt pour l\'utilisation.'); } // ExĂ©cuter les tests runBasicTest().catch(error => { console.error('❌ Erreur lors de l\'exĂ©cution des tests:', error); process.exit(1); });

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/ali-48/rag-mcp-server'

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