Skip to main content
Glama
La0bALanG

tavily_mcp_server_for_all_tools

by La0bALanG

Tavily Web Search MCP Server

Tavily 공식 Python SDK를 기반으로 개발된 웹 검색 MCP 서비스로, 표준 MCP Python SDK를 사용하여 구현되었으며, Streamable HTTP 전송 프로토콜을 채택하고 FastAPI + uvicorn을 통해 외부에 서비스를 제공합니다.

기능

서비스는 Tavily 공식 SDK의 주요 기능을 포괄하는 8개의 MCP 도구를 제공합니다:

도구명

설명

내부 Tavily 인터페이스

web_search

쿼리 키워드에 따라 웹 검색을 실행하고 제목, 링크, 요약, 관련성 점수를 반환하며 선택적으로 요약 답변을 선택적으로 생성합니다

search

web_fetch

지정된 URL 웹페이지를 가져와 본문 텍스트 콘텐츠(markdown / text)를 반환합니다

extract

web_crawl

루트 URL에서 시작하여 그래프 방식으로 전체 웹사이트를 탐색하고 여러 페이지의 본문을 일괄 수집하며, 특정 사이트 콘텐츠를 체계적으로 수집하는 데 적합합니다

crawl

web_map

웹사이트 구조를 탐색하여 본문을 가져오지 않고 페이지 URL만 찾아내므로, 사이트 범위를 먼저 파악하는 데 적합합니다

map

qna_search

특정 질문에 대해 한 문장 형식의 답변을 직접 반환합니다

qna_search

search_context

LLM / RAG 프로세스에 직접 투입하기 적합한 압축된 검색 컨텍스트를 반환합니다(자동으로 token 한도 및 절단 처리)

get_search_context

deep_research_start

심층 연구 작업을 제출합니다(Tavily 자동 다중 검색 + 종합 보고서 생성). 작업은 비동기적으로 실행되며 즉시 request_id를 반환합니다

research

deep_research_result

request_id를 기반으로 심층 연구 작업의 상태와 최종 결과(보고서 본문 + 인용 출처)를 폴링하여 조회합니다

get_research

deep_research_start / deep_research_result에 해당하는 연구 작업은 Tavily 서버 측에서 비동기적으로 실행되며 수 분이 소요될 수 있습니다. 먼저 deep_research_start를 호출하여 request_id를 받은 다음, deep_research_resultstatuscompleted(또는 failed)가 될 때까지 폴링하세요.

Related MCP server: tavily-pool-mcp

디렉터리 구조

tavily-mcp-server/
├── app/
│   ├── config.py       # 环境变量配置加载(.env)
│   ├── tavily_tools.py # TavilyToolkit:封装 web_search / web_fetch
│   ├── server.py        # FastMCP 实例与工具注册
│   └── main.py          # FastAPI 应用 + uvicorn 入口,挂载 Streamable HTTP
├── client/
│   └── test_client.py   # 本地测试客户端(连接 MCP 服务并调用工具)
├── deploy/
│   ├── deploy.sh                # 一键同步 + 部署到远程服务器
│   └── tavily-mcp.service       # systemd 服务单元
├── requirements.txt
├── .env.example
└── .gitignore

환경 요구사항

  • Python 3.12(로컬은 conda 환경 llm_factory_envs에서 개발, 원격 서버는 llm_env 사용)

  • Tavily API Key(app.tavily.com에서 신청)

로컬 개발 및 테스트

1. 환경 변수 준비

cp .env.example .env
# 编辑 .env,填入 TAVILY_API_KEY;本地测试保持 MCP_HOST=127.0.0.1

2. 의존성 설치 (conda 환경 llm_factory_envs)

conda activate llm_factory_envs
pip install -r requirements.txt

3. MCP 서비스 시작

python -m app.main
# 服务启动后监听 http://127.0.0.1:20260/mcp
# 健康检查: curl http://127.0.0.1:20260/health

4. 테스트 클라이언트로 검증

새 터미널을 엽니다:

conda activate llm_factory_envs
python -m client.test_client --url http://127.0.0.1:20260/mcp

테스트 클라이언트는 순서대로: 서비스 연결 → 사용 가능한 도구 나열 → web_search / web_fetch / web_crawl / web_map / qna_search / search_context 호출 → 결과 출력을 수행합니다.

심층 연구 작업은 시간이 오래 걸릴 수 있으며(수 분 소요 가능), 기본적으로 테스트되지 않습니다. deep_research_start / deep_research_result도 함께 검증하려면:

python -m client.test_client --url http://127.0.0.1:20260/mcp --deep-research
# 也可自定义研究任务描述:
python -m client.test_client --url http://127.0.0.1:20260/mcp --deep-research "近期国产大模型有哪些重要发布"

