mcp-omnisearch

MIT License
82
59
  • Linux

Integrations

  • Provides privacy-focused web search capabilities through the Brave Search API, with good coverage of technical topics

  • Offers high-quality search results with minimal advertising influence, as well as FastGPT for quick AI-generated answers, Universal Summarizer for content summarization, and Enrichment API for supplementary content from specialized indexes

  • Provides AI-powered response generation with real-time web search integration, combining web search with GPT-4 Omni and Claude 3

mcp-omnisearch

Ein Model Context Protocol (MCP)-Server, der einheitlichen Zugriff auf mehrere Suchanbieter und KI-Tools bietet. Dieser Server kombiniert die Funktionen von Tavily, Perplexity, Kagi, Jina AI, Brave und Firecrawl und bietet umfassende Such-, KI-Antwort-, Inhaltsverarbeitungs- und Erweiterungsfunktionen über eine einzige Schnittstelle.

Merkmale

🔍 Suchwerkzeuge

  • Tavily Search : Optimiert für sachliche Informationen mit starker Zitationsunterstützung. Unterstützt Domänenfilterung über API-Parameter (include_domains/exclude_domains).
  • Brave Search : Datenschutzorientierte Suche mit guter technischer Inhaltsabdeckung. Bietet native Unterstützung für Suchoperatoren (site:, -site:, filetype:, intitle:, inurl:, before:, after: und exakte Ausdrücke).
  • Kagi Search : Hochwertige Suchergebnisse mit minimalem Werbeeinfluss, konzentriert auf maßgebliche Quellen. Unterstützt Suchoperatoren in Abfragezeichenfolgen (site:, -site:, filetype:, intitle:, inurl:, before:, after: und exakte Ausdrücke).

🎯 Suchoperatoren

MCP Omnisearch bietet leistungsstarke Suchfunktionen über Operatoren und Parameter:

Allgemeine Suchfunktionen
  • Domänenfilterung: Anbieterübergreifend verfügbar
    • Tavily: Über API-Parameter (include_domains/exclude_domains)
    • Brave & Kagi: Durch site: und -site: Operatoren
  • Dateitypfilterung: Verfügbar in Brave und Kagi (Dateityp:)
  • Titel- und URL-Filterung: Verfügbar in Brave und Kagi (intitle:, inurl:)
  • Datumsfilterung: Verfügbar in Brave und Kagi (vorher:, nachher:)
  • Genaue Phrasenübereinstimmung: Verfügbar in Brave und Kagi ("Phrase")
Beispielverwendung
// Using Brave or Kagi with query string operators { "query": "filetype:pdf site:microsoft.com typescript guide" } // Using Tavily with API parameters { "query": "typescript guide", "include_domains": ["microsoft.com"], "exclude_domains": ["github.com"] }
Anbieterfunktionen
  • Brave Search : Vollständige native Operatorunterstützung in der Abfragezeichenfolge
  • Kagi Search : Vollständige Operatorunterstützung in der Abfragezeichenfolge
  • Tavily Search : Domänenfilterung durch API-Parameter

🤖 KI-Reaktionstools

  • Perplexity AI : Erweiterte Antwortgenerierung durch Kombination der Echtzeit-Websuche mit GPT-4 Omni und Claude 3
  • Kagi FastGPT : Schnelle, KI-generierte Antworten mit Zitaten (typische Antwortzeit 900 ms)

📄 Tools zur Inhaltsverarbeitung

  • Jina AI Reader : Saubere Inhaltsextraktion mit Bildunterschriften und PDF-Unterstützung
  • Kagi Universal Summarizer : Inhaltszusammenfassung für Seiten, Videos und Podcasts
  • Tavily Extract : Extrahieren Sie Rohinhalte von einzelnen oder mehreren Webseiten mit konfigurierbarer Extraktionstiefe (einfach oder erweitert). Gibt sowohl kombinierte Inhalte als auch einzelne URL-Inhalte zurück, mit Metadaten wie Wortanzahl und Extraktionsstatistiken.
  • Firecrawl Scrape : Extrahieren Sie saubere, LLM-fähige Daten aus einzelnen URLs mit erweiterten Formatierungsoptionen
  • Firecrawl Crawl : Deep Crawling aller erreichbaren Unterseiten einer Website mit konfigurierbaren Tiefenlimits
  • Firecrawl Map : Schnelle URL-Sammlung von Websites für umfassendes Site-Mapping
  • Firecrawl Extract : Strukturierte Datenextraktion mit KI unter Verwendung natürlicher Sprachanweisungen
  • Firecrawl-Aktionen : Unterstützung für Seiteninteraktionen (Klicken, Scrollen usw.) vor der Extraktion dynamischer Inhalte

