Add getting-started page for agentic Galaxy development - #4223
Draft
nekrut wants to merge 3 commits into
Draft
Conversation
Adds /tools/agentic-development/, a short getting-started guide for driving Galaxy from an AI agent (Orbit, Claude Code, Codex CLI, Gemini CLI) via the Galaxy MCP server, prototyping analysis steps as user-defined tools, and maturing that work toward the IUC and IWC. The setup section is written as prompts rather than configuration files: the agent has a shell, so it registers its own MCP server and clones the skills repo. Readers are told to export GALAXY_API_KEY and have the agent reference the variable, never paste the key into the conversation. Complements rather than duplicates the existing /tools/orbit/ and /tools/user-defined-tools/ pages, linking to both for detail. Instructions were executed before publication. Notable corrections that came out of that testing: - GALAXY_MCP_EXCLUDE_TAGS=write gives a read-only server on the Python (uvx galaxy-mcp) server, taking the catalog from 45 tools to 30, but is silently ignored by the Node variant, which still exposes every write tool. The page recommends the Python server for this reason. - connect is itself tagged write, so read-only mode removes it while the unauthenticated error still advises calling it. The page pre-empts this. - search_iwc_workflows needs no Galaxy credentials, making it a usable smoke test before an API key is working. - The udt-authoring skill ships an offline validator that runs Galaxy's real schema and linter with no server, catching the most common agent mistake (an output declaring neither from_work_dir nor discover_datasets). - The usegalaxy.org menu entry is "Manage Galaxy API Key"; the page it opens is titled "Manage API Key". User-defined tool availability is stated as requiring both enable_beta_tool_formats and a per-account user_tool_execute role, since the server setting alone is not sufficient. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018C8SdBrwFZddd8n6ypzGVG
The setup section told every reader to export GALAXY_API_KEY, but Orbit has a settings screen for this: Preferences -> Galaxy, which stores the key in the OS keychain and registers the MCP server itself. No export, no config file. Orbit readers are now pointed straight past the section, with a note that Orbit's plan-and-parameter approval gating stands in for the read-only mode the terminal agents get via GALAXY_MCP_EXCLUDE_TAGS. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018C8SdBrwFZddd8n6ypzGVG
<br><br> -> <br /><br /> in the Orbit callout, per normalize-content.mjs --fix-void-elements. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018C8SdBrwFZddd8n6ypzGVG
Contributor
Author
|
It needs to be carefully reviewed by human before flipped from draft. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
/tools/agentic-development/— a short getting-started guide for driving Galaxy from an AI agent (Orbit, Claude Code, Codex CLI, Gemini CLI) through the Galaxy MCP server, prototyping analysis steps as user-defined tools, and maturing that work toward the IUC and IWC.Opening as a draft — the underlying components are alpha/beta and moving quickly, and I would like eyes on the accuracy before this goes live.
What it covers
Eight sections, four figures, aimed at a developer who has never used Galaxy and wants to be productive in a day: the two-pane working model, what you need, agent-driven setup, the prototyping loop, a reviewer's checklist, where the work goes next, a dated status box, and further reading.
It complements rather than duplicates
/tools/orbit/and/tools/user-defined-tools/, linking to both for detail.Setup is written as prompts, not config files
The agent has a shell, so it registers its own MCP server and clones the skills repo. One prompt replaces four per-harness JSON/TOML configurations. Readers are told to
export GALAXY_API_KEYand have the agent reference the variable — pasting a key into the conversation puts it in the transcript and sends it to the model provider.Instructions were executed before writing
Every command was run. Corrections that came out of that, and which reviewers may want to check independently:
GALAXY_MCP_EXCLUDE_TAGS=writeis silently ignored by the Node server. On the Python server (uvx galaxy-mcp) it correctly takes the catalog from 45 tools to 30. Onnpx @galaxyproject/galaxy-mcpthe count is 37 before and after, still exposingrun_tool,create_user_tool,delete_user_tool,invoke_workflowandupload_file. The page recommends the Python server for read-only mode and says why. This may be worth an issue againstgalaxy-mcp.connectis itself taggedwrite, so read-only mode removes it — while the unauthenticated error still says "run connect()" and never mentions the env vars. The page pre-empts this.search_iwc_workflowsneeds no Galaxy credentials, which makes it a usable smoke test before an API key is working.udt-authoringskill shipsscripts/validate.py, which runs Galaxy's realUserToolSourceschema and linter offline with no server, catching the most common agent mistake (an output declaring neitherfrom_work_dirnordiscover_datasets).Points a reviewer may want to weigh in on
enable_beta_tool_formatsand a per-accountuser_tool_executerole. The flag is set on usegalaxy.org and usegalaxy.eu, but role grants live in the database and are not publicly verifiable, so the page teaches readers to check rather than asserting availability. Someone with operational knowledge should confirm this is the right framing.galaxy-mcppublishes a Claude Desktop config only. Claude Code and Codex were verified by execution; Gemini CLI was not installed on the test machine and is marked untested./api/mcpreturned 404 on usegalaxy.org, .eu and .org.au when this was written.Status box
The page carries a dated status callout, so it is clear what was true on 2026-08-26 and what will need revision as
galaxy-mcp(alpha), Orbit (beta), user-defined tools (beta) and the in-tree MCP server (experimental) move.Intended destination
This material is aimed at the GTN eventually; it lives on the hub for now.
🤖 Generated with Claude Code
https://claude.ai/code/session_018C8SdBrwFZddd8n6ypzGVG