UNPKG

@abhishekguptain/mcp-search-server

Version:

Multi Provider Search MCP supporting Google, Tavily, DuckDuckGo, and Brave providers.

40 lines (39 loc) 1.79 kB
export function standardizeGoogleResults(rawResults, providerName) { // Filter out results missing essential fields like snippet, title, or link const filteredResults = rawResults.filter(item => item.title && item.link && typeof item.snippet === 'string' && item.snippet.length > 0); return filteredResults.map((item) => ({ title: item.title, link: item.link, snippet: item.snippet, provider: providerName, })); } export function standardizeTavilyResults(rawResults, providerName) { // Filter out results missing essential fields // Note: Tavily provider already maps raw results to { title, link, content } const filteredResults = rawResults.filter(item => item.title && item.link && typeof item.content === 'string' && item.content.length > 0); return filteredResults.map((item) => ({ title: item.title, link: item.link, snippet: item.content, // Use 'content' as the snippet provider: providerName, })); } export function standardizeDuckDuckGoResults(rawResults, providerName) { const filteredResults = rawResults.filter(item => item.title && item.link && typeof item.snippet === 'string' && item.snippet.length > 0); return filteredResults.map((item) => ({ title: item.title, link: item.link, snippet: item.snippet, provider: providerName, })); } export function standardizeBraveResults(rawResults, providerName) { const filteredResults = rawResults.filter(item => item.title && item.url && typeof item.description === 'string' && item.description.length > 0); return filteredResults.map((item) => ({ title: item.title, link: item.url, snippet: item.description, provider: providerName, })); }