Context7
Up-to-date docs for AI agents
제작자가 쓴 설명(영어 원문)
MCP web search + tiered web fetch for AI agents (Exa, Firecrawl), SSRF-guarded, cross-platform.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
EXA_API_KEY, FIRECRAWL_API_KEY비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"web-retrieval": {
"command": "uvx",
"args": [
"web-retrieval-mcp"
],
"env": {
"EXA_API_KEY": "your-value",
"FIRECRAWL_API_KEY": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add web-retrieval --env EXA_API_KEY=your-value --env FIRECRAWL_API_KEY=your-value -- uvx web-retrieval-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"web-retrieval": {
"command": "uvx",
"args": [
"web-retrieval-mcp"
],
"env": {
"EXA_API_KEY": "your-value",
"FIRECRAWL_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"web-retrieval": {
"type": "stdio",
"command": "uvx",
"args": [
"web-retrieval-mcp"
],
"env": {
"EXA_API_KEY": "your-value",
"FIRECRAWL_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 VelvetSP 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: EXA_API_KEY, FIRECRAWL_API_KEY
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.2)은 5개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: Context7, Codebase Memory, Exa
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
An open-source [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for source-grounded web research. Connect Codex CLI and the Codex IDE extension, Claude Code, Claude Desktop, Cursor, ChatGPT desktop, or any other compatible MCP client to six read-only tools for Exa or Tavily search, resilient Exa → Camoufox → Tavily → Firecrawl page retrieval, AI/ML paper discovery, and developer-source search—with explicit provenance, optional local caching, and SSRF guards.
[Why use it?](#why-use-web-retrieval-mcp) · [Quick start](#quick-start) · [Tools](#six-read-only-tools) · [Routing](#how-retrieval-works) · [Configuration](#configuration-reference) · [Security](#security-model) · [FAQ](#frequently-asked-questions)
Web research is more reliable when an agent can see where every result came from, choose the right retrieval strategy, and recover when one provider or page-access method fails. web-retrieval-mcp makes those controls part of the tool contract:
Sources trailer. Exa deep modes additionally return a clearly labeled synthesized answer, with grounding when Exa provides it, before the source-separated result blocks.Built-in capabilities vary by agent and can improve over time. The useful comparison is therefore not “all defaults are bad”; it is whether you need a portable, inspectable retrieval layer with controls your current client does not expose.
| Need | Typical bundled search/fetch surface | web-retrieval-mcp |
|---|---|---|
| Search output | Client-defined result or synthesis format | Default search returns source-separated blocks plus Sources; Exa deep modes add a labeled synthesis |
| Backend choice | Provider and routing are usually managed by the client | Exa or Tavily search, with a disclosed Firecrawl fallback |
| Difficult pages | One client-specific access path | Indexed content, guarded local browser rendering, Tavily Extract, and Firecrawl tiers |
| Retrieval intent | Usually search or page text | Full body, concise summary, or query-grounded page answer |
| Research discovery | General web index | Dedicated paper and developer-source tools in addition to web search |
| Freshness and filters | Whatever the client exposes | Date windows, hour-level recency, domains, categories, result limits, and forced freshness |
| Auditability | Client-specific | Fetch tier/cache/truncation disclosures; Tavily and Firecrawl search-fallback labels; explicit filter notices where supported |
| Operations | Client-defined; often hosted or opaque | Local stdio or self-hosted loopback HTTP, optional private UDS cache |
| Security policy | Client-specific | Initial URL validation plus guarded browser requests and redirects |
Use it as an independent complementary retrieval lane by default. If you want it to replace Claude Code's built-in WebSearch and WebFetch, the package also includes an optional, previewable hook installer.
Python 3.10 or newer is required.
For the complete feature set in an isolated environment:
pipx install --include-deps 'web-retrieval-mcp[all]'
camoufox fetch
--include-deps exposes Camoufox's own command from the isolated pipx environment; the second command downloads its managed browser. If you do not want local rendering, install the base package or selected non-render extras and skip the browser download.
For a lean Exa + Firecrawl installation:
pipx install web-retrieval-mcp
With uv installed, you can run the base package in a temporary isolated environment without a permanent install:
uvx web-retrieval-mcp
Or install into an existing virtual environment:
python -m pip install 'web-retrieval-mcp[all]'
python -m camoufox fetch
The browser download is required whenever you install the render extra and want Camoufox to serve render="auto" or render="always" calls.
Optional extras are composable:
| Extra | Adds |
|---|---|
tavily | Tavily Search and Tavily Extract |
render | Local Camoufox/Playwright rendering |
cache | Valkey client for completed-result caching |
keyring | Cross-platform native secret-store access |
all | Every optional runtime capability above |
For the broadest routing coverage, configure Exa and Firecrawl; add Tavily when you want provider-selectable search or another full-body fetch tier.
export EXA_API_KEY='<your-exa-api-key>'
export FIRECRAWL_API_KEY=' ' export TAVILY_API_KEY=' ' # optional
You do not need all three keys to start the server. Tools resolve credentials lazily and report what a selected route is missing. See Credential storage for a key file and OS secret-store alternatives.
All three providers advertised no-card entry allocations when checked on 2026-09-01; plans and unit costs can change, so check their live pricing before estimating a workload:
| Provider | Entry allocation checked 2026-09-01 | Used for |
|---|---|---|
| Exa | $20 signup credit plus $10 monthly API credits | Default web search and first indexed-content fetch tier |
| Firecrawl | 1,000 credits per month | Search/fetch fallback and research/developer indexes |
| Tavily | 1,000 API credits per month | Optional search provider and full-body extract tier |
| Camoufox | Local open-source browser | JavaScript-rendered page retrieval on your machine |
Codex CLI and the Codex IDE extension share MCP configuration. Add the server with the CLI, then verify it is registered:
codex mcp add web-retrieval -- web-retrieval-mcp
codex mcp list
With uvx and no prior install:
codex mcp add web-retrieval -- uvx web-retrieval-mcp
See OpenAI's Codex MCP documentation for the current CLI, IDE, and configuration-file details.
Claude Code:
claude mcp add web-retrieval -- web-retrieval-mcp
With uvx and no prior install:
claude mcp add web-retrieval -- uvx web-retrieval-mcp
Claude Desktop, Cursor, and other clients that accept an mcpServers object can use:
{
"mcpServers": { "web-retrieval": { "command": "web-retrieval-mcp" } } }
That configuration assumes the executable is on the client's PATH. For an uvx launch, use "command": "uvx" and "args": ["web-retrieval-mcp"]. If a desktop client does not inherit your shell environment, use the private key file described below or place literal key values in the client's protected environment configuration. Do not rely on ${VARIABLE} interpolation unless your client documents that behavior.
ChatGPT desktop and clients with different setup surfaces can connect through the MCP transport their current version supports. This server uses stdio by default and can also expose Streamable HTTP; consult the client's documentation for its configuration format and supported transports.
Once the MCP server is connected, prompts can stay natural:
Search the web for the latest primary documentation about Python package metadata.
Keep each source separate and preserve its URL.
Fetch https://example.com/report, force a fresh retrieval, and answer only: What methodology did the authors use?
Find AI/ML papers about retrieval reranking, inspect the strongest paper for its reported benchmark result, then find newer work that cites it.
Search merged pull requests and documentation for the origin of this exact error: "transport closed".
All tools carry MCP's read-only annotation. MCP clients receive the complete generated input schema and descriptions when they connect.
| Tool | Compact signature | Best for |
|---|---|---|
web_search | web_search(query, num_results=8, mode="auto", …, provider=None) | General web search through Exa or Tavily, with source-separated results and Firecrawl fallback |
web_fetch | web_fetch(url, render="auto", max_chars=None, max_age_hours=None, mode="full", question=None, tavily=None) | Readable page bodies, concise summaries, or grounded answers through a tiered fetch cascade |
research_papers | research_papers(query, k=8) | Ranked AI/ML paper discovery through Firecrawl's Research Index |
research_paper | research_paper(paper_id, query=None) | Paper metadata and optional query-relevant full-text passages for claim verification |
research_similar | research_similar(paper_id, intent, k=8, mode="similar", …) | Related papers, citers, or references guided by a natural-language intent |
research_github | research_github(query, k=8, passages=2, types=None, repos=None) | Developer documentation, repository READMEs, issues, and merged pull requests |
web_search supports relevance or date-oriented filters, domain inclusion/exclusion, publication windows, generated per-result summaries, and Exa's fast/deep search modes. Tavily receives equivalent controls where its API supports them; approximations and dropped controls are disclosed in the output.
The research-paper index is arXiv-oriented and best suited to AI/ML. For scholarly work outside that scope, use web_search(category="publication").
Exa is the default search provider. Select Tavily for one call with provider="tavily", or globally:
export WEB_SEARCH_PROVIDER=tavily
Only exa and tavily are accepted. If the
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요