Skip to main content
Glama

mcp-omnisearch

Сервер Model Context Protocol (MCP), который обеспечивает унифицированный доступ к нескольким поисковым провайдерам и инструментам ИИ. Этот сервер объединяет возможности Tavily, Perplexity, Kagi, Jina AI, Brave и Firecrawl для предоставления комплексного поиска, ответов ИИ, обработки контента и функций улучшения через единый интерфейс.

Функции

🔍 Инструменты поиска

  • Tavily Search : Оптимизирован для фактической информации с сильной поддержкой цитирования. Поддерживает фильтрацию доменов через параметры API (include_domains/exclude_domains).

  • Brave Search : Поиск, ориентированный на конфиденциальность, с хорошим покрытием технического контента. Имеет встроенную поддержку операторов поиска (site:, -site:, filetype:, intitle:, inurl:, before:, after: и точные фразы).

  • Kagi Search : Высококачественные результаты поиска с минимальным влиянием рекламы, ориентированные на авторитетные источники. Поддерживает операторы поиска в строке запроса (site:, -site:, filetype:, intitle:, inurl:, before:, after: и точные фразы).

🎯 Поисковые операторы

MCP Omnisearch предоставляет мощные возможности поиска с помощью операторов и параметров:

Общие функции поиска

  • Фильтрация доменов: доступна для всех провайдеров

    • Tavily: Через параметры API (include_domains/exclude_domains)

    • Brave & Kagi: Через операторы site: и -site:

  • Фильтрация по типу файла: доступно в Brave и Kagi (filetype:)

  • Фильтрация по заголовкам и URL-адресам: доступно в Brave и Kagi (intitle:, inurl:)

  • Фильтрация по дате: доступно в Brave и Kagi (до:, после:)

  • Точное совпадение фразы: доступно в Brave и Kagi («фраза»)

Пример использования

// 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"] }

Возможности провайдера

  • Brave Search : Полная поддержка собственных операторов в строке запроса

  • Поиск Kagi : полная поддержка операторов в строке запроса

  • Tavily Search : Фильтрация доменов через параметры API

🤖 Инструменты реагирования ИИ

  • Perplexity AI : расширенная генерация ответов, объединяющая веб-поиск в реальном времени с GPT-4 Omni и Claude 3

  • Kagi FastGPT : быстрые ответы с цитатами, сгенерированные искусственным интеллектом (типичное время ответа 900 мс)

📄 Инструменты обработки контента

  • Jina AI Reader : чистое извлечение контента с поддержкой субтитров изображений и PDF

  • Kagi Universal Summarizer : резюмирование контента для страниц, видео и подкастов

  • Tavily Extract : извлечение необработанного контента из одной или нескольких веб-страниц с настраиваемой глубиной извлечения («базовый» или «расширенный»). Возвращает как объединенный контент, так и индивидуальный контент URL с метаданными, включая количество слов и статистику извлечения.

  • Firecrawl Scrape : извлечение чистых данных, готовых к LLM, из отдельных URL-адресов с расширенными возможностями форматирования.

  • Firecrawl Crawl : глубокое сканирование всех доступных подстраниц веб-сайта с настраиваемыми ограничениями глубины.

  • Firecrawl Map : быстрый сбор URL-адресов с веб-сайтов для комплексного картографирования сайтов

  • Извлечение Firecrawl : структурированное извлечение данных с помощью ИИ с использованием подсказок на естественном языке

  • Действия Firecrawl : поддержка взаимодействия со страницей (щелчки, прокрутка и т. д.) перед извлечением динамического контента.

🔄 Инструменты улучшения

  • API обогащения Kagi : дополнительный контент из специализированных индексов (Teclis, TinyGem)

  • Jina AI Grounding : проверка фактов в режиме реального времени на основе веб-знаний

Related MCP server: MCP2Tavily

Гибкие требования к ключу API

MCP Omnisearch разработан для работы с доступными вам ключами API. Вам не нужны ключи для всех поставщиков — сервер автоматически определит, какие ключи API доступны, и включит только этих поставщиков.

