mcpField
R
Refactoring MCP Server

Refactoring MCP Server

本地服务
github.com/marshally开发工具548 周前更新

关于 Refactoring MCP Server

Refactoring MCP Server 通过语言无关的设计向大模型提供 Martin Fowler 的重构目录。开发者可检查代码、分析代码异味、预览并应用重构;文档介绍了 Python 后端。

主要功能

  1. 01列出重构及其参数约定
  2. 02应用前预览代码变更
  3. 03对代码应用重构
  4. 04检查代码结构
  5. 05分析代码异味并建议重构

适用场景

  1. 01为代码库查找适用的重构方式
  2. 02在修改文件前审阅变更预览
  3. 03应用方法重命名或提取
  4. 04规划重构时检查代码结构

MCP 相关

该 MCP 服务提供列出、预览和应用重构,以及检查代码结构和分析代码的工具。它连接语言后端,文档中介绍了 Python 后端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"marshally-mcp-refactoring": {
"command": "uvx",
"args": [
"mcp-refactoring"
]
}
}
}
启动命令uvx mcp-refactoring

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-refactoring0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-refactoring

一个 MCP(模型上下文协议)服务,通过可插拔、语言无关的架构,向大模型提供 Martin Fowler 的重构目录。

功能

  • 71+ 种重构:完整实现 Martin Fowler 的重构目录
  • 可插拔架构:支持多种语言(首先支持 Python,计划支持 Ruby/Java/Go)
  • 默认安全:预览模式会在应用更改前展示更改内容
  • 针对大模型优化:使用 TOON 输出格式提升令牌效率

安装

# Using uvx (recommended)
uvx mcp-refactoring

# Using pip
pip install mcp-refactoring

# Using pipx
pipx install mcp-refactoring

要求

  • Python 3.10+
  • 语言后端(例如,用于 Python 的 molting-cli)

安装 Python 后端:

pip install molting-cli

Claude Desktop 配置

将以下内容添加到 Claude Desktop 配置中:

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

可用工具

list_refactorings

列出可用的重构及其参数约定。

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

预览重构将进行的更改(试运行)。

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

对代码库应用重构。

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

获取代码的结构信息。

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

分析代码中的异味并提出重构建议。

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

目标规范

每种语言均采用其原生约定:

Python
src/order.py::Order::calculate_total        # Method
src/order.py::Order::calculate_total#L10-L15  # Line range
src/order.py::Order                         # Class

配置

创建 ~/.mcp-refactoring/config.toml:

[backends.python]
enabled = true
command = "molting"

[backends.ruby]
enabled = false
command = "molting-rb"

环境变量覆盖项:

MCP_REFACTORING_PYTHON_COMMAND=/path/to/molting
MCP_REFACTORING_PYTHON_ENABLED=true

重构类别

基于 Martin Fowler 的目录:

  • 组合方法:extract-method、inline-method 等
  • 移动特性:move-method、extract-class 等
  • 整理数据:encapsulate-field、replace-type-code 等
  • 简化条件表达式:decompose-conditional、guard-clauses 等
  • 简化方法调用:rename-method、add-parameter 等
  • 处理泛化关系:pull-up-method、extract-interface 等

开发

# Clone the repository
git clone https://github.com/marshally/mcp-refactoring.git
cd mcp-refactoring

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

# Run linter
ruff check .

# Run type checker
mypy src/

许可证

MIT 许可证——详情请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。