Implement MCP List Changed Notification handler endpoint
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=582750) </details> <!--IssueSummary end--> ## Summary We need to implement the List Changed Notification handler endpoint for the MCP Server to notify clients when the list of available tools changes. ## Background According to the [MCP specification](https://spec.modelcontextprotocol.io/specification/server/utilities/notifications/#list-changed-notification), servers that declare the `listChanged` capability SHOULD send a notification when the list of available tools changes. **From the spec:** > When the list of available tools changes, servers that declared the listChanged capability SHOULD send a notification ## Proposed Implementation 1. Declare the `listChanged` capability in the MCP server initialization 2. Implement a notification handler that sends updates when: - New tools are added - Existing tools are removed - Tool definitions are modified 3. Ensure the notification is sent to all connected clients 4. Remove development documentation for `tool_alias` when tools are renamed (added in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/215220) ## Acceptance Criteria - [ ] MCP server declares `listChanged` capability - [ ] Notification handler is implemented - [ ] Clients receive notifications when tool list changes - [ ] Implementation follows MCP specification requirements - [ ] Development docs updated ## Related - Parent Epic: https://gitlab.com/groups/gitlab-org/-/work_items/19474 - Related MR: !213867 (implements graphql mcp get work item notes query tool) ## Labels ~"Category:MCP Server" ~"group::ai framework" ~"type::feature"
issue