mcp-web-search-server
mcp-web-search-server
HTTP를 통해 web_search 및 web_fetch 도구를 노출하는 독립형 MCP 서버입니다. 모든 MCP 클라이언트(Claude Desktop, Cursor 등)가 연결하여 웹 검색을 수행하고 웹 페이지를 가져올 수 있습니다.
API 키 없이 바로 작동합니다: web_search/web_search_exa는 Exa의 공개 MCP 엔드포인트를 사용하며, 인증 없이(속도 제한 있음) 요청을 허용합니다. 더 높은 한도를 원하면 EXA_API_KEY를 설정하고, web_search_parallel도 활성화하려면 PARALLEL_API_KEY를 설정하세요.
도구
도구 | 설명 |
| URL을 가져와 파싱하고, 마크다운 또는 일반 텍스트로 반환 |
| Exa 또는 Parallel AI를 사용하여 웹 검색(세션별 자동 선택) |
| Exa AI를 사용하여 검색 |
| Parallel AI를 사용하여 검색 |
작동 방식:
┌──────────────┐ MCP HTTP ┌──────────────────────────┐ HTTP ┌──────────────┐
│ MCP Client │ ◄───────────────► │ web-search-server │ ◄──────────► │ Exa AI │
│ (Claude, │ Streamable │ :9877/mcp │ │ mcp.exa.ai │
│ Cursor, │ │ │ └──────────────┘
│ etc.) │ │ Tools: │
└──────────────┘ │ • web_search (auto) │ ── HTTP ──► ┌──────────────┐
│ • web_search_exa │ │ Parallel │
│ • web_search_parallel │ │ search. │
│ • web_fetch │ │ parallel.ai │
└──────────────────────────┘ └──────────────┘주요 설계 결정 사항:
순수 async/await — 프레임워크 없음, 네이티브
fetch(Bun의 fetch)만 사용Streamable HTTP 전송 —
@modelcontextprotocol/sdk의WebStandardStreamableHTTPServerTransport사용, 클라이언트 연결당 하나의 세션(전송 + 서버 인스턴스)공급자 선택 — 세션 ID의 해시가 일반
web_search도구에 대해 exa/parallel을 선택하며, 환경 변수로 재정의 가능HTML→Markdown — 마크다운 추출에는 turndown, 일반 텍스트 추출에는 작은 상태 머신 사용
Related MCP server: free-web-mcp
빠른 시작
# Install dependencies
bun install
# Run the server (default port 9877)
bun run src/index.ts구성
환경 변수:
변수 | 기본값 | 설명 |
|
| 수신 대기할 HTTP 포트 |
|
| 바인딩할 호스트 |
| - | 선택 사항인 Exa API 키, 더 높은 속도 제한 |
| - | Parallel API 키( |
|
|
|
|
| 키 없이 Parallel 강제 활성화 |
| 해시 기반 |
|
MCP 클라이언트에서 연결
MCP 클라이언트를 다음 주소로 지정하세요: http://localhost:9877/mcp
Streamable HTTP 전송을 사용하는 표준 MCP 서버입니다.
사용 예시
웹 페이지를 마크다운으로 가져오기
{
"name": "web_fetch",
"arguments": {
"url": "https://example.com",
"format": "markdown"
}
}웹 검색
{
"name": "web_search",
"arguments": {
"query": "latest JavaScript features 2026",
"numResults": 5
}
}개발
# Type check
bunx tsc --noEmit
# Run in foreground
bun run src/index.ts아키텍처
web_fetch는 네이티브 fetch와 HTML→Markdown 변환(turndown) 및 Cloudflare 폴백 사용MCP 서버는
@modelcontextprotocol/sdk와WebStandardStreamableHTTPServerTransport사용표준 HTTP에서 수신 대기(stdio 불필요)
web_search/web_fetch 도구 구현은 원래 OpenCode의 내장 웹 검색 도구에서 가져와 이 독립형 서버로 추출되었습니다.
라이선스
This server cannot be deployed
Maintenance
Related MCP Connectors
Scrape, crawl and search the web for AI agents via MCP.
Web MCP: scrape/crawl sites, web search, brand assets, app stores, YouTube, Reddit, Hacker News.
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
Free web search for AI agents. No API key required. Hosted MCP in active development.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables web search through Exa or Parallel APIs for MCP-compatible AI clients like Cursor and Claude Code.10 npm1MIT
- AlicenseAqualityBmaintenanceEnables AI agents to search the web and fetch webpage content as clean text via MCP, with optional headless rendering for dynamic pages.3MIT
- AlicenseCqualityBmaintenanceEnables MCP clients to run web searches and optionally fetch webpages through Moonshot's open platform API, using a configured API key.2184 npmMIT
- FlicenseNot gradedqualityAmaintenanceEnables MCP clients to search the web through SearXNG and crawl single pages or entire sites with Crawl4AI, producing clean markdown for LLM context.-