MCP ts-morph Refactoring Tools

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.

Herramientas de refactorización de MCP ts-morph

descripción general

Este servidor MCP aprovecha ts-morph para proporcionar operaciones de refactorización para bases de código TypeScript y JavaScript. Funciona con extensiones de editor como Cursor para permitir el cambio de nombre de símbolos basado en AST, el cambio de nombre de archivos/carpetas y la búsqueda de referencias.

Construcción del entorno

Agregue las siguientes configuraciones a mcp.json .

{ "mcpServers": { "mcp-tsmorph-refactor": { // 任意のサーバー名 "command": "node", // TODO: ビルド後のエントリポイントへのパスを指定してください "args": ["/path/to/this/repo/dist/index.js"], "env": {} } } }

Características proporcionadas

Este servidor MCP proporciona las siguientes funciones de refactorización: Cada función utiliza ts-morph para analizar el AST y realizar cambios manteniendo la coherencia en todo el proyecto.

Cambiar el nombre de los símbolos ( rename_symbol_by_tsmorph )

  • Qué hace : cambia el nombre globalmente de un símbolo (función, variable, clase, interfaz, etc.) en una posición específica en un archivo especificado en todo el proyecto.
  • Caso de uso : desea cambiar el nombre de una función o variable, pero hay muchas referencias a ella y sería difícil cambiarla manualmente.
  • Información requerida : ruta del proyecto tsconfig.json , ruta del archivo de destino, posición del símbolo (línea y columna), nombre del símbolo actual, nombre del nuevo símbolo

Cambiar el nombre de un archivo o carpeta ( rename_filesystem_entry_by_tsmorph )

  • Característica : cambia el nombre del archivo o carpeta especificado y actualiza automáticamente las rutas en todas las declaraciones de import / export del proyecto.
  • Caso de uso : cambia la estructura de sus archivos y desea modificar las rutas de importación en consecuencia.
  • Información requerida : ruta tsconfig.json del proyecto, la ruta anterior y la ruta nueva.
  • Nota : Es posible que los alias de ruta y las importaciones de índices relativos no se actualicen por completo. Es posible que se requiera verificación manual después de cualquier cambio. Si importa utilizando rutas como "." , ".." , @/* etc., es posible que no se actualicen.

Encontrar referencias ( find_references_by_tsmorph )

  • Qué hace : busca y enumera la definición de un símbolo en una ubicación particular en un archivo especificado, así como todas sus referencias en todo el proyecto.
  • Caso de uso : desea saber dónde se utiliza una función o variable. Desea explorar el alcance de una refactorización.
  • Información requerida : ruta tsconfig.json del proyecto, ruta del archivo de destino, posición del símbolo (línea, columna).

Eliminar un alias de ruta ( remove_path_alias_by_tsmorph )

  • Función : Reemplaza los alias de ruta (como @/components ) en las declaraciones de import / export en el archivo o directorio especificado con rutas relativas (como ../../components ).
  • Caso de uso : desea que su proyecto sea más portable o que se ajuste a estándares de codificación específicos.
  • Información requerida : ruta tsconfig.json del proyecto, ruta del archivo o directorio a procesar.

(Agregue cualquier otra característica)

Información para desarrolladores

Prerrequisitos

  • Node.js (para la versión, consulte .node-version o volta en package.json )
  • pnpm (consulte el campo packageManager en package.json para conocer la versión)

configuración

Clonar el repositorio e instalar las dependencias:

git clone https://github.com/sirosuzume/mcp-tsmorph-refactor.git cd mcp-tsmorph-refactor pnpm install

Construir

Compila código TypeScript en JavaScript.

pnpm build

Los artefactos de compilación se envían al directorio dist .

prueba

Ejecute las pruebas unitarias.

pnpm test

Pelusa y formato

Analiza y formatea estáticamente su código.

# Lintチェック pnpm lint # Lint修正 pnpm lint:fix # フォーマット pnpm format

licencia

Este proyecto se publica bajo la licencia MIT. Consulte el archivo de LICENCIA para obtener más detalles.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Proporciona operaciones de refactorización de código TypeScript y JavaScript utilizando ts-morph, lo que permite el cambio de nombre de símbolos basado en AST, el cambio de nombre de archivos/carpetas, la búsqueda de referencias y la eliminación de alias de ruta cuando se integra con extensiones del editor como Cursor.

  1. 概要
    1. 環境構築
      1. 提供される機能
        1. シンボル名の変更 (rename_symbol_by_tsmorph)
        2. ファイル/フォルダ名の変更 (rename_filesystem_entry_by_tsmorph)
        3. 参照箇所の検索 (find_references_by_tsmorph)
        4. パスエイリアスの削除 (remove_path_alias_by_tsmorph)
      2. 開発者向け情報
        1. 前提条件
        2. セットアップ
        3. ビルド
        4. テスト
        5. リンティングとフォーマット
      3. ライセンス

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          TypeScript-based MCP server designed to enhance code editing experiences by providing features such as hover information, code completion, and diagnostics.
          Last updated -
          3
          13
          MIT License
          • Apple
        • A
          security
          A
          license
          A
          quality
          A 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 -
          5
          5
          TypeScript
          MIT License
        • -
          security
          A
          license
          -
          quality
          A TypeScript-based MCP server that provides tools for making precise line-based edits to text files within allowed directories.
          Last updated -
          18
          TypeScript
          MIT License
          • Apple
        • A
          security
          F
          license
          A
          quality
          A 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 -
          1
          3
          2
          TypeScript
          • Linux
          • Apple

        View all related MCP servers

        ID: byunmqla3h