mcp-omnisearch

by spences10
Verified
MIT License
47
30
  • Linux

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.

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

여러 검색 제공업체와 AI 도구에 대한 통합 액세스를 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 Tavily, Perplexity, Kagi, Jina AI, Brave, Firecrawl의 기능을 결합하여 단일 인터페이스를 통해 포괄적인 검색, AI 응답, 콘텐츠 처리 및 향상 기능을 제공합니다.

특징

🔍 검색 도구

  • Tavily Search : 강력한 인용 지원을 통해 사실 정보에 최적화되어 있습니다. API 매개변수(include_domains/exclude_domains)를 통한 도메인 필터링을 지원합니다.
  • Brave Search : 개인 정보 보호에 중점을 둔 검색 기능으로, 기술적인 콘텐츠 검색에 적합합니다. 검색 연산자(site:, -site:, filetype:, intitle:, inurl:, before:, after:, exact 구문)를 기본적으로 지원합니다.
  • Kagi Search : 광고 영향을 최소화하면서 권위 있는 출처에 초점을 맞춘 고품질 검색 결과를 제공합니다. 쿼리 문자열에서 검색 연산자(site:, -site:, filetype:, intitle:, inurl:, before:, after:, exact 구문)를 지원합니다.

🎯 검색 연산자

MCP Omnisearch는 연산자와 매개변수를 통해 강력한 검색 기능을 제공합니다.

일반 검색 기능

  • 도메인 필터링: 모든 공급업체에서 사용 가능
    • Tavily: API 매개변수(include_domains/exclude_domains)를 통해
    • Brave & Kagi: 사이트: 및 -사이트: 운영자를 통해
  • 파일 유형 필터링: Brave 및 Kagi에서 사용 가능(filetype:)
  • 제목 및 URL 필터링: Brave 및 Kagi에서 사용 가능(intitle:, inurl:)
  • 날짜 필터링: Brave 및 Kagi에서 사용 가능(이전:, 이후:)
  • 정확한 구문 일치: Brave 및 Kagi("구문")에서 사용 가능

사용 예

지엑스피1

공급자 기능

  • Brave Search : 쿼리 문자열에서 전체 네이티브 연산자 지원
  • Kagi Search : 쿼리 문자열에서 완벽한 연산자 지원
  • Tavily Search : API 매개변수를 통한 도메인 필터링

🤖 AI 대응 도구

  • Perplexity AI : GPT-4 Omni 및 Claude 3와 실시간 웹 검색을 결합한 고급 응답 생성
  • Kagi FastGPT : 인용문이 포함된 빠른 AI 생성 답변(일반 응답 시간 900ms)

📄 콘텐츠 처리 도구

  • Jina AI Reader : 이미지 캡션 및 PDF 지원을 통한 깔끔한 콘텐츠 추출
  • Kagi Universal Summarizer : 페이지, 비디오 및 팟캐스트에 대한 콘텐츠 요약
  • Tavily Extract : 구성 가능한 추출 깊이('기본' 또는 '고급')를 사용하여 단일 또는 여러 웹 페이지에서 원시 콘텐츠를 추출합니다. 단어 수 및 추출 통계를 포함한 메타데이터와 함께 통합 콘텐츠 및 개별 URL 콘텐츠를 모두 반환합니다.
  • Firecrawl Scrape : 향상된 서식 옵션을 통해 단일 URL에서 깨끗하고 LLM에 적합한 데이터 추출
  • Firecrawl 크롤링 : 구성 가능한 깊이 제한을 사용하여 웹사이트의 모든 접근 가능한 하위 페이지에 대한 심층 크롤링
  • Firecrawl Map : 포괄적인 사이트 매핑을 위한 웹사이트의 빠른 URL 수집
  • Firecrawl 추출 : 자연어 프롬프트를 사용하여 AI로 구조화된 데이터 추출
  • Firecrawl 작업 : 동적 콘텐츠 추출 전 페이지 상호작용(클릭, 스크롤 등) 지원

