m

mcp-refactoring

@marshally/mcp-refactoring
Hosted
0 Stars 6 次浏览 marshally 更新于 2026-08-23

MCP server exposing Martin Fowler's refactoring catalog to LLMs with 71+ refactorings

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

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

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tavily_search 14 个参数 需填 1 项

Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.

必填参数:query

tavily_extract 6 个参数 需填 1 项

Extract content from URLs. Returns raw page content in markdown or text format.

必填参数:urls

tavily_crawl 11 个参数 需填 1 项

Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.

必填参数:url

tavily_map 8 个参数 需填 1 项

Map a website's structure. Returns a list of URLs found starting from the base URL.

必填参数:url

tavily_research 2 个参数 需填 1 项

Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.

必填参数:input

服务介绍

mcp-refactoring

<!- - mcp-name: io.github.marshally/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

#  Using uvx (recommended)
uvx mcp-refactoring

#  Using pip
pip install mcp-refactoring

#  Using pipx
pipx install mcp-refactoring

# Requirements

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

Install the Python backend:

pip install molting-cli

# Claude Desktop Configuration

Add to your Claude Desktop config:

{
  "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        #  Method
src/order.py::Order::calculate_total# L10-L15  #  Line range
src/order.py::Order                         #  Class

# Configuration

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

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

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

Environment variable overrides:

MCP_REFACTORING_PYTHON_COMMAND=/path/to/molting
MCP_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

#  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/

# License

MIT License - see LICENSE for details.

相关 MCP 服务