关于 Refactoring MCP Server
Refactoring MCP Server 通过语言无关的设计向大模型提供 Martin Fowler 的重构目录。开发者可检查代码、分析代码异味、预览并应用重构;文档介绍了 Python 后端。
主要功能
- 01列出重构及其参数约定
- 02应用前预览代码变更
- 03对代码应用重构
- 04检查代码结构
- 05分析代码异味并建议重构
适用场景
- 01为代码库查找适用的重构方式
- 02在修改文件前审阅变更预览
- 03应用方法重命名或提取
- 04规划重构时检查代码结构
MCP 相关
该 MCP 服务提供列出、预览和应用重构,以及检查代码结构和分析代码的工具。它连接语言后端,文档中介绍了 Python 后端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。