This page sets up Cursor with:
- the galaxy-mcp server, so the agent can list histories, run tools, upload data and invoke workflows on your Galaxy server;
- galaxy-skills, curated skills for using Galaxy (MCP tool surface, collections, user-defined tools, workflow reports, reproducibility);
- galaxy-dev-skills, skills for building Galaxy (tool wrappers, Nextflow conversion, ToolShed revisions, track hubs, hub posts);
- foundry-skills, the Galaxy Workflow Foundry's workflow-construction skills.
- Cursor with plugin support (Customize page in the sidebar).
- uv on your
PATH; the MCP server runs asuvx galaxy-mcp. - A Galaxy API key. See Getting a Galaxy API key.
The plugin's MCP config references ${env:GALAXY_URL} and
${env:GALAXY_API_KEY}, so export both in your shell profile (~/.zshrc
or ~/.bashrc) and start Cursor from a terminal, or log out and back in so
GUI apps pick them up:
export GALAXY_URL="https://usegalaxy.org"
export GALAXY_API_KEY="paste-your-key-here"Alternatively keep them in a project .env file; galaxy-mcp reads it from
the working directory.
- Open Customize in the sidebar, choose From GitHub Repository, and
enter
galaxyproject/agentic-plugins. - Install
galaxy-mcpandgalaxy-skills(using Galaxy); addgalaxy-dev-skillsif you write tool wrappers or convert pipelines, andfoundry-skillsif you build Galaxy workflows. Choose user or project scope. - Reload the window (Developer: Reload Window).
To try the plugins without a marketplace, clone this repository and copy or
symlink the plugin directories into ~/.cursor/plugins/local/, then reload.
If you only want the Galaxy connection, this link adds the server to your
mcp.json (it references the two environment variables, no secret is
embedded):
Add Galaxy to Cursor
Or add it by hand to ~/.cursor/mcp.json (global) or .cursor/mcp.json
(project):
{
"mcpServers": {
"galaxy": {
"command": "uvx",
"args": ["galaxy-mcp"],
"env": {
"GALAXY_URL": "${env:GALAXY_URL}",
"GALAXY_API_KEY": "${env:GALAXY_API_KEY}"
}
}
}
}A project config can also point at an env file instead:
"envFile": "${workspaceFolder}/.env".
-
Open Customize > MCP;
galaxyshould show as enabled with its tools listed. -
Ask the agent:
Connect to Galaxy and tell me who I am.It calls
get_userand reports your username and the server version.
If something is off, run /galaxy-connect in the agent chat; that skill walks
the agent through diagnosing the connection.
Type / in Agent chat and pick a skill, for example /galaxy-integration,
/galaxy-mcp-reference, /collection-manipulation, /udt-authoring,
/reproduciblify, /tool-dev, /nf-to-galaxy,
/pipeline-nextflow-to-galaxy, /discover-shed-tool. The agent also applies skills on its own when a request
matches a description. Installed skills are listed under Customize > Skills.
Cursor reads skills from ~/.cursor/skills/ and ~/.agents/skills/ (and
from .cursor/skills/ or .agents/skills/ in a project), walking them
recursively, so a plain clone works:
git clone https://github.com/galaxyproject/galaxy-skills ~/.cursor/skills/galaxy-skillsReinstall the plugins from Customize after the repository updates, or
git pull a local clone under ~/.cursor/plugins/local/ and reload.
- No
galaxyserver under Customize > MCP: reload the window; confirmuv --versionworks in a terminal Cursor can see. - "Missing Galaxy URL and API key": the variables are not visible to
Cursor (GUI launch without your shell profile). Use a project
.envfile, or start Cursor from a terminal where they are exported. - Server fails to start: run
uvx galaxy-mcpin a terminal to see the error. - "Provided API key is not valid": the key belongs to a different server or was revoked.
Importing the repository from Customize works today. Listing in the public
Cursor Marketplace is a manual submission at
cursor.com/marketplace/publish, to
be done once the repository lives under galaxyproject. Cursor's checklist,
and where this repo stands:
- valid
.cursor-plugin/plugin.jsonin each plugin, unique kebab-case names: yes descriptionon every plugin: yes- components with valid frontmatter: yes (one upstream skill has a YAML issue, galaxyproject/galaxy-skills#36)
- logo committed and referenced by relative path:
assets/logo.svg README.mddocuments usage and configuration: this file and the root README- multi-plugin repo with
.cursor-plugin/marketplace.jsonat the root: yes - tested locally in
~/.cursor/plugins/local/: not yet; do this before submitting