MCP server exposing the Galaxy tool refactoring facade to AI agents.
Project description
galaxy-tool-refactor-mcp
An MCP server that exposes the Galaxy tool refactoring framework to AI coding
agents. A tier-4 sibling of galaxy-tool-refactor-cli: both wrap the
galaxy-tool-refactor-registry facade (tier 3.6) for a different audience — the
CLI for humans at a terminal, this for agents over the Model Context Protocol.
Shape
The facade is library-first (structured args in, structured results out, no disk writes unless asked, introspectable), so the server is a thin adapter:
service.py— protocol-agnostic. Pure functions that take XML as astr(plusrulesets/select/ignore) and return JSON-abledicts by calling the facade. Nomcpimport; fully unit-tested.server.py— the FastMCP binding. A small handler per tool delegates toservice, and is the error boundary (facadeUnknownRuleset/UnknownRuleCode/UnknownProfileand tier-1ToolXmlSyntaxError→ a clean MCP tool error).
Tools
| MCP tool | What it does |
|---|---|
format_tool |
Apply a ruleset's fixable rules then format; returns canonical XML + advisory notes. |
upgrade_tool |
Repair then profile placement then format; minimal-bump by default (profile= moves only when strictly needed for validity; modernize opts into the behavior-preserving walk, capped at the lower of the behaviour ceiling and the deployment ceiling, the newest profile every major public Galaxy server runs; allow_behavior_change lifts the walk's behaviour gate only, target_profile caps the walk and may exceed the deployment ceiling); returns upgraded XML, steps applied, the behavior-preserving verdict, baseline_profile/reached_profile/stopped_at/blocking_codes/auto_fixed_codes, and notes. |
check_tool |
Report-only detect over the selected rules; returns the findings (each flagged fixable vs advisory). |
convert_help_tool |
Convert an RST <help> body to Markdown when provable (profile ≥ 24.2 + render-equivalence gate); returns converted XML or a skip reason. |
tokenize_version_tool |
Factor a literal version="<base>+galaxy<suffix>" into @TOOL_VERSION@/@VERSION_SUFFIX@ tokens when the expansion-equality gate proves it byte-identical; returns tokenized XML or a skip reason. |
list_rulesets |
The baked-in rulesets (name / codes / is_default / description). |
list_rules |
The baked-in rules (code / summary / family / fixable / rulesets). |
Agents supply content and receive content — the server never writes to disk.
Run
uv run galaxy-tool-refactor-mcp # serves over stdio
Point an MCP client (e.g. a coding agent) at that command. list_rulesets /
list_rules let the agent discover the available rulesets and rule codes at
runtime instead of hardcoding them.
See docs/decisions.md D1 for the design, and
docs/vision.md for the longer-horizon agent-authored-rules
direction (Goal 2, still future).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file galaxy_tool_refactor_mcp-0.3.2.tar.gz.
File metadata
- Download URL: galaxy_tool_refactor_mcp-0.3.2.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39358b338e61ab890fccd6c52051bea74c2959db4ed6edd3180b9f663a6ab93e
|
|
| MD5 |
ddc965f431281fc43efc987cb072eeb2
|
|
| BLAKE2b-256 |
d954b16781f23c46ddd625e85c856638d0886ff176ef7d2a2531d65aa717c4c1
|
Provenance
The following attestation bundles were made for galaxy_tool_refactor_mcp-0.3.2.tar.gz:
Publisher:
release.yml on richard-burhans/galaxy-tool-refactor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
galaxy_tool_refactor_mcp-0.3.2.tar.gz -
Subject digest:
39358b338e61ab890fccd6c52051bea74c2959db4ed6edd3180b9f663a6ab93e - Sigstore transparency entry: 1825763616
- Sigstore integration time:
-
Permalink:
richard-burhans/galaxy-tool-refactor@3a7b9a9f64a8f2dc56754159ff6e66e3905b6248 -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/richard-burhans
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3a7b9a9f64a8f2dc56754159ff6e66e3905b6248 -
Trigger Event:
push
-
Statement type:
File details
Details for the file galaxy_tool_refactor_mcp-0.3.2-py3-none-any.whl.
File metadata
- Download URL: galaxy_tool_refactor_mcp-0.3.2-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d284c7031f272bc6459a0eb8a2d1f738b6aef39c4f8dee596aa6fe67bb63ded6
|
|
| MD5 |
fe1db62adcd01d2c6311641f514caedb
|
|
| BLAKE2b-256 |
b546b7f276f6a5d197918be5ccd5e12313a23980e97e22dc668eda7a6b4fba2d
|
Provenance
The following attestation bundles were made for galaxy_tool_refactor_mcp-0.3.2-py3-none-any.whl:
Publisher:
release.yml on richard-burhans/galaxy-tool-refactor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
galaxy_tool_refactor_mcp-0.3.2-py3-none-any.whl -
Subject digest:
d284c7031f272bc6459a0eb8a2d1f738b6aef39c4f8dee596aa6fe67bb63ded6 - Sigstore transparency entry: 1825764075
- Sigstore integration time:
-
Permalink:
richard-burhans/galaxy-tool-refactor@3a7b9a9f64a8f2dc56754159ff6e66e3905b6248 -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/richard-burhans
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3a7b9a9f64a8f2dc56754159ff6e66e3905b6248 -
Trigger Event:
push
-
Statement type: