
Refactoring MCP Server
io.github.marshally由 GitHub 帳號 marshally 發布v0.1.2更新於 Oct 24, 2026
MCP server exposing Martin Fowler's refactoring catalog to LLMs with 71+ refactorings
概覽
一個本機 MCP 伺服器,向助理提供 Martin Fowler 重構目錄,可列出、預覽、套用與分析程式碼重構。
- 可以做什麼
- 依語言與類別列出可用重構及其參數約定,依據 Martin Fowler 的 71 項以上重構目錄,涵蓋組合方法、搬移特性、組織資料、簡化條件、簡化方法呼叫與處理泛化。以試執行方式預覽某次重構會帶來的變更。對指定目標(檔案、類別、方法或行範圍)套用重構。檢視程式碼在檔案、類別或方法層級的結構資訊。分析程式碼中的壞味道並建議重構。
- 適用情境
- 適合助理需要清理或重構 Python 程式碼時使用,讓它依循有名稱、有目錄的重構集合工作,並在實際變更前先預覽。最適合已使用受支援語言後端的開發者。
- 執行需求
- 以本機程序執行,通常用 uvx 啟動,或透過 pip、pipx 安裝。需要 Python 3.10+ 以及語言後端(例如 Python 的 molting-cli)。選用設定位於設定檔,或透過 MCP_REFACTORING_PYTHON_COMMAND、MCP_REFACTORING_PYTHON_ENABLED 等環境變數設定。未宣告驗證機制。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Refactoring MCP Server,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
mcp-refactoring
An MCP (Model Context Protocol) server that exposes Martin Fowler's refactoring catalog to LLMs through a pluggable, language-agnostic architecture.
Features
- 71+ Refactorings: Full implementation of Martin Fowler's refactoring catalog
- Pluggable Architecture: Support for multiple languages (Python first, Ruby/Java/Go planned)
- Safe by Default: Preview mode shows changes before applying
- LLM-Optimized: TOON output format for token efficiency
Installation
Requirements
- Python 3.10+
- A language backend (e.g.,
molting-clifor Python)
Install the Python backend:
Claude Desktop Configuration
Add to your Claude Desktop config:
Available Tools
list_refactorings
List available refactorings with their parameter contracts.
preview_refactoring
Preview what changes a refactoring would make (dry-run).
apply_refactoring
Apply a refactoring to the codebase.
inspect_structure
Get structural information about code.
analyze_code
Analyze code for smells and suggest refactorings.
Target Specification
Each language uses its native conventions:
Python
Configuration
Create ~/.mcp-refactoring/config.toml:
Environment variable overrides:
Refactoring Categories
Based on Martin Fowler's catalog:
- Composing Methods: extract-method, inline-method, etc.
- Moving Features: move-method, extract-class, etc.
- Organizing Data: encapsulate-field, replace-type-code, etc.
- Simplifying Conditionals: decompose-conditional, guard-clauses, etc.
- Simplifying Method Calls: rename-method, add-parameter, etc.
- Dealing with Generalization: pull-up-method, extract-interface, etc.
Development
License
MIT License - see LICENSE for details.
來源:README.md,提交 30d981a
工具
0版本歷史
1- v0.1.2最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分