
컨텍스트 윈도우(Context Window)를 낭비하기 전에 웹페이지를 필터링하는 Claude Code용 로컬 웹 리서치 MCP를 구축했습니다
요약
Claude Code 사용 시 발생하는 불필요한 토큰 낭비를 줄이기 위해, 웹페이지 콘텐츠를 로컬에서 필터링하여 핵심 정보만 전달하는 MCP 서버인 TinySearch를 소개합니다. 임베딩과 리랭킹을 로컬에서 수행하여 비용 효율적인 웹 리서치를 지원합니다.
핵심 포인트
- 웹페이지의 UI 요소 대신 핵심 텍스트만 추출하여 컨텍스트 윈도우 절약
- 로컬 하이브리드 검색(임베딩 및 리랭킹)을 통한 비용 효율적 정보 처리
- 별도의 유료 검색 API 키나 호스팅 계정 없이 사용 가능
- research, scrape_url, get_current_datetime 세 가지 MCP 도구 제공
Claude Code의 기본 웹 도구들은 유용하지만, 저는 한 가지 비용이 많이 드는 패턴에 계속 직면했습니다: 무언가를 검색하고, 여러 페이지를 열고, 수많은 탐색 정보, 상용구(boilerplate), 반복되는 텍스트 및 무관한 섹션들을 모델에 입력한 뒤, Claude가 실제로 중요한 몇 개의 단락이 무엇인지 파악하도록 비용을 지불하는 방식입니다.
그래서 저는 이러한 필터링 작업의 대부분을 LLM 외부에서 수행하는 오픈 소스(open-source) 기반의 셀프 호스팅(self-hosted) MCP 서버인 TinySearch를 구축했습니다. 전체 웹페이지를 반환하는 대신, TinySearch는 다음과 같은 작업을 수행합니다:
- 웹을 검색합니다.
- 어떤 결과가 열어볼 가치가 있는지 순위를 매깁니다.
- 가장 좋은 페이지들을 크롤링(crawls)합니다.
- 읽기 가능한 콘텐츠 청크(chunks)를 추출하고 중복을 제거합니다.
- 로컬에서 구절(passages)의 순위를 다시 매깁니다(reranks).
- 소스 URL과 함께 압축된 증거 패킷(evidence packet)만을 Claude에게 보냅니다.
핵심 아이디어는 매우 간단합니다: 웹페이지의 크롬(chrome, UI 요소)을 읽는 데 토큰을 쓰는 대신, 증거를 바탕으로 추론하는 데 토큰을 사용하는 것입니다. TinySearch는 정보가 Claude의 컨텍스트(context)에 도달하기 전에 로컬 하이브리드 검색(hybrid retrieval)을 사용합니다. 기본적으로 임베딩(embeddings)과 리랭킹(reranking)은 로컬에서 실행되며, 유료 검색 API가 필요하지 않습니다.
이 서버는 세 가지 집중된 MCP 도구를 노출합니다:
- research(query): 여러 소스에 걸친 광범위한 조사를 위한 도구
- scrape_url(url, query): Claude가 검사해야 할 페이지를 이미 알고 있을 때 사용
- get_current_datetime(): 시간 민감형 조사를 위한 도구
가장 쉬운 설정 방법은 단일 MCP 엔트리를 추가하는 것입니다:
{ "mcpServers": { "tinysearch": { "command": "uvx", "args": [ "--from", "tinysuite-search[server]", "tinysearch" ] } } }
이 도구는 무료이며, 호스팅 계정이나 검색 API 키가 필요하지 않습니다. 토큰 절감 주장에 대해 투명하게 말씀드리자면, 정확한 절감량은 페이지, 쿼리(query), 설정된 증거 예산(evidence budget), 그리고 Claude Code가 반환된 자료를 어떻게 처리하는지에 따라 크게 달라집니다. TinySearch는 Claude가 이후에 무엇을 하는지는 제어할 수 없습니다. TinySearch가 제어하는 것은 모델에 처음 전달되는 가공되지 않은 웹 콘텐츠의 양입니다.
보장된 검색 범위, SLA(서비스 수준 협약), 대규모 인덱싱(indexing) 또는 영구적인 페이지 저장 기능이 필요한 경우에는 적합한 도구가 아닐 수 있습니다. 이 도구는 일반적인 에이전트(agent) 리서치를 위한 경량화된 검색 레이어(retrieval layer)로 설계되었습니다.
GitHub: https://github.com/MarcellM01/TinySearch Claude Code를 헤비하게 사용하는 분들의 피드백을 진심으로 부탁드립니다: 이 도구가 여러분의 실제 컨텍스트 관리(context-management) 문제를 해결해 주나요? TinySearch와 기본 웹 검색(native web) 간의 설득력 있는 벤치마크(benchmark)는 어떤 모습이어야 할까요? 정확한 토큰 수(token counts), 답변 품질 비교(answer-quality comparisons), 아니면 둘 다를 선호하시나요? /u/Scared-Tip7914 제출 [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기