🔄 Verbesserungstools

  • Kagi Enrichment API : Ergänzende Inhalte aus spezialisierten Indizes (Teclis, TinyGem)
  • Jina AI Grounding : Echtzeit-Faktenüberprüfung anhand von Webdaten

Flexible API-Schlüsselanforderungen

MCP Omnisearch ist für die Verwendung mit den verfügbaren API-Schlüsseln konzipiert. Sie benötigen nicht für alle Anbieter Schlüssel – der Server erkennt automatisch, welche API-Schlüssel verfügbar sind und aktiviert nur diese Anbieter.

Zum Beispiel:

  • Wenn Sie nur einen Tavily- und Perplexity-API-Schlüssel haben, sind nur diese Anbieter verfügbar
  • Wenn Sie keinen Kagi-API-Schlüssel haben, sind Kagi-basierte Dienste nicht verfügbar, aber alle anderen Anbieter funktionieren normal
  • Der Server protokolliert, welche Anbieter basierend auf den von Ihnen konfigurierten API-Schlüsseln verfügbar sind

Diese Flexibilität macht es einfach, mit nur einem oder zwei Anbietern zu beginnen und bei Bedarf weitere hinzuzufügen.

Konfiguration

Dieser Server muss über Ihren MCP-Client konfiguriert werden. Hier sind Beispiele für verschiedene Umgebungen:

Cline-Konfiguration

Fügen Sie dies zu Ihren Cline MCP-Einstellungen hinzu:

{ "mcpServers": { "mcp-omnisearch": { "command": "node", "args": ["/path/to/mcp-omnisearch/dist/index.js"], "env": { "TAVILY_API_KEY": "your-tavily-key", "PERPLEXITY_API_KEY": "your-perplexity-key", "KAGI_API_KEY": "your-kagi-key", "JINA_AI_API_KEY": "your-jina-key", "BRAVE_API_KEY": "your-brave-key", "FIRECRAWL_API_KEY": "your-firecrawl-key" }, "disabled": false, "autoApprove": [] } } }

Claude Desktop mit WSL-Konfiguration

Fügen Sie für WSL-Umgebungen Folgendes zu Ihrer Claude Desktop-Konfiguration hinzu:

{ "mcpServers": { "mcp-omnisearch": { "command": "wsl.exe", "args": [ "bash", "-c", "TAVILY_API_KEY=key1 PERPLEXITY_API_KEY=key2 KAGI_API_KEY=key3 JINA_AI_API_KEY=key4 BRAVE_API_KEY=key5 FIRECRAWL_API_KEY=key6 node /path/to/mcp-omnisearch/dist/index.js" ] } } }

Umgebungsvariablen

Der Server verwendet API-Schlüssel für jeden Anbieter. Sie benötigen nicht für alle Anbieter Schlüssel – es werden nur die Anbieter aktiviert, die Ihren verfügbaren API-Schlüsseln entsprechen:

  • TAVILY_API_KEY : Für die Tavily-Suche
  • PERPLEXITY_API_KEY : Für Perplexity AI
  • KAGI_API_KEY : Für Kagi-Dienste (FastGPT, Summarizer, Enrichment)
  • JINA_AI_API_KEY : Für Jina AI-Dienste (Reader, Grounding)
  • BRAVE_API_KEY : Für Brave Search
  • FIRECRAWL_API_KEY : Für Firecrawl-Dienste (Scrape, Crawl, Map, Extract, Actions)

Sie können mit nur einem oder zwei API-Schlüsseln beginnen und später bei Bedarf weitere hinzufügen. Der Server protokolliert beim Start, welche Anbieter verfügbar sind.

API

Der Server implementiert nach Kategorien organisierte MCP-Tools:

Suchwerkzeuge

search_tavily

Durchsuchen Sie das Internet mit der Tavily Search API. Am besten geeignet für sachliche Abfragen, die zuverlässige Quellen und Zitate erfordern.

Parameter:

  • query (Zeichenfolge, erforderlich): Suchanfrage

Beispiel:

{ "query": "latest developments in quantum computing" }
search_brave

Datenschutzorientierte Websuche mit guter Abdeckung technischer Themen.

Parameter:

  • query (Zeichenfolge, erforderlich): Suchanfrage

Beispiel:

{ "query": "rust programming language features" }
search_kagi

Hochwertige Suchergebnisse mit minimalem Werbeeinfluss. Ideal für die Suche nach maßgeblichen Quellen und Forschungsmaterialien.

Parameter:

  • query (Zeichenfolge, erforderlich): Suchanfrage
  • language (Zeichenfolge, optional): Sprachfilter (z. B. „en“)
  • no_cache (boolesch, optional): Cache umgehen für aktuelle Ergebnisse

Beispiel:

{ "query": "latest research in machine learning", "language": "en" }

KI-Reaktionstools

ai_perplexity

KI-gestützte Antwortgenerierung mit Echtzeit-Websuchintegration.

