Skip to main content
Glama
tsserver-mcp-server

tsserver-mcp-server

by Chia1104

tsserver-mcp-server

⚠️ Early development: this project is in an early stage and currently supports only a single TypeScript project at a time.

An MCP (Model Context Protocol) server built on the TypeScript Language Service. It exposes tools for completions, go-to-definition, type info, diagnostics, and more for use by AI or IDE clients.

Install dependencies

bun install

Related MCP server: VSCode MCP

Run

bun serve

Runs in stdio mode for MCP client connections.

Tools

Tool

Description

get_completions

Get completion suggestions at the cursor position

get_definition

Get the definition location of a symbol (Go to Definition)

get_type_definition

Get the definition location of a type

get_quick_info

Get type and documentation at the cursor (Hover)

get_signature_help

Get signature help (parameter hints) at a function call

get_references

Get all reference locations of a symbol (Find References)

get_diagnostics

Get syntactic and semantic diagnostics (errors/warnings) for a file

Input parameters (shared by most tools)

  • filePath: File path (absolute or relative to project root)

  • fileContent: File content (TypeScript/JavaScript source code)

  • line / offset: Cursor line and column (1-based)

  • projectPath (optional): Project root directory (the one that contains node_modules / tsconfig). When set, the server reads other project files from disk so that imports (e.g. zod), go-to-definition, and find-references work across the project. If omitted, only the in-memory fileContent is used.

Cursor MCP configuration example

Add to your Cursor MCP settings:

{
  "mcpServers": {
    "tsserver": {
      "command": "bun",
      "args": ["run", "/path/to/tsserver-mcp-server/index.ts"]
    }
  }
}

Replace /path/to/tsserver-mcp-server with the actual path to this project.

Technical notes

  • Uses TypeScript’s built-in ts.createLanguageService; does not depend on a separate tsserver process.

  • Project mode: Pass projectPath (your repo root) so the host reads from disk. Then node_modules, cross-file definitions, and references work.

  • Single-file mode: Omit projectPath (or only pass filePath + fileContent) to analyze one file in isolation without disk access.

Available Tools

7 tools
get_completionsB

Get completion suggestions (completion list) at the given position

Inputs: line (required), offset (required), filePath (required), fileContent (required), +1 more.

get_definitionC

Get the definition location of the symbol at the cursor (Go to Definition)

Inputs: line (required), offset (required), filePath (required), fileContent (required), +1 more.

get_diagnosticsA

Get syntactic and semantic diagnostics (errors/warnings) for the file

Inputs: filePath (required), fileContent (required), projectPath.

get_quick_infoA

Get type and documentation at the cursor (hover)

Inputs: line (required), offset (required), filePath (required), fileContent (required), +1 more.

get_referencesA

Get all reference locations of the symbol at the cursor (Find References)

Inputs: line (required), offset (required), filePath (required), fileContent (required), +1 more.

get_signature_helpB

Get signature help (parameter hints) at a function call

Inputs: line (required), offset (required), filePath (required), fileContent (required), +1 more.

get_type_definitionB

Get the definition location of the type at the cursor

Inputs: line (required), offset (required), filePath (required), fileContent (required), +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool targets a distinct IDE feature: completions, definition, type definition, hover info, diagnostics, signature help, and references. There is no overlap in their purposes.

    Naming Consistency5/5

    All tool names follow the get_verb_noun pattern, making them predictable and consistent. The naming convention is uniform throughout.

    Tool Count5/5

    Seven tools is a well-scoped count for a language server toolkit, covering the core navigation and diagnostic features without being excessive.

    Completeness4/5

    The set covers most common language server operations (navigation, hover, diagnostics, references), but misses features like rename or code actions. These gaps are minor and agents can work around them.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables MCP clients and AI coding agents to query a running editor instance for real-time LSP diagnostics, symbol/type information, references, file opening, and workspace-wide symbol renaming, avoiding slow tsc/eslint runs.
      -
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables MCP clients and AI coding agents to access real-time editor language-server diagnostics, type/hover/signature information, code references, and workspace-wide symbol renaming, replacing slow tsc/eslint checks.
      -
    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables AI coding agents and MCP-compatible clients to access an open editor's real-time language-server diagnostics, type and symbol information, code references, and workspace-wide symbol renaming without waiting for slow tsc/eslint checks.
      MIT