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

Running Google Gemma 4 26B-A4B Locally with LM Studio 0.4.0 Headless CLI
LM Studio 0.4.0 introduces llmster and the lms CLI for headless local model inference. The article details setting up Google's Gemma 4 26B-A4B MoE model on a MacBook Pro M4 Pro, achieving 51 tokens/second with 48GB unified memory.

Three MCP servers for e-commerce research with Claude: Shopify, Amazon, and Google Maps tools
A developer built three MCP servers for Claude to analyze Shopify stores without API keys, score Amazon product opportunities, and find/scored local business leads from Google Maps. All are available on Apify.

Ink: A Deployment Platform Where Claude AI Agents Are the Primary Users
Ink (ml.ink) is a deployment platform designed for AI agents like Claude, featuring one tool call deployment, auto-detection of frameworks, and integrated services including compute, databases, DNS, secrets, domains, metrics, and logs.

Mnemos: Open-Sourced Local-First Memory Layer for Coding Agents
Mnemos is a local-first memory layer for solo coding-agent workflows that addresses common memory system failures like scope bleed, stale facts, and unbounded transcript growth. The public beta includes SQLite starter profiles, MCP support for Claude Code/Desktop, and a biomimetic pipeline with components like SurprisalGate and MutableRAG.