Parameter:

  • query (Zeichenfolge, erforderlich): Frage oder Thema für die KI-Antwort

Beispiel:

{ "query": "Explain the differences between REST and GraphQL" }
ai_kagi_fastgpt

Schnelle, KI-generierte Antworten mit Zitaten.

Parameter:

  • query (Zeichenfolge, erforderlich): Frage für eine schnelle KI-Antwort

Beispiel:

{ "query": "What are the main features of TypeScript?" }

Tools zur Inhaltsverarbeitung

process_jina_reader

Konvertieren Sie URLs in sauberen, LLM-freundlichen Text mit Bildunterschriften.

Parameter:

  • url (Zeichenfolge, erforderlich): Zu verarbeitende URL

Beispiel:

{ "url": "https://example.com/article" }
process_kagi_summarizer

Inhalte aus URLs zusammenfassen.

Parameter:

  • url (Zeichenfolge, erforderlich): URL zur Zusammenfassung

Beispiel:

{ "url": "https://example.com/long-article" }
process_tavily_extract

Extrahieren Sie mit Tavily Extract Rohinhalte aus Webseiten.

Parameter:

  • url (Zeichenfolge | Zeichenfolge[], erforderlich): Einzelne URL oder Array von URLs, aus denen Inhalte extrahiert werden sollen
  • extract_depth (Zeichenfolge, optional): Extraktionstiefe – „basic“ (Standard) oder „advanced“

Beispiel:

{ "url": [ "https://example.com/article1", "https://example.com/article2" ], "extract_depth": "advanced" }

Die Antwort umfasst:

  • Kombinierter Inhalt aller URLs
  • Individueller Rohinhalt für jede URL
  • Metadaten mit Wortanzahl, erfolgreichen Extraktionen und allen fehlgeschlagenen URLs
Firecrawl_Scrape_Prozess

Extrahieren Sie saubere, LLM-fähige Daten aus einzelnen URLs mit erweiterten Formatierungsoptionen.

Parameter:

  • url (Zeichenfolge | Zeichenfolge[], erforderlich): Einzelne URL oder Array von URLs, aus denen Inhalte extrahiert werden sollen
  • extract_depth (Zeichenfolge, optional): Extraktionstiefe – „basic“ (Standard) oder „advanced“

Beispiel:

{ "url": "https://example.com/article", "extract_depth": "basic" }

Die Antwort umfasst:

  • Sauberer, Markdown-formatierter Inhalt
  • Metadaten, einschließlich Titel, Wortanzahl und Extraktionsstatistiken
firecrawl_crawl_prozess

Deep Crawling aller erreichbaren Unterseiten einer Website mit konfigurierbaren Tiefenlimits.

Parameter:

  • url (string | string[], erforderlich): Start-URL für das Crawlen
  • extract_depth (Zeichenfolge, optional): Extraktionstiefe – „basic“ (Standard) oder „advanced“ (steuert Crawl-Tiefe und -Grenzen)

Beispiel:

{ "url": "https://example.com", "extract_depth": "advanced" }

Die Antwort umfasst:

  • Kombinierter Inhalt aller gecrawlten Seiten
  • Individueller Inhalt für jede Seite
  • Metadaten, einschließlich Titel, Wortanzahl und Crawl-Statistiken
Firecrawl_Map-Prozess

Schnelle URL-Sammlung von Websites für umfassendes Site-Mapping.

Parameter:

  • url (Zeichenfolge | Zeichenfolge[], erforderlich): URL zur Karte
  • extract_depth (Zeichenfolge, optional): Extraktionstiefe – „basic“ (Standard) oder „advanced“ (steuert die Kartentiefe)

Beispiel:

{ "url": "https://example.com", "extract_depth": "basic" }

Die Antwort umfasst:

  • Liste aller gefundenen URLs
  • Metadaten, einschließlich Site-Titel und URL-Anzahl
Firecrawl_Extract-Prozess

Strukturierte Datenextraktion mit KI unter Verwendung natürlicher Sprachanweisungen.

Parameter:

  • url (Zeichenfolge | Zeichenfolge[], erforderlich): URL zum Extrahieren strukturierter Daten
  • extract_depth (Zeichenfolge, optional): Extraktionstiefe – „basic“ (Standard) oder „advanced“

Beispiel:

{ "url": "https://example.com", "extract_depth": "basic" }

Die Antwort umfasst:

  • Strukturierte Daten, die aus der Seite extrahiert wurden
  • Metadaten einschließlich Titel, Extraktionsstatistiken
Firecrawl_Aktionsprozess

Unterstützung für Seiteninteraktionen (Klicken, Scrollen usw.) vor der Extraktion dynamischer Inhalte.

