nickclyde/duckduckgo-mcp-server
A Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.
해결하는 문제
이 프로젝트는 대형 언어 모델(LLM)이 DuckDuckGo를 사용하여 웹 검색을 수행하고 웹페이지 콘텐츠를 검색할 수 있는 방법을 제공합니다. 웹을 검색하고 결과 링크에서 콘텐츠를 파싱하기 위한 표준화된 인터페이스를 LLM에 제공함으로써, LLM의 지식이 오래되었거나 실시간 정보에 대한 접근 권한이 없는 문제를 해결합니다.
작동 방식
이는 Model Context Protocol (MCP) 서버로 구현됩니다. AI 어시스턴트를 위한 세 가지 주요 도구를 제공합니다:
- 검색: DuckDuckGo를 쿼리하고 제목과 스니펫이 포함된 형식화된 결과를 반환합니다.
- 콘텐츠 가져오기: 특정 웹페이지의 텍스트 또는 markdown을 검색합니다. 중복 다운로드를 피하기 위한 캐시가 포함되어 있으며 여러 파싱 모드(텍스트, 주요 콘텐츠 또는 markdown)를 지원합니다.
- 링크 확장: 짧은 내부 참조 토큰(
ref://)을 전체 URL로 다시 변환합니다. 검색 결과에 매우 긴 URL이 포함된 경우 서버는 이를 사용하여 컨텍스트 창 공간을 절약합니다.
봇 탐지 및 TLS 핑거프린팅을 우회하기 위해 서버는 curl 백엔드(curl_cffi 통해)를 사용하여 실제 브라우저를 모방할 수 있습니다.
대상 독자
이는 AI 에이전트를 구축하거나 MCP 호환 클라이언트(예: Claude Desktop 또는 Claude Code)를 사용하여 모델에 웹을 탐색하고 웹사이트에서 정보를 추출하는 기능을 부여하려는 개발자를 위한 것입니다.
하이라이트
- LLM 최적화 출력: 결과는 AI 모델이 소비하기 위해 특별히 형식화됩니다.
- 봇 탐지 우회:
curl을 통한 선택적 브라우저 모방으로 Cloudflare 또는 DuckDuckGo에 의해 차단되는 것을 방지합니다. - 컨텍스트 절약: LLM의 컨텍스트 창을 보존하기 위해 긴 URL을 짧은 토큰으로 대체합니다.
- 내장된 안전성: AI가 개인 내부 네트워크에 액세스하는 것을 방지하기 위한 SSRF 보호 및 구성 가능한 SafeSearch 수준이 포함되어 있습니다.
- 속도 제한: 검색 및 콘텐츠 가져오기 모두에 대한 속도 제한에 대한 통합 보호 기능.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트