Skip to main content
Glama

Calibre RAG MCP Server

by ispyridis
test-enhanced-server.js2.15 kB
#!/usr/bin/env node // Test the enhanced server directly const EnhancedCalibreRAGServer = require('./server.js'); async function testEnhancedServer() { try { console.log('🔍 Testing Enhanced Calibre RAG Server with OCR...'); const server = new EnhancedCalibreRAGServer(); // Test search first console.log('📚 Testing book search...'); const searchResults = await server.searchBooksMetadata('title:basic', 5); console.log(`Found ${searchResults.length} books`); if (searchResults.length > 0) { const book = searchResults[0]; console.log('\\n📖 First book found:'); console.log('Title:', book.title); console.log('Authors:', book.authors); console.log('ID:', book.id); console.log('Formats:', book.formats); console.log('Has text:', book.has_text); // Test OCR on this book if (!book.has_text && book.formats && book.formats.length > 0) { console.log('\\n🔍 Testing OCR on this book...'); // Create a mock book object for OCR testing const bookForOCR = { id: book.id, title: book.title, authors: book.authors, formats: book.full_formats || book.formats }; const ocrText = await server.processBookWithOCR(bookForOCR); console.log(`OCR result: ${ocrText.length} characters extracted`); if (ocrText.length > 0) { console.log('Sample text:', ocrText.substring(0, 200) + '...'); } else { console.log('⚠️ No text extracted via OCR'); } } } console.log('\\n🎉 Enhanced server test completed!'); } catch (error) { console.error('❌ Enhanced server test failed:', error.message); console.error('Stack:', error.stack); } } testEnhancedServer();

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/ispyridis/calibre-rag-mcp-nodejs'

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