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
Required runtime environment for the server, supporting the execution of JavaScript code needed for the MCP server functionality.
Package manager used for installing dependencies and running scripts for the MCP server.
Used for development of the MCP server, providing type safety and modern JavaScript features.
타빌리 MCP 서버
Tavily API를 사용하여 AI 기반 검색 기능을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 통해 AI 비서가 포괄적인 웹 검색을 수행하고 관련성 높은 최신 정보를 검색할 수 있습니다.
특징
- AI 기반 검색 기능
- 기본 및 고급 검색 깊이 지원
- 제목, URL, 콘텐츠 스니펫을 포함한 풍부한 검색 결과
- AI가 생성한 검색 결과 요약
- 결과 채점 및 응답 시간 추적
- 캐싱을 통한 포괄적인 검색 기록 저장
- 유연한 데이터 액세스를 위한 MCP 리소스
필수 조건
- Node.js(v16 이상)
- npm(노드 패키지 관리자)
- Tavily API 키( Tavily 웹사이트 에서 받으세요)
- MCP 클라이언트(예: Cline, Claude Desktop 또는 사용자 고유 구현)
설치
- 저장소를 복제합니다.
지엑스피1
- 종속성 설치:
- 프로젝트를 빌드하세요:
구성
이 서버는 모든 MCP 클라이언트와 함께 사용할 수 있습니다. 다음은 널리 사용되는 클라이언트에 대한 구성 지침입니다.
클라인 구성
Cline(Claude용 VSCode 확장 프로그램)을 사용하는 경우 다음 위치에서 MCP 설정 파일을 만들거나 수정하세요.
- macOS:
~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Windows:
%APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
- Linux:
~/.config/Cursor/User/globalStorage/saoudrizwan.claude-dev\settings\cline_mcp_settings.json
다음 구성을 추가합니다(경로와 API 키를 사용자 고유의 것으로 바꾸세요):
클로드 데스크톱 구성
Claude Desktop 앱을 사용하는 경우 다음 위치의 구성 파일을 수정하세요.
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- 리눅스:
~/.config/Claude/claude_desktop_config.json
위에 표시된 것과 동일한 구성 형식을 사용하세요.
다른 MCP 클라이언트
다른 MCP 클라이언트의 경우, 해당 클라이언트의 설명서에서 올바른 구성 파일 위치와 형식을 확인하세요. 서버 구성에는 다음이 포함되어야 합니다.
- 서버를 실행하는 명령(일반적으로
node
) - 컴파일된 서버 파일의 경로
- Tavily API 키를 포함한 환경 변수
용법
도구
서버는 다음 매개변수를 사용하여 search
이라는 단일 도구를 제공합니다.
필수 매개변수
query
(문자열): 실행할 검색 쿼리
선택적 매개변수
search_depth
(문자열): "기본"(더 빠름) 또는 "고급"(더 포괄적)
사용 예
자원
서버는 유연한 데이터 액세스를 위해 정적 리소스와 동적 리소스를 모두 제공합니다.
정적 리소스
tavily://last-search/result
: 가장 최근의 검색 쿼리 결과를 반환합니다.- 데이터 디렉토리의 디스크에 유지됨
- 서버 재시작 후에도 유지됩니다
- 검색이 수행되지 않은 경우 '아직 검색이 수행되지 않았습니다' 오류가 반환됩니다.
동적 리소스(리소스 템플릿)
tavily://search/{query}
: 모든 쿼리에 대한 검색 결과에 액세스합니다.- {query}를 URL로 인코딩된 검색어로 바꾸세요.
- 예:
tavily://search/artificial intelligence
- 이전에 쿼리가 수행된 경우 캐시된 결과를 반환합니다.
- 이전에 검색된 적이 없는 쿼리의 경우 새로운 검색을 수행하고 저장합니다.
- 검색 도구와 동일한 형식을 반환하지만 리소스 인터페이스를 통해 반환합니다.
MCP의 리소스는 도구와 비교했을 때 데이터에 액세스하는 대체 방법을 제공합니다.
- 도구는 작업(새로운 검색 수행 등)을 실행하기 위한 것입니다.
- 리소스는 데이터 액세스(기존 검색 결과 검색 등)를 위한 것입니다.
- 리소스 URI는 나중에 저장하고 액세스할 수 있습니다.
- 리소스는 정적(고정) 및 동적(템플릿) 액세스 패턴을 모두 지원합니다.
응답 형식
영구 저장소
서버는 검색 결과에 대한 포괄적인 영구 저장소를 구현합니다.
저장 위치
- 데이터는
data
디렉토리에 저장됩니다. data/searches.json
에는 모든 과거 검색 결과가 포함되어 있습니다.- 서버 재시작 사이에 데이터가 유지됩니다.
- 서버 시작 시 저장소가 자동으로 초기화됩니다.
저장 기능
- 전체 검색 기록을 저장합니다
- 빠른 검색을 위해 모든 검색 결과를 캐시합니다.
- 새로운 검색 결과 자동 저장
- 디스크 기반 지속성
- 디버깅을 쉽게 하기 위한 JSON 형식
- 저장 작업에 대한 오류 처리
- 자동 디렉토리 생성
캐싱 동작
- 모든 검색 결과는 자동으로 캐시됩니다.
- 동일한 쿼리에 대한 후속 요청은 캐시된 결과를 반환합니다.
- 캐싱은 응답 시간을 개선하고 API 호출을 줄입니다.
- 캐시는 서버 재시작 사이에 유지됩니다.
- 빠른 접근을 위해 마지막 검색이 추적됩니다.
개발
프로젝트 구조
사용 가능한 스크립트
npm run build
: TypeScript를 컴파일하고 출력을 실행 가능하게 만듭니다.npm run start
: MCP 서버 시작(빌드 후)npm run dev
: 개발 모드로 서버를 실행합니다.
오류 처리
서버는 일반적인 문제에 대한 자세한 오류 메시지를 제공합니다.
- 잘못된 API 키
- 네트워크 오류
- 잘못된 검색 매개변수입니다
- API 속도 제한
- 리소스를 찾을 수 없습니다
- 잘못된 리소스 URI
- 저장소 읽기/쓰기 오류
기여하다
- 저장소를 포크하세요
- 기능 브랜치를 생성합니다(
git checkout -b feature/amazing-feature
) - 변경 사항을 커밋하세요(
git commit -m 'Add some amazing feature'
) - 브랜치에 푸시(
git push origin feature/amazing-feature
) - 풀 리퀘스트 열기
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
감사의 말
- 서버 프레임워크를 위한 모델 컨텍스트 프로토콜(MCP)
- 검색 기능을 제공하는 Tavily API
This server cannot be installed
AI 도우미가 Tavily API를 통해 최신 웹 검색을 수행하고 AI가 생성한 요약을 포함한 포괄적인 검색 결과를 제공할 수 있도록 합니다.
- Features
- Prerequisites
- Installation
- Configuration
- Usage
- Development
- Error Handling
- Contributing
- License
- Acknowledgments