MCP Server for TypeScript Projects Replaces Claude Code's Grep Pattern with Indexed Symbol Lookups

A developer has created an MCP server specifically designed to improve Claude Code's performance on TypeScript projects by replacing its grep-and-guess pattern with indexed symbol lookups. The tool is free and open source.
The Problem with Current Agent Behavior
When using Claude Code and Cursor on TypeScript projects, a common pattern emerges: the agent searches across files, opens likely matches, reads significant amounts of code, realizes it's the wrong place, and tries again. The agent lacks structural awareness of the codebase and starts each session from scratch.
How the MCP Server Works
The server provides structured access to the codebase by maintaining a live SQLite index of the project that includes:
- Symbols
- Call sites
- Imports
- Class hierarchy
This allows the agent to query structure directly. Instead of searching for "handleRequest," the agent can go directly to the exact file and line for that symbol.
Performance Benchmarks
Tested on a 31-file TypeScript project with the same tasks performed with and without the index:
- Find one function: 1,350 tokens with grep vs. 500 tokens with index (63% fewer)
- Trace callers across 3 files: 2,850 tokens with grep vs. 900 tokens with index (68% fewer)
- Map inheritance across 15+ files: 4,800 tokens with grep vs. 1,000 tokens with index (79% fewer)
Grep performance degrades as the codebase grows, while indexed queries remain consistent.
Where the Savings Come From
The developer initially thought symbol lookup would be the primary benefit, but discovered three key areas where the index provides significant efficiency gains:
get_callersqueries replace the pattern where agents read 4-5 files trying to figure out who calls a function- Partial reads: knowing the exact line means reading 20 lines instead of an entire file (accounting for over half the savings)
trace_middlewaretells the agent what runs before a route handler, eliminating the need to read the router, each middleware file, and reconstruct the order
Limitations
The tool struggles with:
- Dynamic patterns (computed method names, etc.)
- Dependency injection setups
- Anything outside your own codebase
While not perfect, the tool significantly reduces the trial-and-error loop in agent-assisted development.
📖 Read the full source: r/ClaudeAI
👀 See Also

Multi-Agent Content Pipeline for Claude Code with Quality Gates
A developer built a six-agent content pipeline for Claude Code that separates research, writing, editing, and SEO tasks with quality gates between stages. The system halts for manual approval before publishing and allows individual agent re-runs.

Mandala v0.3: Open-Source Async Runtime to Unify Logistics Telemetry as OpenTelemetry Spans for Agent Reasoning
Mandala v0.3 provides an open-source async runtime that ingests telemetry from Samsara, Descartes, Vizion, and FMCSA via webhooks, emits events as OpenTelemetry spans, and exposes data via MCP tools for LLM agents.

Tastebud Memory: Reversible Agent Memory via Hyperdimensional Computing Vectors
Hyperdimensional computing replaces vector search for complete recall: list ALL days touching a project, detect unnamed workstreams, and decompose daily logs losslessly via dot products.

Soul MCP Server Adds Persistent Memory and Safety for Local LLMs
Soul is an open-source MCP server that provides persistent memory across sessions for local LLMs with two commands: n2_boot at start and n2_work_end at end. It includes Ark safety features that block dangerous commands like rm -rf and DROP DATABASE at zero token cost, plus cloud storage configuration.