A TypeScript code intelligence server for AI coding agents via MCP (Model Context Protocol).
AI coding agents working with TypeScript treat code as text — reading entire files, grepping for patterns, guessing at types. ts-language-mcp exposes TypeScript's own compiler intelligence through MCP tools:
| Raw File Access | ts-language-mcp |
|---|---|
| Read entire file to find a function | Jump directly to definition |
| Grep for usage patterns | Get all references with read/write classification |
| Guess at types from context | Get exact types with full generic resolution |
| Hope renames don't break things | Preview and execute renames across files |
Unlike LSP-based alternatives, ts-language-mcp uses the TypeScript compiler API directly — zero config, deeper intelligence (AST search, batch analysis, executable renames, project-wide diagnostics), and no external LSP server required.
# Analyze current directory
npx ts-language-mcp
# Analyze specific project
npx ts-language-mcp /path/to/typescript/project
# Custom server name
npx ts-language-mcp --name my-ts-server /path/to/projectClaude Code:
claude mcp add typescript -- npx ts-language-mcp /path/to/your/projectClaude Desktop, Cline, etc.:
{
"mcpServers": {
"typescript": {
"command": "npx",
"args": ["ts-language-mcp", "/path/to/your/project"]
}
}
}The target project needs a tsconfig.json and TypeScript source files. The server auto-loads compiler options and watches for file changes.
typescript://project/files- List all indexed project filestypescript://project/config- Current compiler optionstypescript://file/{path}- Read file content
| Category | Tool | Description |
|---|---|---|
| Navigation | get_definition |
Jump from usage to declaration |
get_references |
Find all usages with read/write classification | |
get_implementations |
Find concrete implementations of interfaces | |
get_call_hierarchy |
Trace function callers / callees | |
get_type_hierarchy |
Navigate inheritance chains | |
| Type Intelligence | get_hover |
Type info and JSDoc at a position |
get_signature |
Function parameter help | |
| Code Structure | get_symbols |
Flat list of symbols in a file |
get_outline |
Hierarchical file structure | |
get_imports |
List all imports with details | |
| Semantic Search | find |
AST search by name pattern, kind, scope |
get_workspace_symbols |
Fast fuzzy symbol search | |
| Diagnostics | get_diagnostics |
Errors/warnings for a file |
get_all_diagnostics |
Project-wide diagnostics | |
get_completions |
Context-aware completions | |
| Refactoring | rename_preview |
Preview rename impact |
rename_symbol |
Execute rename across project | |
format_document |
Format with built-in formatter | |
| Efficiency | analyze_position |
Combined analysis in one call |
batch_analyze |
Analyze multiple positions at once |
npm test # Run tests (watch)
npm run test:run # Run tests once
npm run build # Build
npm run dev # Watch modesrc/
index.ts # CLI entry point
server.ts # MCP server setup
language-service.ts # TypeScript Language Service wrapper
ast-finder.ts # AST traversal for semantic search
tools.ts # MCP tool definitions and handlers
resources.ts # MCP resource definitions
types.ts # Shared type definitions
MIT