Например:

  • Если у вас есть только ключ API Tavily и Perplexity, будут доступны только эти поставщики.

  • Если у вас нет ключа API Kagi, сервисы на базе Kagi будут недоступны, но все остальные поставщики будут работать в обычном режиме.

  • Сервер будет регистрировать, какие поставщики доступны, на основе настроенных вами ключей API.

Такая гибкость позволяет легко начать работу с одним или двумя поставщиками и добавлять новых по мере необходимости.

Конфигурация

Этот сервер требует настройки через ваш клиент MCP. Вот примеры для разных сред:

Конфигурация Клайна

Добавьте это в настройки Cline MCP:

{ "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 с конфигурацией WSL

Для сред WSL добавьте это в конфигурацию Claude Desktop:

{ "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" ] } } }

Переменные среды

Сервер использует ключи API для каждого провайдера. Вам не нужны ключи для всех провайдеров - будут активированы только провайдеры, соответствующие вашим доступным ключам API:

  • TAVILY_API_KEY : Для поиска Tavily

  • PERPLEXITY_API_KEY : Для Perplexity AI

  • KAGI_API_KEY : Для служб Kagi (FastGPT, Summarizer, Enrichment)

  • JINA_AI_API_KEY : Для служб Jina AI (считыватель, заземление)

  • BRAVE_API_KEY : Для смелого поиска

  • FIRECRAWL_API_KEY : Для служб Firecrawl (сбор данных, сканирование, сопоставление, извлечение, действия)

Вы можете начать с одного или двух ключей API и добавить больше позже по мере необходимости. Сервер будет регистрировать, какие поставщики доступны при запуске.

API

На сервере реализованы инструменты MCP, организованные по категориям:

Инструменты поиска

поиск_тавили

Поиск в Интернете с помощью API поиска Tavily. Лучше всего подходит для фактических запросов, требующих надежных источников и цитат.

Параметры:

  • query (строка, обязательно): Поисковый запрос

Пример:

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

поиск_храбрый

Веб-поиск, ориентированный на конфиденциальность и хорошо освещающий технические темы.

Параметры:

  • query (строка, обязательно): Поисковый запрос

Пример:

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

поиск_каги

Высококачественные результаты поиска с минимальным влиянием рекламы. Лучше всего подходит для поиска авторитетных источников и исследовательских материалов.

Параметры:

  • query (строка, обязательно): Поисковый запрос

  • language (строка, необязательно): Фильтр языка (например, «en»)

  • no_cache (логическое значение, необязательно): Обход кэша для получения свежих результатов

Пример:

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

Инструменты реагирования ИИ

ai_perplexity

Генерация ответов на основе искусственного интеллекта с интеграцией веб-поиска в режиме реального времени.

Параметры:

  • query (строка, обязательно): Вопрос или тема для ответа ИИ

Пример:

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

ai_kagi_fastgpt

Быстрые ответы с цитатами, сгенерированные искусственным интеллектом.

Параметры:

  • query (строка, обязательно): Вопрос для быстрого ответа ИИ

Пример:

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

Инструменты обработки контента

процесс_jina_reader

Преобразуйте URL-адреса в понятный, понятный LLM текст с подписями к изображениям.

Параметры:

  • url (строка, обязательно): URL для обработки

Пример:

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

процесс_каги_сумматор

Обобщение содержимого URL-адресов.

Параметры:

  • url (строка, обязательно): URL для подведения итогов

Пример:

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

процесс_tavily_extract

Извлекайте необработанный контент с веб-страниц с помощью Tavily Extract.

Параметры:

  • url (string | string[], обязательно): отдельный URL или массив URL для извлечения контента

  • extract_depth (строка, необязательно): Глубина извлечения — «базовая» (по умолчанию) или «расширенная»

Пример:

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

Ответ включает в себя:

  • Объединенный контент со всех URL-адресов

  • Индивидуальный необработанный контент для каждого URL

  • Метаданные с количеством слов, успешными извлечениями и любыми неудачными URL-адресами

процесс_очистки_огня

Извлекайте чистые данные, готовые к использованию в LLM, из отдельных URL-адресов с помощью расширенной возможности форматирования.

