TypeScript 프로젝트용 MCP 서버, Claude Code의 Grep 패턴을 인덱싱된 심볼 조회로 대체

한 개발자가 Claude Code의 TypeScript 프로젝트 성능을 향상시키기 위해 grep-and-guess 패턴을 인덱싱된 심볼 조회로 대체하는 MCP 서버를 만들었습니다. 이 도구는 무료 오픈 소스입니다.
현재 에이전트 동작의 문제점
TypeScript 프로젝트에서 Claude Code와 Cursor를 사용할 때 흔히 발생하는 패턴은: 에이전트가 파일을 검색하고, 가능성이 높은 일치 항목을 열고, 상당량의 코드를 읽고, 잘못된 위치임을 깨닫고, 다시 시도하는 것입니다. 에이전트는 코드베이스의 구조적 인식이 부족하며 각 세션을 처음부터 시작합니다.
MCP 서버 작동 방식
이 서버는 프로젝트의 실시간 SQLite 인덱스를 유지하여 코드베이스에 대한 구조적 접근을 제공합니다. 인덱스에는 다음이 포함됩니다:
- 심볼
- 호출 위치
- 임포트
- 클래스 계층 구조
이를 통해 에이전트가 구조를 직접 쿼리할 수 있습니다. "handleRequest"를 검색하는 대신, 에이전트는 해당 심볼의 정확한 파일과 줄로 바로 이동할 수 있습니다.
성능 벤치마크
31개 파일로 구성된 TypeScript 프로젝트에서 동일한 작업을 인덱스 사용 여부에 따라 수행한 테스트 결과:
- 함수 하나 찾기: grep 사용 시 1,350 토큰 vs 인덱스 사용 시 500 토큰 (63% 감소)
- 3개 파일에 걸친 호출자 추적: grep 사용 시 2,850 토큰 vs 인덱스 사용 시 900 토큰 (68% 감소)
- 15개 이상 파일에 걸친 상속 관계 매핑: grep 사용 시 4,800 토큰 vs 인덱스 사용 시 1,000 토큰 (79% 감소)
grep 성능은 코드베이스가 커질수록 저하되는 반면, 인덱스 쿼리는 일관성을 유지합니다.
절감 효과의 원천
개발자는 처음에 심볼 조회가 주요 이점일 것이라고 생각했지만, 인덱스가 상당한 효율성 향상을 제공하는 세 가지 핵심 영역을 발견했습니다:
get_callers쿼리는 에이전트가 함수를 호출하는 주체를 파악하기 위해 4-5개 파일을 읽는 패턴을 대체합니다- 부분 읽기: 정확한 줄을 알면 전체 파일 대신 20줄만 읽으면 됩니다 (절감 효과의 절반 이상을 차지)
trace_middleware는 에이전트에게 라우트 핸들러 실행 전에 무엇이 실행되는지 알려주어, 라우터, 각 미들웨어 파일을 읽고 순서를 재구성할 필요를 없앱니다
제한 사항
이 도구는 다음에서 어려움을 겪습니다:
- 동적 패턴 (계산된 메서드 이름 등)
- 의존성 주입 설정
- 자체 코드베이스 외부의 모든 것
완벽하지는 않지만, 이 도구는 에이전트 지원 개발에서 시행착오 루프를 상당히 줄여줍니다.
📖 Read the full source: r/ClaudeAI
👀 See Also

Claude to PDF Chrome 확장 프로그램: 긴 대화를 서식 그대로 내보내기
한 개발자가 Claude AI 채팅의 전체 대화 기록을 캡처하고 PDF로 내보낼 때 코드 블록, LaTeX 수식, 표 서식을 보존하는 Claude to PDF라는 무료 Chrome 확장 프로그램을 출시했습니다.
CTOP: Claude Code 세션을 모니터링하는 터미널 UI, 제로 의존성
CTOP는 모든 실행 중인 Claude Code 및 Codex 세션의 CPU, 메모리, 컨텍스트 창 포화도, 토큰 분석 및 비용 추정을 보여주는 제로 의존성 Node.js TUI입니다.

대규모 클로드 코드: 에이전트 검색이 대규모 코드베이스에서 RAG 실패 모드를 피하는 방법
Claude Code는 임베딩 기반 RAG 대신 에이전트 방식의 파일 시스템 탐색을 사용하여 오래된 인덱스 문제를 제거합니다. 이 글은 5가지 확장 지점(CLAUDE.md, hooks, skills, plugins, MCP)과 수백만 줄 리포지토리를 위한 harness-as-model 철학을 자세히 설명합니다.

개발자가 Claude Code와 잘 어울리는 CLI 도구를 공유합니다
한 개발자가 Claude Code 작업을 위해 MCP에서 CLI로 전환했으며, Claude가 셸 스크립트와 문서에 대한 학습 덕분에 CLI 명령어를 효과적으로 처리한다고 밝혔습니다. 그들은 일상적으로 사용하는 구체적인 CLI 도구들을 공유했는데, 여기에는 gh, ripgrep, stripe, supabase, vercel, sentry-cli, neon 등이 포함됩니다.