Parameter:

  • url (Zeichenfolge | Zeichenfolge[], erforderlich): URL zur Interaktion und zum Extrahieren von Inhalten
  • extract_depth (Zeichenfolge, optional): Extraktionstiefe – „basic“ (Standard) oder „advanced“ (steuert die Komplexität der Interaktionen)

Beispiel:

{ "url": "https://news.ycombinator.com", "extract_depth": "basic" }

Die Antwort umfasst:

  • Nach der Durchführung von Interaktionen extrahierter Inhalt
  • Beschreibung der durchgeführten Aktionen
  • Screenshot der Seite (falls verfügbar)
  • Metadaten einschließlich Titel und Extraktionsstatistiken

Verbesserungstools

Kagi-Anreicherung verbessern

Erhalten Sie ergänzende Inhalte aus spezialisierten Indizes.

Parameter:

  • query (Zeichenfolge, erforderlich): Abfrage zur Anreicherung

Beispiel:

{ "query": "emerging web technologies" }
verbessern_jina_grounding

Überprüfen Sie die Aussagen anhand von Web-Wissen.

Parameter:

  • statement (Zeichenfolge, erforderlich): Zu überprüfende Anweisung

Beispiel:

{ "statement": "TypeScript adds static typing to JavaScript" }

Entwicklung

Aufstellen

  1. Klonen Sie das Repository
  2. Installieren Sie Abhängigkeiten:
pnpm install
  1. Erstellen Sie das Projekt:
pnpm run build
  1. Im Entwicklungsmodus ausführen:
pnpm run dev

Veröffentlichen

  1. Version in package.json aktualisieren
  2. Erstellen Sie das Projekt:
pnpm run build
  1. Auf npm veröffentlichen:
pnpm publish

Fehlerbehebung

API-Schlüssel und Zugriff

Jeder Anbieter benötigt einen eigenen API-Schlüssel und kann unterschiedliche Zugriffsvoraussetzungen haben:

  • Tavily : Erfordert einen API-Schlüssel von ihrem Entwicklerportal
  • Perplexity : API-Zugriff über ihr Entwicklerprogramm
  • Kagi : Einige Funktionen sind auf Benutzer des Business-Plans (Team) beschränkt
  • Jina AI : API-Schlüssel für alle Dienste erforderlich
  • Brave : API-Schlüssel von ihrem Entwicklerportal
  • Firecrawl : API-Schlüssel von ihrem Entwicklerportal erforderlich

Ratenbegrenzungen

Jeder Anbieter hat seine eigenen Ratenbegrenzungen. Der Server verarbeitet Fehler bei der Ratenbegrenzung ordnungsgemäß und gibt entsprechende Fehlermeldungen zurück.

Beitragen

Beiträge sind willkommen! Senden Sie gerne einen Pull Request.

Lizenz

MIT-Lizenz – Einzelheiten finden Sie in der Datei LICENSE .

Danksagung

Aufbauend auf:

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

🔍 Ein Model Context Protocol (MCP)-Server bietet einheitlichen Zugriff auf mehrere Suchmaschinen (Tavily, Brave, Kagi), KI-Tools (Perplexity, FastGPT) und Content-Verarbeitungsdienste (Jina AI, Kagi). Kombiniert Suche, KI-Antworten, Content-Verarbeitung und Verbesserungsfunktionen über eine einzige Schnittstelle.

  1. Merkmale
    1. 🔍 Suchwerkzeuge
    2. 🎯 Suchoperatoren
    3. 🤖 KI-Reaktionstools
    4. 📄 Tools zur Inhaltsverarbeitung
    5. 🔄 Verbesserungstools
  2. Flexible API-Schlüsselanforderungen
    1. Konfiguration
      1. Cline-Konfiguration
      2. Claude Desktop mit WSL-Konfiguration
      3. Umgebungsvariablen
    2. API
      1. Suchwerkzeuge
      2. KI-Reaktionstools
      3. Tools zur Inhaltsverarbeitung
      4. Verbesserungstools
    3. Entwicklung
      1. Aufstellen
      2. Veröffentlichen
    4. Fehlerbehebung
      1. API-Schlüssel und Zugriff
      2. Ratenbegrenzungen
    5. Beitragen
      1. Lizenz
        1. Danksagung

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
            Last updated -
            1
            1,832
            1,497
            TypeScript
            MIT License
            • Apple
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.
            Last updated -
            2
            26
            Python
            MIT License
            • Apple
          • A
            security
            F
            license
            A
            quality
            An MCP (Model Context Protocol) server that provides Google search capabilities and webpage content analysis tools. This server enables AI models to perform Google searches and analyze webpage content programmatically.
            Last updated -
            3
            46
            41
            TypeScript
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol (MCP) server that enables Claude or other LLMs to fetch content from URLs, supporting HTML, JSON, text, and images with configurable request parameters.
            Last updated -
            Python
            MIT License

          View all related MCP servers

          ID: gz5wgmptd8