Unlist get_pipeline_jobs and get_merge_request_diffs

What does this MR do and why?

This marks get_pipeline_jobs and get_merge_request_diffs as unlisted MCP tools.

Unlisted tools no longer show up in the MCP tools/list response or the AI Catalog tool picker. Direct MCP clients can still call these tools through tools/call. But custom agents that already selected one of these tools will lose it, because Workhorse builds the agent's tool set from tools/list. This is the same trade-off we accepted for create_issue in !254298 (merged).

  • get_pipeline_jobs is replaced by get_pipeline with include: ["jobs"].
  • get_merge_request_diffs is replaced by get_merge_request with include: ["diffs"] and detail: "full_patch".

Both replacements support pagination. But get_pipeline with include: ["jobs"] returns fewer job fields than get_pipeline_jobs: no failure_reason, duration, queued_duration, or timestamps. This field set was chosen when the facet was built, and this MR does not change it.

The MCP server is in Beta and moving to GA. Once GA, the tools/list catalog becomes a compatibility contract. Superseded tools need to stop being advertised before that happens.

This MR also fixes the get_merge_request docs. They used to point readers to get_merge_request_diffs, and did not document detail, diffs_after, or diffs_first.

References

How to verify locally

bundle exec rspec spec/requests/api/mcp/handlers/list_tools_spec.rb ee/spec/requests/api/mcp/handlers/list_tools_spec.rb ee/spec/models/ai/catalog/mcp_tool_spec.rb
bundle exec rspec spec/requests/api/mcp/handlers/call_tool_spec.rb -e get_merge_request_diffs

This was also verified end to end on a local GDK over real HTTP JSON-RPC: both tools are gone from tools/list, both still return real data through tools/call, and both replacements work.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Alex Filatov

Merge request reports

Loading
Loading