🔄 향상 도구

  • Kagi Enrichment API : 전문 인덱스(Teclis, TinyGem)의 보충 콘텐츠
  • 지나 AI 그라운딩 : 웹 지식에 대한 실시간 사실 검증

유연한 API 키 요구 사항

MCP Omnisearch는 사용 가능한 API 키로 작동하도록 설계되었습니다. 모든 제공업체의 API 키를 보유할 필요는 없습니다. 서버가 사용 가능한 API 키를 자동으로 감지하여 해당 제공업체만 활성화합니다.

예를 들어:

  • Tavily 및 Perplexity API 키만 있는 경우 해당 공급자만 사용할 수 있습니다.
  • Kagi API 키가 없으면 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": [] } } }

WSL 구성을 사용한 Claude Desktop

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 서비스(Reader, Grounding)용
  • BRAVE_API_KEY : Brave Search용
  • FIRECRAWL_API_KEY : Firecrawl 서비스(스크레이핑, 크롤, 맵, 추출, 작업)용

API 키를 한두 개로 시작하여 필요에 따라 더 추가할 수 있습니다. 서버는 시작 시 사용 가능한 공급자를 기록합니다.

API

서버는 다음과 같이 범주별로 구성된 MCP 도구를 구현합니다.

검색 도구

검색_타빌리

Tavily Search API를 사용하여 웹을 검색하세요. 신뢰할 수 있는 출처와 인용을 요구하는 사실 기반 검색에 가장 적합합니다.

매개변수:

  • 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 대응 도구

ai_perplexity

실시간 웹 검색 통합을 통한 AI 기반 응답 생성.

매개변수:

  • query (문자열, 필수): AI 응답에 대한 질문 또는 주제

예:

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

ai_kagi_fastgpt

인용문이 포함된 AI가 빠르게 생성하는 답변.

매개변수:

  • query (문자열, 필수): AI의 빠른 응답을 위한 질문

예:

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

콘텐츠 처리 도구

프로세스_지나_리더

URL을 이미지 캡션이 포함된 깔끔하고 LLM 친화적인 텍스트로 변환합니다.

매개변수:

  • url (문자열, 필수): 처리할 URL

예:

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

프로세스_카기_요약기

URL에서 콘텐츠를 요약합니다.

매개변수:

  • url (문자열, 필수): 요약할 URL

예:

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

프로세스_태빌리_추출

Tavily Extract를 사용하여 웹 페이지에서 원시 콘텐츠를 추출합니다.

매개변수:

  • url (문자열 | 문자열[], 필수): 콘텐츠를 추출할 단일 URL 또는 URL 배열
  • extract_depth (문자열, 선택 사항): 추출 깊이 - '기본'(기본값) 또는 '고급'

예:

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

응답에는 다음이 포함됩니다.

  • 모든 URL의 결합된 콘텐츠
  • 각 URL에 대한 개별 원시 콘텐츠
  • 단어 수, 성공적인 추출 및 실패한 URL이 포함된 메타데이터

파이어크롤_스크레이프_프로세스

향상된 서식 옵션을 사용하여 단일 URL에서 정리되고 LLM에 적합한 데이터를 추출합니다.

매개변수:

  • url (문자열 | 문자열[], 필수): 콘텐츠를 추출할 단일 URL 또는 URL 배열
  • extract_depth (문자열, 선택 사항): 추출 깊이 - '기본'(기본값) 또는 '고급'

예:

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

응답에는 다음이 포함됩니다.

  • 깔끔하고 마크다운 형식의 콘텐츠
  • 제목, 단어 수, 추출 통계를 포함한 메타데이터

firecrawl_crawl_process

구성 가능한 깊이 제한을 통해 웹사이트의 모든 접근 가능한 하위 페이지를 심층적으로 크롤링합니다.

매개변수:

  • url (문자열 | 문자열[], 필수): 크롤링을 위한 시작 URL
  • extract_depth (문자열, 선택 사항): 추출 깊이 - '기본'(기본값) 또는 '고급'(크롤링 깊이 및 제한 제어)

예:

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

