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

已验证STDIO仅桌面知识与记忆开发者工具

概览

AI 生成的概览

一个本地 MCP 服务器,向助手提供 Martin Fowler 重构目录,可列出、预览、应用和分析代码重构。

可以做什么
按语言和类别列出可用重构及其参数约定,基于 Martin Fowler 的 71 项以上重构目录,涵盖组合方法、搬移特性、组织数据、简化条件、简化方法调用和处理泛化。以试运行方式预览某次重构会带来的改动。对指定目标(文件、类、方法或行范围)应用重构。查看代码在文件、类或方法层面的结构信息。分析代码中的坏味道并建议重构。
适用场景
适合在助手需要清理或重构 Python 代码时使用,让它依据有名称、有目录的重构集合工作,并在实际改动前先预览。最适合已经使用受支持语言后端的开发者。
运行要求
作为本地进程运行,通常用 uvx 启动,或通过 pip、pipx 安装。需要 Python 3.10+ 以及语言后端(例如 Python 的 molting-cli)。可选配置位于配置文件,或通过 MCP_REFACTORING_PYTHON_COMMAND、MCP_REFACTORING_PYTHON_ENABLED 等环境变量设置。未声明身份验证。
安装前请注意
apply_refactoring 工具会修改代码库中的源文件,改动应经过审查并纳入版本控制;预览模式是更安全的第一步。目前仅说明实现了 Python,Ruby、Java 和 Go 尚在计划中。它依赖一个独立的后端命令,其路径可通过环境变量覆盖。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Refactoring MCP Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

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

bash
# Using uvx (recommended)uvx mcp-refactoring
# Using pippip install mcp-refactoring
# Using pipxpipx install mcp-refactoring

Requirements

  • Python 3.10+
  • A language backend (e.g., molting-cli for Python)

Install the Python backend:

bash
pip install molting-cli

Claude Desktop Configuration

Add to your Claude Desktop config:

json
{  "mcpServers": {    "refactoring": {      "command": "uvx",      "args": ["mcp-refactoring"]    }  }}

Available Tools

list_refactorings

List available refactorings with their parameter contracts.

list_refactorings(language="python", category="composing_methods")

preview_refactoring

Preview what changes a refactoring would make (dry-run).

preview_refactoring(    refactoring="extract-method",    target="src/order.py::Order::calculate#L10-L15",    params={"name": "calculate_tax"})

apply_refactoring

Apply a refactoring to the codebase.

apply_refactoring(    refactoring="rename-method",    target="src/order.py::Order::calc",    params={"new_name": "calculate_total"})

inspect_structure

Get structural information about code.

inspect_structure(path="src/order.py", depth="method")

analyze_code

Analyze code for smells and suggest refactorings.

analyze_code(path="src/order.py", smells=["long-method"])

Target Specification

Each language uses its native conventions:

Python

src/order.py::Order::calculate_total        # Methodsrc/order.py::Order::calculate_total#L10-L15  # Line rangesrc/order.py::Order                         # Class

Configuration

Create ~/.mcp-refactoring/config.toml:

toml
[backends.python]enabled = truecommand = "molting"
[backends.ruby]enabled = falsecommand = "molting-rb"

Environment variable overrides:

bash
MCP_REFACTORING_PYTHON_COMMAND=/path/to/moltingMCP_REFACTORING_PYTHON_ENABLED=true

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

bash
# Clone the repositorygit clone https://github.com/marshally/mcp-refactoring.gitcd mcp-refactoring
# Install in development modepip install -e ".[dev]"
# Run testspytest
# Run linterruff check .
# Run type checkermypy src/

License

MIT License - see LICENSE for details.

来源:README.md,提交 30d981a

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分