Title: feat(core): add URL elicitation support (SEP-1036) by sainathreddyb · Pull Request #939 · modelcontextprotocol/java-sdk · GitHub
Open Graph Title: feat(core): add URL elicitation support (SEP-1036) by sainathreddyb · Pull Request #939 · modelcontextprotocol/java-sdk
X Title: feat(core): add URL elicitation support (SEP-1036) by sainathreddyb · Pull Request #939 · modelcontextprotocol/java-sdk
Description: Summary Add URL-type elicitation schema support allowing servers to request URL input from users during tool execution (SEP-1036). Changes: UrlElicitationSchema and UrlElicitationResult types in McpSchema.java Client-side URL elicitation handler registration and dispatch in McpAsyncClient, McpClient, and McpClientFeatures Server exchange methods for URL elicitation requests in McpAsyncServerExchange and McpSyncServerExchange Comprehensive tests for schema serialization, client handler dispatch, and server exchange round-trips Motivation and Context SEP-1036 introduces a URL elicitation type, enabling MCP servers to request a URL from the user during tool execution — for example, asking the user to provide a callback URL, a webhook endpoint, or a resource link. This complements the existing form-based elicitation with a purpose-built schema for URL input. How Has This Been Tested? McpSchemaTests: Serialization/deserialization round-trip tests for UrlElicitationSchema and UrlElicitationResult McpAsyncClientResponseHandlerTests: Client-side handler registration and dispatch for URL elicitation requests McpAsyncServerExchangeTests / McpSyncServerExchangeTests: Server exchange URL elicitation request/response flow Full build passes: ./mvnw clean test — all modules green (BUILD SUCCESS) Tested by creating server that supports url elicitation Breaking Changes None. This is a purely additive change — new types and methods alongside existing elicitation support. 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](https://modelcontextprotocol.io) 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 Additional context This implements the Java SDK side of SEP-1036. The schema types follow the same pattern as the existing ElicitationSchema/ElicitationResult for form-based elicitation, keeping the API consistent.
Open Graph Description: Summary Add URL-type elicitation schema support allowing servers to request URL input from users during tool execution (SEP-1036). Changes: UrlElicitationSchema and UrlElicitationResult types in M...
X Description: Summary Add URL-type elicitation schema support allowing servers to request URL input from users during tool execution (SEP-1036). Changes: UrlElicitationSchema and UrlElicitationResult types in M...
Opengraph URL: https://github.com/modelcontextprotocol/java-sdk/pull/939
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:6f6a4961-7364-13b0-728d-b4b92592a95b |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 834C:18F053:A27DC0:D9BD51:6A5B4D6F |
| html-safe-nonce | 29859bfb60274364bdc37b5c4789b427f8f9f8076cccb51a145d5259f2c57158 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MzRDOjE4RjA1MzpBMjdEQzA6RDlCRDUxOjZBNUI0RDZGIiwidmlzaXRvcl9pZCI6IjIxMjMzODM4NTM4NDcxMDQ4NzkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 9f1a1c31c1b0abcaffcfbebf0fa827896b3e0d4bf6313021fa01d29c138a1e52 |
| hovercard-subject-tag | pull_request:3592449109 |
| 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/939/files |
| twitter:image | https://avatars.githubusercontent.com/u/39425617?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/39425617?s=400&v=4 |
| og:image:alt | Summary Add URL-type elicitation schema support allowing servers to request URL input from users during tool execution (SEP-1036). Changes: UrlElicitationSchema and UrlElicitationResult types in M... |
| 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