응답에는 다음이 포함됩니다.

  • 크롤링된 모든 페이지의 결합된 콘텐츠
  • 각 페이지의 개별 콘텐츠
  • 제목, 단어 수, 크롤링 통계를 포함한 메타데이터

파이어크롤__프로세스

포괄적인 사이트 매핑을 위해 웹사이트에서 빠르게 URL을 수집합니다.

매개변수:

  • url (문자열 | 문자열[], 필수): 매핑할 URL
  • extract_depth (문자열, 선택 사항): 추출 깊이 - '기본'(기본값) 또는 '고급'(맵 깊이 제어)

예:

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

응답에는 다음이 포함됩니다.

  • 발견된 모든 URL 목록
  • 사이트 제목 및 URL 수를 포함한 메타데이터

파이어크롤_추출_프로세스

자연어 프롬프트를 사용하여 AI로 구조화된 데이터를 추출합니다.

매개변수:

  • url (문자열 | 문자열[], 필수): 구조화된 데이터를 추출할 URL
  • extract_depth (문자열, 선택 사항): 추출 깊이 - '기본'(기본값) 또는 '고급'

예:

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

응답에는 다음이 포함됩니다.

  • 페이지에서 추출된 구조화된 데이터
  • 제목, 추출 통계를 포함한 메타데이터

파이어크롤_액션_프로세스

동적 콘텐츠를 추출하기 전에 페이지 상호작용(클릭, 스크롤 등)을 지원합니다.

매개변수:

  • url (문자열 | 문자열[], 필수): 상호 작용하고 콘텐츠를 추출할 URL
  • extract_depth (문자열, 선택 사항): 추출 깊이 - '기본'(기본값) 또는 '고급'(상호 작용의 복잡성 제어)

예:

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

응답에는 다음이 포함됩니다.

  • 상호작용 수행 후 추출된 콘텐츠
  • 수행된 작업에 대한 설명
  • 페이지 스크린샷(가능한 경우)
  • 제목 및 추출 통계를 포함한 메타데이터

향상 도구

강화_카기_풍부화

전문 색인에서 보충 내용을 얻으세요.

매개변수:

  • query (문자열, 필수): 강화를 위한 쿼리

예:

{ "query": "emerging web technologies" }

강화_지나_그라운딩

웹 지식에 대한 진술을 검증합니다.

매개변수:

  • 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 접근
  • 카기 : 일부 기능은 비즈니스(팀) 플랜 사용자에게만 제공됩니다.
  • Jina AI : 모든 서비스에 API 키가 필요합니다.
  • Brave : 개발자 포털의 API 키
  • Firecrawl : 개발자 포털의 API 키가 필요합니다.

요금 제한

각 제공자는 자체적인 속도 제한을 갖습니다. 서버는 속도 제한 오류를 정상적으로 처리하고 적절한 오류 메시지를 반환합니다.

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

특허

MIT 라이센스 - 자세한 내용은 LICENSE 파일을 참조하세요.

감사의 말

기반으로 구축됨:

You must be authenticated.

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

🔍 여러 검색 엔진(Tavily, Brave, Kagi), AI 도구(Perplexity, FastGPT), 콘텐츠 처리 서비스(Jina AI, Kagi)에 대한 통합 액세스를 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 단일 인터페이스를 통해 검색, AI 응답, 콘텐츠 처리 및 향상 기능을 결합합니다.

  1. Features
    1. 🔍 Search Tools
    2. 🎯 Search Operators
    3. 🤖 AI Response Tools
    4. 📄 Content Processing Tools
    5. 🔄 Enhancement Tools
  2. Flexible API Key Requirements
    1. Configuration
      1. Cline Configuration
      2. Claude Desktop with WSL Configuration
      3. Environment Variables
    2. API
      1. Search Tools
      2. AI Response Tools
      3. Content Processing Tools
      4. Enhancement Tools
    3. Development
      1. Setup
      2. Publishing
    4. Troubleshooting
      1. API Keys and Access
      2. Rate Limits
    5. Contributing
      1. License
        1. Acknowledgments
          ID: gz5wgmptd8