Title: feat: Add client side handlers to handle pagination + fix: Support pagination in tools change notification handler by pantanurag555 · Pull Request #306 · modelcontextprotocol/java-sdk · GitHub
Open Graph Title: feat: Add client side handlers to handle pagination + fix: Support pagination in tools change notification handler by pantanurag555 · Pull Request #306 · modelcontextprotocol/java-sdk
X Title: feat: Add client side handlers to handle pagination + fix: Support pagination in tools change notification handler by pantanurag555 · Pull Request #306 · modelcontextprotocol/java-sdk
Description: Motivation and Context Tools change notification handler is meant to send the updated list of tools to all consumers (clients) who have signed up for tools change notifications. In the current implementation in java-sdk, this would only return the first page of tools to the consumer. This PR: Introduces a fix to ensure that the tools change notification handler deals with the pagination for list tools and returns a list of all tools across pages back to the consumer. Introduces list handlers for the MCP client that can be used to obtain a list of all tools, resources, prompts and resource templates respectively without making multiple list calls to deal with pagination. How Has This Been Tested? Wrote a unit test that broke down list tools result across pages. Tested with the code before and after the change introduced in the PR. The old code (without the PR change) fails to return the complete list of tools. The new code (with the change) successfully returns all the tools across all pages. Breaking Changes None Types of changes Bug fix (non-breaking change which fixes an issue) New feature (non-breaking change which adds functionality) Breaking change (fix or feature that would cause existing functionality to change) Documentation update Checklist I have read the MCP Documentation My code follows the repository's style guidelines New and existing tests pass locally I have added appropriate error handling I have added or updated documentation as needed
Open Graph Description: Motivation and Context Tools change notification handler is meant to send the updated list of tools to all consumers (clients) who have signed up for tools change notifications. In the current impl...
X Description: Motivation and Context Tools change notification handler is meant to send the updated list of tools to all consumers (clients) who have signed up for tools change notifications. In the current impl...
Opengraph URL: https://github.com/modelcontextprotocol/java-sdk/pull/306
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:79fd50e8-df3d-241a-cca2-0e4187ad9802 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | A526:23021C:FC8C3A:153A445:6A5B7217 |
| html-safe-nonce | e76d618e706a012ef558743c23cb051a3d56bfd28ce1537a3c87f1f6265c256c |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNTI2OjIzMDIxQzpGQzhDM0E6MTUzQTQ0NTo2QTVCNzIxNyIsInZpc2l0b3JfaWQiOiI2ODkyNjY5ODYxNzk1NDI2ODM5IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | f0f40180e91f8dce5ae279b746bfd1038aeae15b8ef36b40efd7824bc9e23607 |
| hovercard-subject-tag | pull_request:2584955253 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/modelcontextprotocol/java-sdk/pull/306/files |
| twitter:image | https://avatars.githubusercontent.com/u/11739818?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/11739818?s=400&v=4 |
| og:image:alt | Motivation and Context Tools change notification handler is meant to send the updated list of tools to all consumers (clients) who have signed up for tools change notifications. In the current impl... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5290d7e14309ad1e76106a9c4237bd1041517e83ea182c8ab756752cb0c6940b |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/modelcontextprotocol/java-sdk git https://github.com/modelcontextprotocol/java-sdk.git |
| octolytics-dimension-user_id | 182288589 |
| octolytics-dimension-user_login | modelcontextprotocol |
| octolytics-dimension-repository_id | 919609219 |
| octolytics-dimension-repository_nwo | modelcontextprotocol/java-sdk |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 919609219 |
| octolytics-dimension-repository_network_root_nwo | modelcontextprotocol/java-sdk |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 9c975978430e9ad293956f2bbdaf153b1bd84a99 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width