Параметры:

  • url (string | string[], обязательно): отдельный URL или массив URL для извлечения контента

  • extract_depth (строка, необязательно): Глубина извлечения — «базовая» (по умолчанию) или «расширенная»

Пример:

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

Ответ включает в себя:

  • Чистый, отформатированный в формате markdown контент

  • Метаданные, включая заголовок, количество слов и статистику извлечения

firecrawl_crawl_process

Глубокое сканирование всех доступных подстраниц веб-сайта с настраиваемыми ограничениями глубины.

Параметры:

  • url (string | string[], обязательно): Начальный URL для сканирования

  • extract_depth (строка, необязательно): Глубина извлечения — «базовая» (по умолчанию) или «расширенная» (управляет глубиной сканирования и ограничениями)

Пример:

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

Ответ включает в себя:

  • Объединенный контент со всех просканированных страниц

  • Индивидуальный контент для каждой страницы

  • Метаданные, включая заголовок, количество слов и статистику сканирования

процесс_обработки_карты_firecrawl

Быстрый сбор URL-адресов с веб-сайтов для комплексного картирования сайтов.

Параметры:

  • url (string | string[], обязательно): URL для сопоставления

  • extract_depth (строка, необязательно): Глубина извлечения — «базовая» (по умолчанию) или «расширенная» (управляет глубиной карты)

Пример:

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

Ответ включает в себя:

  • Список всех обнаруженных URL-адресов

  • Метаданные, включая название сайта и количество URL-адресов

firecrawl_extract_process

Извлечение структурированных данных с помощью ИИ с использованием подсказок на естественном языке.

Параметры:

  • url (string | string[], обязательно): URL для извлечения структурированных данных из

  • extract_depth (строка, необязательно): Глубина извлечения — «базовая» (по умолчанию) или «расширенная»

Пример:

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

Ответ включает в себя:

  • Структурированные данные, извлеченные со страницы

  • Метаданные, включая название, статистику извлечения

firecrawl_actions_process

Поддержка взаимодействия со страницей (щелчки, прокрутка и т. д.) перед извлечением динамического контента.

Параметры:

  • url (string | string[], обязательно): URL для взаимодействия и извлечения контента из

  • extract_depth (строка, необязательно): Глубина извлечения — «базовая» (по умолчанию) или «расширенная» (контролирует сложность взаимодействий)

Пример:

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

Ответ включает в себя:

  • Контент, извлеченный после выполнения взаимодействий

  • Описание выполненных действий

  • Скриншот страницы (если имеется)

  • Метаданные, включая название и статистику извлечения

Инструменты улучшения

enhance_kagi_enrichment

Получите дополнительный контент из специализированных индексов.

Параметры:

  • query (строка, обязательно): Запрос на обогащение

Пример:

{ "query": "emerging web technologies" }

enhance_jina_grounding

Сверяйте утверждения с информацией из Интернета.

Параметры:

  • statement (строка, обязательно): заявление для проверки

Пример:

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

Разработка

Настраивать

  1. Клонировать репозиторий

  2. Установите зависимости:

pnpm install
  1. Создайте проект:

pnpm run build
  1. Запустить в режиме разработки:

pnpm run dev

Издательский

  1. Обновить версию в package.json

  2. Создайте проект:

pnpm run build
  1. Опубликовать в npm:

pnpm publish

Поиск неисправностей

API-ключи и доступ

Каждому провайдеру требуется собственный ключ API и могут быть установлены различные требования к доступу:

  • Tavily : Требуется ключ API с портала разработчика

  • Perplexity : доступ к API через программу разработчика

  • Kagi : некоторые функции доступны только пользователям тарифного плана Business (Team)

  • Jina AI : для всех сервисов требуется ключ API

  • Brave : API-ключ с портала разработчиков

  • Firecrawl : требуется ключ API от портала разработчика

Ограничения по скорости

У каждого провайдера свои собственные ограничения скорости. Сервер будет корректно обрабатывать ошибки ограничения скорости и возвращать соответствующие сообщения об ошибках.

Внося вклад

Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.

Лицензия

Лицензия MIT — подробности см. в файле LICENSE .

Благодарности

Построено на:

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/spences10/mcp-omnisearch'

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