Claude Fetch MCP
Rust MCP server replacing Claude Code WebFetch β 60x faster for small pages by skipping LLM summarization
Ask AI about Claude Fetch MCP
Powered by Claude Β· Grounded in docs
I know everything about Claude Fetch MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
claude-fetch-mcp
Claude Code λ΄μ₯ WebFetch λ₯Ό λ체νλ Rust MCP μλ². λ¨μ URL μ‘°νμμ 60 λ°° λΉ λ¦.
HTTP fetch + HTMLβmarkdown λ³ν + SQLite TTL μΊμ λ₯Ό Rust λ€μ΄ν°λΈλ‘ μν. LLM μμ½ λ¨κ³λ₯Ό μλ΅ν΄ Claude λ³ΈμΈμ΄ markdown μ μ§μ μ½κ² νλ ꡬ쑰. νμ΄μ§ ν¬κΈ°κ° μκ±°λ λ°λ³΅ fetch ν λ μ²΄κ° μλ μ°¨μ΄κ° νΌ.
λ²€μΉλ§ν¬
10 URL Γ 5 runs (Windows 10, μΌλ° κ°μ μ© μΈν°λ· νμ ).
| μ€ν | νκ· cold | λλΉ |
|---|---|---|
| claude-fetch-mcp (Rust) | 147 ms | 1Γ (κΈ°μ€) |
Python (requests + BeautifulSoup + html2text) | 1,210 ms | 8.2Γ λλ¦Ό |
Claude Code λ΄μ₯ WebFetch (LLM μμ½ ν¬ν¨) | ~9,000 ms | ~60Γ λλ¦Ό |
μΊμ hit μ Rust MCP λ νκ· 37 ms (warm). μμΈν μΈ‘μ λ°©λ²Β·URL λ³ μμΉΒ·νκ³λ BENCHMARK_REPORT.md.
μ λΉ λ₯Έκ°
- LLM μμ½ μλ΅ β λ΄μ₯
WebFetchλ fetch ν Haiku κΈ λͺ¨λΈλ‘ μμ½ν΄μ λ°ν. μ΄ λ¨κ³κ° μ 체μ 80~90%. λ³Έ λꡬλ markdown λ§ λ°ννκ³ Claude λ³ΈμΈμ΄ νμν λ§νΌ μ½μ. - Rust λ€μ΄ν°λΈ β
reqwest+rustls+http2+pool-keepalive. TLS λ AES-NI νλμ¨μ΄ κ°μ. - μμ νλ‘μΈμ€ β MCP stdio λ μ μΈμ λμ νλ‘μΈμ€ μ μ§. TLS νΈλμ °μ΄ν¬Β·SQLite open 1 νλ§ μν.
- SQLite TTL μΊμ β λ°λ³΅ fetch μ λμ€ν¬ read λ§ (λμνΒ·λ€νΈμν¬ μ€ν΅).
μ΄μ λΈλ¦¬ μ΅μ ν μλ. μ§μ§ λ³λͺ©μ I/O λ νμ±λ μλλΌ LLM μμ½ λ μ΄μ΄μμ.
μ€μΉ
1. μ¬μ μ€λΉ
Claude Code CLI μ€μΉλμ΄ μκ³ claude mcp λͺ
λ Ή μ¬μ© κ°λ₯ν΄μΌ ν¨.
2. λ°μ΄λ리 λ€μ΄λ‘λ
미리 λΉλλ λ°μ΄λ리λ Releases μμ OS λ³λ‘ λ°μ μ μμ.
Linux / macOS (bash):
curl -fsSL https://raw.githubusercontent.com/Hostingglobal-Tech/claude-fetch-mcp/main/install.sh | bash
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/Hostingglobal-Tech/claude-fetch-mcp/main/install.ps1 | iex
3. μμ€ λΉλ (μ ν)
git clone https://github.com/Hostingglobal-Tech/claude-fetch-mcp.git
cd claude-fetch-mcp
cargo build --release
# κ²°κ³Ό: target/release/claude-fetch-mcp(.exe)
νμ Rust λ²μ : 1.75+ (edition 2021).
4. Claude Code μ λ±λ‘
claude mcp add --scope user fetch-rs -- /full/path/to/claude-fetch-mcp
# νμΈ
claude mcp list
# fetch-rs: /full/path/to/claude-fetch-mcp - β Connected
μ 곡 λꡬ
| λꡬ | μ©λ |
|---|---|
fetch_url | HTTP λ©ν + μ§§μ μ€λν« + title. νμ΄μ§ μ‘΄μ¬ νμΈ / κ°λ¨ μ‘°ν |
fetch_markdown | HTML β markdown μ 체 λ³ν κ²°κ³Ό. Claude κ° λ³Έλ¬Έμ μ½μ λ |
fetch_raw | raw body (JSON / plain text / ν¬λ‘€λ¬ νΌλ) |
cache_stats | μΊμ hit/miss/entries ν΅κ³ |
cache_purge | TTL μ§λ μνΈλ¦¬ μμ |
κ³΅ν΅ μΈμ:
url(νμ) β http / httpsttl_secs(κΈ°λ³Έ 3600) β μΊμ μ ν¨ μκ°bypass_cache(κΈ°λ³Έ false) β κ°μ μ¬fetchmax_bytesβ λ°ν λ³Έλ¬Έ ν¬κΈ° μν (κΈ°λ³Έ 1 MB)
μΈμ μ°κ³ μΈμ μ μ°λ
μΆμ²:
- docs / API λ¬Έμ / README / RFC κ°μ΄ μ μ μ΄κ³ μμ νμ΄μ§ (< 50 KB)
- λ°λ³΅ μ‘°ν (κ°μ URL μ¬λ¬ λ²) β μΊμ hit
- JSON / plain text νΌλ
- μ νν μλ¬Έμ΄ νμν λ (LLM μμ½μ΄ μ곑 κ°λ₯ν κ²½μ°)
λΉμΆ / λ΄μ₯ WebFetch μ μ§:
- 50 KB+ ν° HTML (μμ½μ΄ context token μλΌλ λ° μ 리)
- JS λ λλ§ νμ νμ΄μ§ (SPA)
- λ‘κ·ΈμΈ / μΏ ν€ νμ (Confluence, Notion λ± β μ μ© MCP μ¬μ©)
λ λꡬλ 보μ κ΄κ³. Claude κ° νλ¨ν΄μ μλ μ ννκ² λλ©΄ λ¨.
μ€μ
νκ²½ λ³μ
| λ³μ | κΈ°λ³Έκ° | μ€λͺ |
|---|---|---|
CLAUDE_FETCH_CACHE | %LOCALAPPDATA%\claude-fetch-mcp\cache.sqlite (Windows) / ~/.cache/claude-fetch-mcp/cache.sqlite (Linux/macOS) | SQLite μΊμ νμΌ κ²½λ‘ |
CLAUDE_FETCH_LOG | info | tracing λ‘κ·Έ λ 벨 (trace/debug/info/warn/error) |
ꡬ쑰
Claude Code
β MCP JSON-RPC stdio
βΌ
claude-fetch-mcp (λ¨μΌ λ°μ΄λ리, μ½ 8.5 MB)
ββ reqwest + rustls-tls (HTTP/2, gzip, brotli, keep-alive pool)
ββ html2md (HTML β markdown)
ββ rusqlite (SQLite WAL, SHA256 key, TTL)
ββ λ
ΈμΆ λꡬ 5 κ° (μ ν μ°Έμ‘°)
ν¬λͺ μ±
- API ν€ / λΉλ°λ²νΈ / μΈμ¦ ν ν°: ν¬ν¨ 0. μμ€ μ μ grep ν νμΈ.
- μΈλΆ μλΉμ€ νΈμΆ: μμ. Anthropic / OpenAI / μ 3μ API μ§μ νΈμΆ μμ. μμ HTTP GET λ§ μν.
- ν λ λ©νΈλ¦¬: μμ. μ΄λ€ μΈλΆ μλ²μλ λ°μ΄ν° μ μ‘ μ ν¨.
- μΊμ μ μ₯ μμΉ: λ‘컬 λμ€ν¬λ§. μΈλΆ λκΈ°ν μμ.
- User-Agent:
claude-fetch-mcp/<version>(κ°μΈ μλ³ μ 보 0).
μμ‘΄μ±μ μ λΆ crates.io κ³΅κ° crate. λ―Όκ° μ 보 μ²λ¦¬ / λ€νΈμν¬ ν΅μ μ reqwest + rustls κ° λ΄λΉ (λ¬μ€νΈ μν νμ€).
νκ³
- JS λ λ νμ΄μ§ λ―Έμ§μ. headless λΈλΌμ°μ μμ (λ³λ λꡬ).
- robots.txt / rate limit λ―Έμ€μ. μμ© μ¬μ΄νΈ λμμΌλ‘ μλν μ μ£Όμ.
- μΈμ¦ νμ νμ΄μ§ λΆκ°. Confluence / Notion / Google Docs λ±μ μ μ© MCP μ¬μ©.
- HTML β markdown νμ§. Wikipedia / Hacker News κ°μ΄ DOM μ΄ κΉμ νμ΄μ§μμλ markdown μ΄ λΉλν΄μ§λ κ²½ν₯.
readability-rsκΈ°λ° μΆμΆλ‘ κ°μ κ²ν μ€.
μ¬ν
# λ²€μΉ μ€ν
cd claude-fetch-mcp
cargo build --release
./target/release/fetch-bench --urls bench_urls.txt --runs 5 --out bench_rust.json
# Python baseline λΉκ΅ (μ ν)
pip install requests beautifulsoup4 html2text
python bench_python.py bench_urls.txt 5 bench_python.json
μ
λ ₯ URL 리μ€νΈλ bench_urls.txt. μ¬λ¬λΆ νκ²½μμ μ¬μΈ‘μ κΆμ₯.
λΌμ΄μ μ€
MIT. LICENSE.
κΈ°μ¬
μ΄μ / PR νμ. μΈμ΄λ νκΈ / μμ΄ μ무거λ OK.
