Skip to content

Orbit/Galaxy MCP: galaxy_run_tool docs say dataset_id but only the HDA id works -- wrong field yields a misleading "Required parameter(s) kwd not provided" error #375

Description

@dannon

Reported via beta feedback (v0.5.1, macOS/arm64, deepseek). Tester hit this running RepeatMasker, then reproduced it on cat1 -- so it's not tool-specific.

The ambiguity

galaxy_run_tool's docs say to pass inputs as:

{"input_name": {"src": "hda", "id": "dataset_id"}}

The literal word dataset_id is the problem. galaxy_get_history_contents returns two distinct id fields per item:

field role
id the HDA id -- the history/content association
dataset_id the underlying dataset id

Only the HDA id works in run_tool. A user reading the docs literally reaches for the field actually named dataset_id and it fails. The MCP gotchas file already says the right thing ("id = hex hash used in API calls"), so the run_tool docs contradict it.

Fix: say "the id field from galaxy_get_history_contents (the HDA id) -- not the dataset_id field" and use a placeholder like <hda_id> in the example instead of the word dataset_id.

The misleading error (the expensive half)

Passing the wrong id in {"src":"hda","id":"..."} form makes Galaxy return:

Required parameter(s) kwd not provided in request

That's simply wrong -- every parameter was provided; the id just didn't resolve. It sent the tester through six different input shapes (arrays, unflattened nested objects, boolean-as-string, array-wrapped booleans) before they realized the id was at fault. The structural examples in the error output show test-format arrays like "input1": ["1.bed"], which muddied it further.

Notably, passing a bad id in array form (["wrong_id"]) produces a much better error: invalid dataset id. The {"src":"hda","id":...} path should produce that same clear error.

Fix direction: validate/resolve the id in galaxy_run_tool before dispatch and surface "invalid dataset id" (ideally naming which input), rather than letting it surface as "kwd not provided."

Notes

(Beta tester feedback; ids/paths anonymized.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions