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

OpenClaw Outlook Add-in Connects Local Agent to Email Sidebar
A developer built an Outlook add-in that connects to a local OpenClaw Gateway via WebSocket, providing full agent access with tools and automations directly in the email sidebar. The tool reads selected emails as context, maintains per-email chat sessions, and works with Outlook Desktop and Web.

Visdiff: Visual Feedback Loop for Claude's Frontend Code Generation
Visdiff addresses the visual accuracy gap in Claude's frontend code generation by comparing rendered output pixel-by-pixel with Figma designs and feeding differences back into the loop until they match.

How I Built a Skill to Deploy OpenClaw Agents to Web Apps - A Behind-the-Scenes Look
Explore an innovative new skill developed for OpenClaw agents that facilitates easy deployment to web apps. Learn about its features, advantages, and how it transforms production processes.

Qwen3.5-35B-A3B-UD-Q6_K_XL Tested in Production Development Workflows
A developer tested the Qwen3.5-35B-A3B-UD-Q6_K_XL model across multiple real client projects, achieving solid performance with benchmarks of 1504pp2048 and 47.71 tg256, and token speeds of 80tps on a single GPU.