Skip to content

Latest commit

 

History

History
141 lines (107 loc) · 5.3 KB

File metadata and controls

141 lines (107 loc) · 5.3 KB

Galaxy for Cursor

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.

Prerequisites

  • Cursor with plugin support (Customize page in the sidebar).
  • uv on your PATH; the MCP server runs as uvx galaxy-mcp.
  • A Galaxy API key. See Getting a Galaxy API key.

Set the credentials

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.

Install the plugins

  1. Open Customize in the sidebar, choose From GitHub Repository, and enter galaxyproject/agentic-plugins.
  2. Install galaxy-mcp and galaxy-skills (using Galaxy); add galaxy-dev-skills if you write tool wrappers or convert pipelines, and foundry-skills if you build Galaxy workflows. Choose user or project scope.
  3. 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.

MCP server only (one click)

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".

Verify

  1. Open Customize > MCP; galaxy should show as enabled with its tools listed.

  2. Ask the agent:

    Connect to Galaxy and tell me who I am.
    

    It calls get_user and 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.

Use the skills

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.

Skills without the plugins

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-skills

Update

Reinstall the plugins from Customize after the repository updates, or git pull a local clone under ~/.cursor/plugins/local/ and reload.

Troubleshooting

  • No galaxy server under Customize > MCP: reload the window; confirm uv --version works 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 .env file, or start Cursor from a terminal where they are exported.
  • Server fails to start: run uvx galaxy-mcp in a terminal to see the error.
  • "Provided API key is not valid": the key belongs to a different server or was revoked.

For maintainers: marketplace listing

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.json in each plugin, unique kebab-case names: yes
  • description on 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.md documents usage and configuration: this file and the root README
  • multi-plugin repo with .cursor-plugin/marketplace.json at the root: yes
  • tested locally in ~/.cursor/plugins/local/: not yet; do this before submitting