ts-language-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_hoverA | Get type information and documentation for a symbol. Returns the type signature and any JSDoc comments. Target it either by "symbol" name (preferred: no need to know coordinates) or by explicit file/line/column. |
| get_completionsC | Get code completion suggestions at a position. Context-aware suggestions. |
| get_signatureA | Get function signature help when cursor is inside a function call's parentheses. Shows parameter names, types, and which parameter is active based on cursor position. |
| analyze_positionA | Get comprehensive analysis at a position: hover info, definition, references, diagnostics, and signature help in one call. |
| batch_analyzeB | Get hover, definition, references, diagnostics, and signature for multiple positions in one call. Use the "include" parameter to select which analyses to run (default: all). |
| get_definitionA | Find where a symbol is defined. Jump from usage to declaration. Target it either by "symbol" name (preferred: no need to know coordinates) or by explicit file/line/column. |
| get_referencesA | Find all usages of a symbol across the project. Each reference includes its kind: "definition", "read", or "write", and the source line it sits on. Target it either by "symbol" name (preferred: no need to know coordinates) or by explicit file/line/column. |
| get_type_definitionA | Jump to the declaration of a symbol's TYPE rather than of the symbol itself. For |
| get_implementationsB | Find all implementations of an interface or abstract method. Useful for understanding polymorphic code. Target it either by "symbol" name (preferred: no need to know coordinates) or by explicit file/line/column. |
| get_call_hierarchyA | Get call hierarchy for a function/method. Direction: "incoming" shows who calls this, "outgoing" shows what this calls. Target it either by "symbol" name (preferred: no need to know coordinates) or by explicit file/line/column. |
| get_type_hierarchyA | Get type hierarchy for a class/interface. Direction: "supertypes" shows parents, "subtypes" shows implementations/extensions. Target it either by "symbol" name (preferred: no need to know coordinates) or by explicit file/line/column. |
| get_symbolsA | List all symbols (functions, classes, etc.) defined in a file as a flat list. For hierarchical/nested structure, use get_outline instead. |
| get_outlineB | Get hierarchical structure/outline of a file. Returns nested symbols with their ranges. |
| get_importsA | List all imports in a file with their details (named imports, defaults, namespaces). |
| findA | Search for symbols in the AST by name pattern and kind. Supports glob patterns (*Service), regex (/^get/), and filtering by symbol kind (function, class, interface, string, comment, etc.) and export status. |
| get_workspace_symbolsA | Fast symbol search across the workspace by name. Faster than the find tool for simple name lookups. Supports fuzzy matching. |
| get_diagnosticsA | Get TypeScript + ESLint errors and warnings for a file. ESLint results are included when ESLint is installed in the target project. Results are sorted by severity and capped at the top 50 most severe by default. |
| get_all_diagnosticsA | Get TypeScript + ESLint errors and warnings for all files in the project. Useful for checking project health after changes. Results are sorted by severity (errors first) and capped at the top 50 most severe by default — summary.total reflects the true total and summary.truncated indicates when the cap was hit. |
| rename_previewA | Preview what locations would change when renaming a symbol. Shows all affected files and positions without making changes. |
| rename_symbolA | Rename a symbol across the project, writing the changes to disk. Handles shorthand properties and aliased imports correctly. Returns summary of files modified and total changes made. Target it either by "symbol" name (preferred: no need to know coordinates) or by explicit file/line/column. |
| format_documentA | Format a TypeScript/JavaScript file using TypeScript's built-in formatter and write the result to disk. Pass includeContent to also get the formatted text back. |
| get_code_fixesB | Get the fixes TypeScript itself proposes for the errors at a position, such as adding a missing import, adding a missing member, or removing unused code. Prefer this over hand-writing a fix for a reported diagnostic: the compiler already knows the exact edit, including the correct import path. Target it either by "symbol" name (preferred: no need to know coordinates) or by explicit file/line/column. |
| apply_code_fixA | Apply one of the fixes returned by get_code_fixes and write it to disk. Set applyToAll to fix every occurrence of the same problem in the file. Target it either by "symbol" name (preferred: no need to know coordinates) or by explicit file/line/column. |
| organize_importsA | Sort a file's imports and drop unused ones, using TypeScript's own organizer. Previews the edits by default; pass apply to write them to disk. |
| calculate_metricsA | Calculate code quality metrics: cyclomatic complexity per function, lines of code per function/file. Identifies complexity hotspots. Omit "file" for project-wide analysis. |
| find_indirection_hotspotsA | Find symbols most heavily accessed through layers of indirection (A → B → C). Returns worst offenders ranked by score with full call chains. Useful for identifying hidden coupling and deeply wrapped dependencies. |
| detect_duplicationA | Detect duplicate code blocks by comparing AST structure fingerprints. Matches are exact structural duplicates, ignoring identifier and literal values, so renamed copies are found but near-misses with an extra statement are not. |
| get_module_dependenciesA | Show what a file imports and what imports it, resolved through the TypeScript compiler so tsconfig "paths" aliases and package entry points are handled correctly. Covers static imports, re-exports, dynamic import() and require(). Includes efferent/afferent coupling and instability. |
| quality_reportA | Combined code quality report: worst complexity hotspots, most coupled/unstable modules, and duplicate code blocks — top offenders across all categories in one call. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Project Files | List of all TypeScript/JavaScript files in the project |
| Project Config | TypeScript compiler options from tsconfig.json |
| Project File | Contents of a single project file. Replace {path} with a project-relative path, for example typescript://file/src/index.ts. Use the Project Files resource to discover paths. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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