Integrations
Enables AST-based code refactoring operations for JavaScript files including symbol renaming, file/folder renaming with automatic import path updates, and reference finding.
Provides a Node.js-based refactoring server that can be integrated with editor extensions like Cursor to perform code transformations.
Provides refactoring capabilities for TypeScript codebases including symbol renaming, finding references, and updating import paths, all performed using AST-based analysis.
MCP ts-morph Refactoring Tools
overview
The MCP server leverages ts-morph to provide refactoring operations for TypeScript and JavaScript codebases, and works with editor extensions such as Cursor to allow AST-based (Abstract Syntax Tree)-based symbol renaming, file/folder renaming, find references, and more.
Environment construction
Add the following settings to mcp.json
.
Features provided
The MCP server provides the following refactoring features, each of which uses ts-morph
to analyze the AST and make changes while maintaining consistency across the project:
Renaming symbols ( rename_symbol_by_tsmorph
)
- What it does : Globally rename a symbol (function, variable, class, interface, etc.) at a specific position in a specified file across the entire project.
- Use case : You want to change the name of a function or variable, but there are many references to it and it would be difficult to change it manually.
- Required information : project's
tsconfig.json
path, target file path, symbol position (line, column), current symbol name, new symbol name, symbol type.
Renaming a file/folder ( rename_filesystem_entry_by_tsmorph
)
- Feature : Renames the specified file or folder and automatically updates the paths in all
import
/export
statements in the project. - Use case : You change your file structure and want to modify import paths accordingly.
- Required information :
tsconfig.json
path of the project, the old path, and the new path. - Note : Updating path aliases and relative index imports may not be complete. Manual verification may be required after making changes. Imports with paths like
"."
,".."
,@/*
etc. may not update.
Finding references ( find_references_by_tsmorph
)
- What it does : Finds and lists the definition of a symbol at a particular location in a specified file, as well as all its references throughout the project.
- Use case : You want to understand where a function or variable is used. You want to investigate the impact of a refactoring.
- Required information : project's
tsconfig.json
path, target file path, symbol position (line, column).
Remove a path alias ( remove_path_alias_by_tsmorph
)
- Function : Replaces path aliases (such as
@/components
) inimport
/export
statements in the specified file or directory with relative paths (such as../../components
). - Use case : You want to make your project more portable or to conform to specific coding standards.
- Required information :
tsconfig.json
path of the project, path of the file or directory to process.
(Add any other features)
Developer Information
Prerequisites
- Node.js (for version, see
.node-version
orvolta
field inpackage.json
) - pnpm (see
packageManager
field inpackage.json
for version)
set up
Clone the repository and install the dependencies:
Build
Compiles TypeScript code into JavaScript.
The build artifacts are output to dist
directory.
test
Run the unit tests.
Linting and formatting
It statically analyzes and formats your code.
license
This project is released under the MIT license, see the LICENSE file for details.
You must be authenticated.
Tools
Provides TypeScript and JavaScript code refactoring operations using ts-morph, allowing AST-based symbol renaming, file/folder renaming, reference searching, and path alias removal when integrated with editor extensions like Cursor.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityTypeScript-based MCP server designed to enhance code editing experiences by providing features such as hover information, code completion, and diagnostics.Last updated -313MIT License
- AsecurityAlicenseAqualityA TypeScript MCP server port of Anthropic's filesystem editing tools, allowing file manipulation via client-approved operations without automated writes to prevent system harm.Last updated -55TypeScriptMIT License
- -securityAlicense-qualityA TypeScript-based MCP server that provides tools for making precise line-based edits to text files within allowed directories.Last updated -18TypeScriptMIT License
- AsecurityFlicenseAqualityA TypeScript-based server that visualizes project directory structures in Markdown format, automatically documenting file contents with syntax highlighting and supporting customizable exclusion patterns.Last updated -132TypeScript