mcp重构
一个MCP(模型上下文协议)服务器,通过可插拔的、与语言无关的架构将Martin Fowler的重构目录暴露给LLM。
特性
- 71+重构:Martin Fowler重构目录的完整实现
- 可插拔架构:支持多种语言(Python优先,Ruby/Java/Go计划)
- 默认安全:预览模式显示应用前的更改
- LLM优化:TOON输出格式,提高令牌效率
安装
# Using uvx (recommended)
uvx mcp-refactoring
# Using pip
pip install mcp-refactoring
# Using pipx
pipx install mcp-refactoring需求
- Python 3.10+
- 语言后端(例如。,
molting-cliPython)
安装Python后端:
pip install molting-cliClaude桌面配置
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"refactoring": {
"command": "uvx",
"args": ["mcp-refactoring"]
}
}
}可用工具
列表_因素
列出可用的重构及其参数契约。
list_refactorings(language="python", category="composing_methods")预览分解
预览重构会带来什么变化(模拟运行)。
preview_refactoring(
refactoring="extract-method",
target="src/order.py::Order::calculate#L10-L15",
params={"name": "calculate_tax"}
)应用程序重构
对代码库应用重构。
apply_refactoring(
refactoring="rename-method",
target="src/order.py::Order::calc",
params={"new_name": "calculate_total"}
)检查结构
获取有关代码的结构信息。
inspect_structure(path="src/order.py", depth="method")分析代码
分析代码中的气味并提出重构建议。
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的目录:
- 合成方法:提取方法、内联方法等。
- 移动功能:移动方法、提取类等。
- 组织数据:封装字段、替换类型代码等。
- 简化条件句:分解条件子句、保护子句等。
- 简化方法调用:重命名方法、添加参数等。
- 处理泛化:拉起方法、提取界面等。
发展
# 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许可证-请参阅 许可证 了解详情。
