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 그라운딩 : 웹 지식에 대한 실시간 사실 검증
Related MCP server: MCP2Tavily
유연한 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(문자열 | 문자열[], 필수): 크롤링을 위한 시작 URLextract_depth(문자열, 선택 사항): 추출 깊이 - '기본'(기본값) 또는 '고급'(크롤링 깊이 및 제한 제어)
예:
{
"url": "https://example.com",
"extract_depth": "advanced"
}응답에는 다음이 포함됩니다.
크롤링된 모든 페이지의 결합된 콘텐츠
각 페이지의 개별 콘텐츠
제목, 단어 수, 크롤링 통계를 포함한 메타데이터
파이어크롤_맵_프로세스
포괄적인 사이트 매핑을 위해 웹사이트에서 빠르게 URL을 수집합니다.
매개변수:
url(문자열 | 문자열[], 필수): 매핑할 URLextract_depth(문자열, 선택 사항): 추출 깊이 - '기본'(기본값) 또는 '고급'(맵 깊이 제어)
예:
{
"url": "https://example.com",
"extract_depth": "basic"
}응답에는 다음이 포함됩니다.
발견된 모든 URL 목록
사이트 제목 및 URL 수를 포함한 메타데이터
파이어크롤_추출_프로세스
자연어 프롬프트를 사용하여 AI로 구조화된 데이터를 추출합니다.
매개변수:
url(문자열 | 문자열[], 필수): 구조화된 데이터를 추출할 URLextract_depth(문자열, 선택 사항): 추출 깊이 - '기본'(기본값) 또는 '고급'
예:
{
"url": "https://example.com",
"extract_depth": "basic"
}응답에는 다음이 포함됩니다.
페이지에서 추출된 구조화된 데이터
제목, 추출 통계를 포함한 메타데이터
파이어크롤_액션_프로세스
동적 콘텐츠를 추출하기 전에 페이지 상호작용(클릭, 스크롤 등)을 지원합니다.
매개변수:
url(문자열 | 문자열[], 필수): 상호 작용하고 콘텐츠를 추출할 URLextract_depth(문자열, 선택 사항): 추출 깊이 - '기본'(기본값) 또는 '고급'(상호 작용의 복잡성 제어)
예:
{
"url": "https://news.ycombinator.com",
"extract_depth": "basic"
}응답에는 다음이 포함됩니다.
상호작용 수행 후 추출된 콘텐츠
수행된 작업에 대한 설명
페이지 스크린샷(가능한 경우)
제목 및 추출 통계를 포함한 메타데이터
향상 도구
강화_카기_풍부화
전문 색인에서 보충 내용을 얻으세요.
매개변수:
query(문자열, 필수): 강화를 위한 쿼리
예:
{
"query": "emerging web technologies"
}강화_지나_그라운딩
웹 지식에 대한 진술을 검증합니다.
매개변수:
statement(문자열, 필수): 검증할 문장
예:
{
"statement": "TypeScript adds static typing to JavaScript"
}개발
설정
저장소를 복제합니다
종속성 설치:
pnpm install프로젝트를 빌드하세요:
pnpm run build개발 모드에서 실행:
pnpm run dev출판
package.json의 버전 업데이트
프로젝트를 빌드하세요:
pnpm run buildnpm에 게시:
pnpm publish문제 해결
API 키 및 액세스
각 공급자는 자체 API 키가 필요하며 액세스 요구 사항이 다를 수 있습니다.
Tavily : 개발자 포털의 API 키가 필요합니다.
Perplexity : 개발자 프로그램을 통한 API 접근
카기 : 일부 기능은 비즈니스(팀) 플랜 사용자에게만 제공됩니다.
Jina AI : 모든 서비스에 API 키가 필요합니다.
Brave : 개발자 포털의 API 키
Firecrawl : 개발자 포털의 API 키가 필요합니다.
요금 제한
각 제공자는 자체적인 속도 제한을 갖습니다. 서버는 속도 제한 오류를 정상적으로 처리하고 적절한 오류 메시지를 반환합니다.
기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
특허
MIT 라이센스 - 자세한 내용은 LICENSE 파일을 참조하세요.
감사의 말
기반으로 구축됨:
Maintenance
Tools
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
