Skip to main content
Glama
jgauffin

ts-language-mcp

by jgauffin

ts-language-mcp

npm version License: MIT GitHub issues GitHub stars

A TypeScript code intelligence server for AI coding agents via MCP (Model Context Protocol).

Why Use This?

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.

Related MCP server: agent-workspace-mcp

Quick Start

# 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/project

MCP Client Configuration

Claude Code:

claude mcp add typescript -- npx ts-language-mcp /path/to/your/project

Claude 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.

Resources

  • typescript://project/files - List all indexed project files

  • typescript://project/config - Current compiler options

  • typescript://file/{path} - Read file content

Tools

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

Development

npm test          # Run tests (watch)
npm run test:run  # Run tests once
npm run build     # Build
npm run dev       # Watch mode

Architecture

src/
  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

License

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jgauffin/ts-language-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server