Unlist the get_issue MCP tool superseded by get_work_item
What does this MR do and why?
Marks the REST-backed get_issue MCP tool as unlisted via route_setting :mcp, ..., unlisted: true in lib/api/issues.rb. It is superseded by get_work_item, whose notes facet now has full cursor pagination. The tool stays callable through tools/call so existing callers keep working while they migrate, but it is no longer advertised in tools/list or the AI Catalog picker.
Docs: adds an "Unlisted in GitLab 19.4" history entry and a supersession note pointing to get_work_item in doc/user/model_context_protocol/mcp_server_tools.md.
Specs: removes get_issue from the CE and EE list_tools expected annotations. The retired-tools context now also asserts get_issue is not advertised but remains resolvable through Mcp::Tools::Manager#get_tool.
This MR is the third layer of the retirement stack: it targets the branch of !254299 (merged), which itself targets the branch of !254298 (merged). Its diff therefore shows only this MR's own commit, and GitLab retargets it automatically as the lower layers merge. This MR is marked as blocked by the layer below.
References
Closes #628333 (closed)
Retirement umbrella: #622712 (closed)
How to verify locally
bundle exec rubocopis clean- CE and EE
list_toolsspecs pass - GDK end-to-end over real HTTP JSON-RPC (
POST /api/v4/mcp):tools/listno longer containsget_issue, andtools/call get_issuestill returns the issue