We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/patrickkarle/loda-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
/**
* @file relevance_scorer.js
* @description Score section relevance to query
* @atomic ATOM (controlled computation, no state)
* @component LODA-MCP-COMP-05
*/
/**
* Calculate relevance score for section against query
* @implements LODA-MCP-DT-05 (Query + sections → Relevance scores)
* @param {Object} section - Section object with content
* @param {string} query - Search query
* @returns {number} Score 0-1
*/
function calculateRelevance(section, query) {
if (!query || !section || !section.content) return 0;
const content = section.content.toLowerCase();
const header = (section.header || '').toLowerCase();
const queryTerms = query.toLowerCase().split(/\s+/).filter(t => t.length > 0);
if (queryTerms.length === 0) return 0;
let score = 0;
let matchedTerms = 0;
for (const term of queryTerms) {
if (content.includes(term)) {
matchedTerms++;
// Bonus for header match
if (header.includes(term)) {
score += 0.2;
}
}
}
// Base score from term coverage
score += (matchedTerms / queryTerms.length) * 0.8;
return Math.min(1, score);
}
module.exports = { calculateRelevance };