JevTrace
JevTrace is an MCP server that, given a plain-language JS/TS coding task, returns the code that task needs — traced through the TypeScript compiler — within a token budget.
retrieve_dependency_context(primary tool): pass a task in plain words (no file/line) and get the implementing functions plus compiler-linked callers, callees, types and tests, bounded bytokenBudget/maxChars.Project-wide task handling: requests like "find bugs" or "review the codebase" are detected by
scopeCheckand return a repository map plus per-area subtasks instead of code.retrieve_from_entry(compatibility path): use only when a trusted file/line, symbol, or structuredevidenceentry is already provided; supports reverse traversal,maxDepth/maxNodes, visit policy, body/omit thresholds, wrapper lookahead.discover_entries(diagnostics): returns raw discovery candidates and scores as JSON, not source code.Tunable retrieval controls:
contextRanking(jevorstructural),maxRelevantFiles/maxRelevantDirectories,lexicalMergeLimitandincludeLexicalParallel,perLeadTokenBudget/neighborhoodTokenBudget,reverseFanIn,maxCandidates,maxLeads,maxJevFiles.Project support:
.ts/.tsx/.js/.jsx/.mjs/.cjsand Vue components, ESM and CommonJS, with or without tsconfig/jsconfig, up to 20,000 source files (not Svelte/Astro).Rich UI output: ships a UI resource (
ui://jevtrace/context-savings-v2.html) to visualize context savings.
Allows using Vercel AI Gateway as a provider for the Jev decision model, enabling relevance judgments for compiler-guided TypeScript/JavaScript context retrieval.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@JevTrace show me the code that handles refresh token validation and what calls it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
JevTrace
Retrieval benchmark on 19 JS/TS tasks with labels written by the JevTrace authors — see the method, per-task results and limitations.
▶ See how it works in 30 seconds
Give it a coding task; it returns the JS/TS code that task needs, within a token budget. It uses the TypeScript compiler to follow calls, types, callers and tests, and uses the Jev decision model (through OpenRouter, TypeSafe, Vercel AI Gateway, OpenCode Zen or your own endpoint) to judge relevance.
Quick start
npx -y jevtrace setup # choose a provider and enter its API key, once
claude mcp add jevtrace --scope user -- npx -y jevtrace # Claude Code: searches whichever project you openCodex and Cursor take one config block each: see Claude Code, Codex and Cursor. To try it without an agent:
npx -y jevtrace query --root /path/to/your/project --task "Fix refresh token validation"Ask about one behaviour or area of an existing TS/JS codebase ("where is X decided, what else touches it"). Project-wide requests such as "find bugs" or "review everything" get per-area subtasks to call it with instead of code. Supports .ts/.tsx/.js/.jsx/.mjs/.cjs and Vue components, ES modules and CommonJS, with or without a tsconfig/jsconfig, up to 20,000 source files; not Svelte/Astro — see supported projects.
Related MCP server: ts-language-mcp
Docs
Claude Code, Codex and Cursor: setup for each client, and what to do when it does not work
Usage: CLI options, providers, MCP tools and parameters, benchmarks
Architecture: how discovery, compiler expansion and ranking work, and their limits
Agent benchmark vs jevgrep and ttsc, retrieval benchmark vs jevgrep, evaluation and real-task evaluation
Requires Node.js 20+. MIT license.
Available Tools
3 toolsdiscover_entriesB
Diagnostics: returns the raw discovery candidates and scores as JSON, not source code. For finding the code a task needs, use retrieve_dependency_context instead.
Inputs: task (required), maxFiles, maxLeads, maxJevFiles, +3 more.
retrieve_dependency_contextRetrieve JevTrace contextA
Use first when a JS/TS task needs code you have not located yet ("where is X handled", "change how Y works"): give the task in plain words and get the implementing functions plus the callers, callees, types and tests the TypeScript compiler links to them, within a token budget. Cheaper than searching and reading files one by one. Do not pass a file or line; describe the task.
Inputs: task (required), maxChars, maxFiles, maxLeads, +13 more.
retrieve_from_entryRetrieve from explicit entry (compatibility)B
Compatibility path for callers that already have a trusted JS/TS entry location. Use only when the user or an upstream tool explicitly provides the file/line, symbol, or structured evidence; do not infer an entry to call this instead of retrieve_dependency_context.
Inputs: task (required), file, line, symbol, +12 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
retrieve_dependency_context and retrieve_from_entry both retrieve dependency context but are clearly differentiated by input: one takes a natural language task, the other requires an explicit entry point. discover_entries is explicitly for diagnostics only. Descriptions strongly guide correct selection, though the two retrieve tools could still be confused without careful reading.
All names use snake_case and follow a verb_noun or verb_preposition_noun pattern. The consistent use of retrieve_ for the two retrieval tools and discover_ for the diagnostics tool is a minor deviation from a single verb pattern, but overall the naming is predictable and readable.
With only three tools, the set is tightly scoped to the server's purpose of retrieving dependency context from JS/TS code. Each tool has a distinct role: primary retrieval, compatibility entry-based retrieval, and diagnostics. No tool feels redundant or missing for the stated scope.
The server covers the core retrieval workflow: task-based context, entry-point-based context, and raw discovery diagnostics. This is likely sufficient for most JS/TS code navigation tasks. Minor gaps might exist for specialized queries, but no obvious dead ends are present.
Maintenance
Related MCP Connectors
Codebase intelligence for agents: 152 structured artifacts across 21 programs, one call.
Token-efficient search for coding agents over public and private documentation.
Stateless TS/JS compiler facts for agents: references, imports, impact. No repo index or OAuth.
Code-map tools for AI agents: see a repo's structure first, then edit only what matters.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceEnables AI assistants to surgically extract and analyze code, reducing token usage and costs by up to 200x compared to reading entire files.18MIT- AlicenseAqualityBmaintenanceEnables AI coding agents to interact with TypeScript projects through compiler-level code intelligence, providing tools for navigation, type information, diagnostics, refactoring, and semantic search.29179 npm4Apache 2.0
- AlicenseNot gradedqualityCmaintenanceContext compiler for AI coding agents that indexes TypeScript codebases to extract and serve only the relevant symbols and files for a task, reducing token usage and search overhead.1MIT
- AlicenseNot gradedqualityBmaintenanceProvides AI coding agents with token-budgeted, context-aware code retrieval from a persistent code graph, enabling efficient question answering without loading the entire repository.Apache 2.0