이 모드는 작업 제출 후 10초마다 deep_research_result를 폴링하여 상태가 completed / failed가 될 때까지 대기합니다.

원격 서버 배포

원격 서버 정보: 101.47.67.15, SSH(비밀번호 없는 로그인 설정 완료)를 통해 배포하며, 원격 conda 환경 llm_env를 사용하고, 서비스 포트는 20260으로 고정됩니다.

1. 원격 .env 구성

로컬 .env에서 MCP_HOST0.0.0.0(공용 네트워크 수신)으로 변경하고 MCP_PORT20260으로 유지한 후, 배포 스크립트를 실행하면 자동으로 scp를 통해 .env가 동기화됩니다(원격과 로컬에서 다른 키를 사용해야 하는 경우 원격에서 직접 /opt/tavily-mcp-server/.env를 수동으로 관리할 수 있습니다).

2. 원클릭 배포

bash deploy/deploy.sh

이 스크립트는 다음 작업을 수행합니다:

  1. 프로젝트 파일을 root@101.47.67.15:/opt/tavily-mcp-serverrsync합니다(.git, __pycache__ 등 제외)

  2. 로컬에 .env가 있으면 동기화합니다

  3. 원격 llm_env 환경에 의존성을 설치합니다

  4. systemd 서비스를 설치/업데이트하고 재시작합니다

3. 서버 방화벽 / 보안 그룹

클라우드 서비스 제공업체 콘솔의 보안 그룹 규칙에서 TCP 20260 포트를 허용했는지 확인하세요(deploy.sh는 클라우드 보안 그룹을 자동으로 수정하지 않으므로 제공업체 콘솔에서 수동으로 열어야 합니다). 서버 자체에서 firewalld/ufw가 활성화된 경우에도 해당 포트를 허용해야 합니다. 예:

# firewalld
ssh root@101.47.67.15 "firewall-cmd --permanent --add-port=20260/tcp && firewall-cmd --reload"

3. 원격 배포 검증

curl http://101.47.67.15:20260/health
python -m client.test_client --url http://101.47.67.15:20260/mcp

일반적인 운영 명령

ssh root@101.47.67.15 "systemctl status tavily-mcp.service --no-pager"
ssh root@101.47.67.15 "journalctl -u tavily-mcp.service -f"
ssh root@101.47.67.15 "systemctl restart tavily-mcp.service"

MCP 클라이언트 구성

배포 완료 후, Streamable HTTP를 지원하는 모든 MCP 클라이언트에서 다음 구성을 통해 이 서비스에 연결할 수 있습니다:

{
  "mcpServers": {
    "tavily-web-search": {
      "type": "streamable_http",
      "url": "http://101.47.67.15:20260/mcp"
    }
  }
}

로컬 연동이 필요하면 URL을 http://127.0.0.1:20260/mcp로 교체하면 됩니다.

환경 변수 설명

변수명

설명

기본값

TAVILY_API_KEY

Tavily 공식 API Key(필수)

없음

MCP_HOST

서비스 수신 주소

127.0.0.1(원격 배포 시 0.0.0.0으로 변경)

MCP_PORT

서비스 포트

20260

MCP_SERVER_NAME

MCP 서버 이름

tavily-mcp-server

MCP_STATELESS

상태 비저장 모드 활성화 여부(SSE 재연결 시 메시지 손실 방지)

false

MCP_HTTP

HTTP 모드 활성화 여부(SSE 대신 HTTP JSON 응답 선호 시 true로 설정)

false

MCP_TRANSPORT

전송 방식 (stdio 또는 sse)

sse

MCP_SSE_PATH

SSE 엔드포인트 경로

/mcp

LOG_LEVEL

로그 레벨

INFO

TAVILY_TOP_K

검색 결과 개수

5

TAVILY_INCLUDE_DOMAINS

검색 포함 도메인(쉼표로 구분, 선택 사항)

없음

TAVILY_EXCLUDE_DOMAINS

검색 제외 도메인(쉼표로 구분, 선택 사항)

없음

보안 안내

  • .env 파일은 .gitignore에 포함되어 있으며 GitHub 저장소에 커밋하지 마십시오.

  • 코드에 키를 하드코딩하지 마십시오. 모든 민감한 정보는 환경 변수를 통해 주입됩니다(python-dotenv로 로드).

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables web search capabilities through the Tavily API and serves as a demonstration platform for building custom MCP tools. Designed for educational purposes to showcase MCP server development and LangGraph integration.
    6
  • A
    license
    B
    quality
    D
    maintenance
    A local MCP server that exposes Tavily search as a tool and rotates across multiple API keys for reliability.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for web page fetching (converting to Markdown/text with automatic fallback between Tavily and Firecrawl) and web search via Tavily.
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.

View all MCP Connectors

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/La0bALanG/tavily_mcp_server_for_all_tools'

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