René's URL Explorer Experiment


Title: feat: implement support for SEP-1686 Tasks by LucaButBoring · Pull Request #755 · modelcontextprotocol/java-sdk · GitHub

Open Graph Title: feat: implement support for SEP-1686 Tasks by LucaButBoring · Pull Request #755 · modelcontextprotocol/java-sdk

X Title: feat: implement support for SEP-1686 Tasks by LucaButBoring · Pull Request #755 · modelcontextprotocol/java-sdk

Description: Implements SEP-1686 (Tasks), from the latest specification release. Motivation and Context Tasks address several protocol gaps: Avoiding tool splitting anti-patterns - No need to create separate start_tool, get_status, get_result tools; a single task-aware tool handles the full lifecycle Decoupling execution from result retrieval - Clients can dispatch operations immediately and collect results later, without blocking or re-executing if responses are dropped Moving orchestration to host applications - The polling logic lives in the host application/SDK, not in agents that might hallucinate or fail to follow polling contracts Usage Server: Defining a Task-Aware Tool TaskAwareAsyncToolSpecification.builder() .name("long-operation") .description("A long-running operation") .inputSchema(schema) // TaskSupportMode.REQUIRED is the default for task-aware tools .createTaskHandler((args, extra) -> { return extra.createTask() .flatMap(task -> { startBackgroundWork(task.taskId(), args); return Mono.just(CreateTaskResult.builder().task(task).build()); }); }) .build() Server: Using CreateTaskContext for Lifecycle Management CreateTaskHandler handler = (args, extra) -> { return extra.createTask(opts -> opts.pollInterval(500L)).flatMap(task -> { // Start async work that will complete the task later doAsyncWork(args) .flatMap(result -> extra.completeTask(task.taskId(), result)) .onErrorResume(e -> extra.failTask(task.taskId(), e.getMessage())) .subscribe(); return Mono.just(McpSchema.CreateTaskResult.builder().task(task).build()); }); }; TaskSupportMode options: REQUIRED (default): Must have task metadata; returns error otherwise OPTIONAL: Works with or without task metadata; auto-polling shim provides backward compatibility FORBIDDEN: No task support (regular tools) Client: Streaming API (Recommended) Drop-in replacement for callTool that handles polling automatically: client.callToolStream(request) .subscribe(msg -> switch(msg) { case TaskCreatedMessage tc -> log.info("Task: {}", tc.task().taskId()); case TaskStatusMessage ts -> log.info("Status: {}", ts.task().status()); case ResultMessage r -> handleResult(r.result()); case ErrorMessage e -> handleError(e.error()); }); Client: Task-Based API (For Explicit Control) For consumers who need custom polling behavior, cancellation logic, or batched task management: // Create task and get immediate response with task ID CreateTaskResult created = client.callToolTask(request); String taskId = created.task().taskId(); // Poll for status updates (with custom logic) GetTaskResult status = client.getTask(taskId); while (!status.isTerminal()) { Thread.sleep(status.pollInterval()); status = client.getTask(taskId); } // Retrieve final result CallToolResult result = client.getTaskResult(taskId, new TypeRef<>() {}); // Or cancel if needed client.cancelTask(taskId); Similar patterns exist for sampling (createMessageStream / createMessageTask) and elicitation (createElicitationStream / createElicitationTask). Server: Bidirectional Task Flows Servers can send task-augmented requests to clients, assuming the client has configured its own TaskStore: // Server requesting sampling from client with task tracking exchange.createMessageStream(new CreateMessageRequest(..., taskMetadata, null)) .subscribe(msg -> ...); // Server requesting elicitation from client with task tracking exchange.createElicitationStream(new ElicitRequest(..., taskMetadata, null)) .subscribe(msg -> ...); Key Design Decisions Experimental namespace - All task APIs are in io.modelcontextprotocol.experimental.tasks, signaling that the API may change (matches TypeScript/Python SDKs) TaskStore abstraction - Interface for pluggable storage; InMemoryTaskStore provided for development and testing. The originating request (e.g., CallToolRequest) is stored alongside the task, so tool routing can be derived from stored context rather than maintained as separate mapping state. Auto-polling shim - OPTIONAL mode tools work transparently for non-task-aware clients Defense-in-depth session isolation - Session ID required on all TaskStore operations; enforced at both server and storage layers to prevent cross-session task access Passing null for sessionId bypasses validation (single-tenant mode). This is used by McpAsyncClient since clients are inherently single-tenant - there's only one session, so cross-session isolation doesn't apply. How Has This Been Tested? Unit tests Client-server integration tests for the typical flows Spot-checking compatibility with the TS SDK 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 Additional context Closes #668 This PR also includes a tweak to how 202 Accepted is handled by the client implementation, which was done to handle how the TypeScript server SDK configures its response headers when accepting JSON-RPC responses and notifications from the client - in particular, sending InitializeNotification produced an exception in the Java SDK client before this, which made testing compatibility with the existing TS SDK's Tasks implementation rather difficult.

Open Graph Description: Implements SEP-1686 (Tasks), from the latest specification release. Motivation and Context Tasks address several protocol gaps: Avoiding tool splitting anti-patterns - No need to create separate s...

X Description: Implements SEP-1686 (Tasks), from the latest specification release. Motivation and Context Tasks address several protocol gaps: Avoiding tool splitting anti-patterns - No need to create separate s...

Opengraph URL: https://github.com/modelcontextprotocol/java-sdk/pull/755

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:deda5f97-9479-33fc-b23f-6c4383279ac2
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id8F26:949FB:2D884E:3F6697:6A5A4864
html-safe-nonceaa3a7f3a7279669a23e20a8ed209f37240606545848df32558255ca5cb033c78
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4RjI2Ojk0OUZCOjJEODg0RTozRjY2OTc6NkE1QTQ4NjQiLCJ2aXNpdG9yX2lkIjoiMTY3Mzc5NDk2NjU4ODYzOTMzMiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac3b73dc224452adddabdce8f35584341e6f495dddf68dbdba2b08755c2dd0bcdd
hovercard-subject-tagpull_request:3187166406
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/modelcontextprotocol/java-sdk/pull/755/files
twitter:imagehttps://avatars.githubusercontent.com/u/131398524?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/131398524?s=400&v=4
og:image:altImplements SEP-1686 (Tasks), from the latest specification release. Motivation and Context Tasks address several protocol gaps: Avoiding tool splitting anti-patterns - No need to create separate s...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonea793cd1fa898929111edad5857ee1f24ecf4bf7702525e67357cabc9df136fc3
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/modelcontextprotocol/java-sdk git https://github.com/modelcontextprotocol/java-sdk.git
octolytics-dimension-user_id182288589
octolytics-dimension-user_loginmodelcontextprotocol
octolytics-dimension-repository_id919609219
octolytics-dimension-repository_nwomodelcontextprotocol/java-sdk
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id919609219
octolytics-dimension-repository_network_root_nwomodelcontextprotocol/java-sdk
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release5aec27bb9c4f7ebe5fbbcd1533a5509e63a570a1
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/modelcontextprotocol/java-sdk/pull/755/changes#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fjava-sdk%2Fpull%2F755%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fjava-sdk%2Fpull%2F755%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=modelcontextprotocol%2Fjava-sdk
Reloadhttps://github.com/modelcontextprotocol/java-sdk/pull/755/changes
Reloadhttps://github.com/modelcontextprotocol/java-sdk/pull/755/changes
Reloadhttps://github.com/modelcontextprotocol/java-sdk/pull/755/changes
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/755/changes
modelcontextprotocol https://github.com/modelcontextprotocol
java-sdkhttps://github.com/modelcontextprotocol/java-sdk
Notifications https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fjava-sdk
Fork 979 https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fjava-sdk
Star 3.6k https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fjava-sdk
Code https://github.com/modelcontextprotocol/java-sdk
Issues 132 https://github.com/modelcontextprotocol/java-sdk/issues
Pull requests 146 https://github.com/modelcontextprotocol/java-sdk/pulls
Discussions https://github.com/modelcontextprotocol/java-sdk/discussions
Actions https://github.com/modelcontextprotocol/java-sdk/actions
Projects https://github.com/modelcontextprotocol/java-sdk/projects
Models https://github.com/modelcontextprotocol/java-sdk/models
Security and quality 2 https://github.com/modelcontextprotocol/java-sdk/security
Insights https://github.com/modelcontextprotocol/java-sdk/pulse
Code https://github.com/modelcontextprotocol/java-sdk
Issues https://github.com/modelcontextprotocol/java-sdk/issues
Pull requests https://github.com/modelcontextprotocol/java-sdk/pulls
Discussions https://github.com/modelcontextprotocol/java-sdk/discussions
Actions https://github.com/modelcontextprotocol/java-sdk/actions
Projects https://github.com/modelcontextprotocol/java-sdk/projects
Models https://github.com/modelcontextprotocol/java-sdk/models
Security and quality https://github.com/modelcontextprotocol/java-sdk/security
Insights https://github.com/modelcontextprotocol/java-sdk/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fmodelcontextprotocol%2Fjava-sdk%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fmodelcontextprotocol%2Fjava-sdk%2Fissues%2Fnew%2Fchoose
LucaButBoringhttps://github.com/LucaButBoring
modelcontextprotocol:mainhttps://github.com/modelcontextprotocol/java-sdk/tree/main
LucaButBoring:feat/taskshttps://github.com/LucaButBoring/mcp-java-sdk/tree/feat/tasks
Conversation 60 https://github.com/modelcontextprotocol/java-sdk/pull/755
Commits 11 https://github.com/modelcontextprotocol/java-sdk/pull/755/commits
Checks 21 https://github.com/modelcontextprotocol/java-sdk/pull/755/checks
Files changed https://github.com/modelcontextprotocol/java-sdk/pull/755/files
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/755/changes
feat: implement support for SEP-1686 Tasks https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#top
Show all changes 11 commits https://github.com/modelcontextprotocol/java-sdk/pull/755/files
3e52ee5 feat: implement support for SEP-1686 Tasks LucaButBoring Jan 16, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/755/commits/3e52ee537f95d537337ffaff3a8ecddd69c18597
c238541 chore: fix client documentation for getTaskResult LucaButBoring Jan 22, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/755/commits/c2385414876dadc89f00835abfc90b1e9085cec9
052bcaf chore: fix client documentation for getTask and make impls consistent LucaButBoring Jan 22, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/755/commits/052bcaf14b25201fc01fb34c0893a6ea98b224e4
b44384f chore: fix server documentation for getTask/getTaskResult LucaButBoring Jan 22, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/755/commits/b44384f70f0e778ac81bdec52f9b7ebdad935fbd
71dcfe3 chore: update sync variants of callToolStream etc. to actually return… LucaButBoring Jan 23, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/755/commits/71dcfe3aae2cddca41c0746a2b5adf5ff635ce09
ef82147 test: consume task streams before assertions LucaButBoring Jan 23, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/755/commits/ef82147a124473640a41ab72670f8a433c0559b6
7f4ee6f fix: properly queue responses and notifications during Task execution LucaButBoring Jan 25, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/755/commits/7f4ee6f64cbd0ca09eecc36bb10bbeb8a97c13d4
efc683e chore: reorder client feature parameters LucaButBoring Jan 26, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/755/commits/efc683efebf35efd3bf5d086e270b49ef3d7d81f
bdf3811 fix: add related-task metadata to task-related messages LucaButBoring Jan 27, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/755/commits/bdf381117e9d8959bef29b4426807cc6102137db
367a552 refactor(tasks): extract TaskManager from McpAsyncServer for modularity LucaButBoring Feb 5, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/755/commits/367a5524754973999ebe899357561cc05eabb26a
8534220 fix: resolve compilation errors after rebase onto upstream main LucaButBoring Feb 23, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/755/commits/853422065a66077913d713b95768baeebc6b9dbf
Clear filters https://github.com/modelcontextprotocol/java-sdk/pull/755/files
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/755/changes
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/755/changes
McpAsyncClient.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-4a7b3cc0ca46d3a01ae36554a9f4ba0cd914bcdb9e9fa7bbdaad3ed3f1856ad1
McpClient.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
McpClientFeatures.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-76de0b733b9c354edd31c769f95ecbeeb210288f7e6800adfbf1814f79b1a5c0
McpSyncClient.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-5da95b24ea63b6c69383a36dfe79d0f2ebaa86164d34253865dc645a2a4924d8
HttpClientStreamableHttpTransport.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-79d1e0cd342a177fc72fb441d3f9a52e057ec4a2e7e047f97eb27782b24f410a
AbstractTaskAwareToolSpecificationBuilder.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-12d89cdf8cc5789352f7ab36c55304eca0862450615bc4f3e59f9b6e60d03126
AbstractTaskHandler.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-193d4bf5eedf64d0ef948d20905dee68b5649a64b26672713fd7f4abf24feac0
ClientTaskHandler.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-2247c939a1718991c8b5047b564ce1525f9e50c9d83d366267c9414faee338d6
CreateTaskContext.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-746e50b8a033094c3f79536878dec002748d70cda956e4a9645e0e5f9ec945a7
CreateTaskHandler.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-d1e3f0580a7279f87ba756eb1cbeff972c6bfa3e7137b5dd140e823061581620
CreateTaskOptions.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-9214102462ac75d006bf0bfd268bef2768483a25397a21c6d5f5678710930a3e
DefaultCreateTaskContext.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-dd334a943ff0fe8770ac23b81e4744a3874536ad4d7eb5f5d1cf330c12ef66b1
DefaultSyncCreateTaskContext.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-af967c72bcd0c3c81cd147ce4933ebc9ce26468a6426a0caf16cf7a716220a80
DefaultTaskManager.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-c523612ce56206ff95d84cdd2cf97be88fc593602c7fc03ecfc4f611406640c8
GetTaskFromStoreResult.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-efb64fa48cdf79b995bb48cd597e1795a85bdd1cc73b0f844926ee5078d18594
GetTaskHandler.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-a34cd959ecc30b4539caac0eb3ab6cb50b135cf9cbe7362d97da7b6fac65bdf1
GetTaskResultHandler.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-d163d26d886e8688aedcc48d7424eb97e8a5465dad699925fca0b38c864d6d58
InMemoryTaskMessageQueue.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-6e017074b1feb6d75e3116fbec02bfc23702c08f46bf70d761f7ba75db0469e4
InMemoryTaskStore.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-41da349fa0e7c930033375dc3b023b34f85e77f2c4bfb9aac6c27ba486c852e4
NullTaskManager.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-3712b826232d08075739850f0434e71af71c323b54d3b848e3be10d9ebafa043
QueuedMessage.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-dc8914cd34fe7d9274ee88ee43cf7ba5afe0dee97b403efa44bb79273547f435
ServerTaskToolHandler.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-0bb4b65ce12b661cb437709f38bb4f969b99b3ff0f3f41478032673109299593
SyncCreateTaskContext.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-bb65d3a760047c7d6a47519e5df12a6b83add851eb3539f7fca64b3a6065637b
SyncCreateTaskHandler.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-44c9aa4d0560780f840d645342031f7fd7cc18c3ad53d96ef8a6503bd2536126
SyncGetTaskHandler.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-367fcc961a976f850b45660858de18f7607b3ed2fe6c1f665660fd1d68b2efd5
SyncGetTaskResultHandler.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-88eff5e5ab48b5212bef711638ccc7be3825a2ef15c63d584cc65d2c450f4190
TaskAwareAsyncToolSpecification.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-120fe6497e9da79cdd36e797b698dcaa0fb48b680c458b4bd6b8e072849e4842
TaskAwareSyncToolSpecification.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-1a89eef5b05d2493cc8f720390660d112faf6569a9852b7606fd975c4fc61561
TaskDefaults.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-661e38bda3e78fb9aea7229b781614bc75eb42226fb74e99eaae32d9e9730261
TaskHandlerRegistry.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-640c79ba0dfd2725fed4110b15e3c3a9954b8b0fb932fd7818a6325104b78a9e
TaskManager.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-bb72f8d854ce85c8a3ec9eec234d98a671d3c7e7da58e024d064b1bf6104918f
TaskManagerHost.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-ad15b4a01bd8717457ba4fd562b57bed6b075026d6542d9ada6226c3e226498d
TaskManagerOptions.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-2be4e4575b284e1315c9ef2f621fef4e955ef5e7298a2e4edd39ae21d23411f6
TaskMessageQueue.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-175511928008eb18db6c834c751584e7c0f642629e529ccb520765145084daa2
TaskMetadataUtils.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-982f24c6cfb40c4eda4f83f2d3ff8484c1416f133ff08d5a1cc7036fd3b9f504
TaskStore.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-23f3052efa0a0ea1de8db8ca99b3be155e3e08f90b0a7caf93adb3242dd215dd
TaskTypeRefs.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-580b9020d66e7511fa9ef7386ba0fc5f9ea428df60dde1ff562f0dcb0c3b0c76
package-info.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-5594f1109a34d56b428f34b7b87d53e9ab123b16a0aad6d922a4d198d811305b
McpAsyncServer.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-43308c9508778eb339f4e3310a6d5ea62b6865e878b60367a810437623efc08f
McpAsyncServerExchange.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-5ccbf0e78f2c3331b314693b6e364245f382988e6b56a61fea52d8e463fa69a4
McpServer.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-197e53631067b9ceace45556d6b017b617a8185e73d3d0cda4b5183eb0854f22
McpServerFeatures.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-effde46208dd9e3559462a27dc322c17c5c564232099bb441d20cfa37a3d872d
McpStatelessServerFeatures.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-8136b2e62811c0d9e694be501ebb7487c5e7e52012d449082a44892fd2bb46d9
McpSyncServer.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-9a97c5273c2d210279bc6bfee3a4865fe993e9fe31dff202bfbf5f7d05dfdf13
McpSyncServerExchange.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-613834bc521cd27fa41345a849f8e8cea22f0760df45e33b1117d218bfbb58ae
HttpServletStreamableServerTransportProvider.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-412456de564a90c70920887a33ecdabccee9280519e32c8ae55815539f566ebc
DefaultMcpStreamableServerSessionFactory.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-befaafa55aa1a8d49f638670225fba315f4a776f12465a9a84d8466fb66f857a
McpSchema.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-8ac83bd9fbe0774d8d98808d03fc46fab670b2bb8e09a1acc84e543886e61d79
McpServerSession.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-614204d9994ef918c0f537335aa5f5b874317dfb3887a155143d426612d5d716
McpSessionMessageProcessor.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-b462ccb397526a21f5045b1718e4b93de1119d08f767c1048e35d6f1fbeb26af
McpStreamableServerSession.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-ff3cf43c9692022ee390bd61e3d3c54cc52db0cb2e5949a88cc2a055f63febc5
AbstractTaskAwareToolSpecificationTest.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-2fbc057d4e11537f9be2bd379496bc4b9bef98fe98f632d68892a9f54f3e5cb4
InMemoryTaskMessageQueueTests.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-9ffb3411ef9a3e080aa2649f53f17299d30af2de302ca4614812e3602b250720
InMemoryTaskStoreTests.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-70beb101de935663682773c159ebe1466eeea1922c842100f44472d2662914bb
TaskAwareAsyncToolSpecificationTest.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-d7cbb0569863f1b201b2b491fc54ac88f48b77ae6c53b5e0bec2a0b0a1a7b7b6
TaskAwareSyncToolSpecificationTest.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-6bf8865342167ee9d6f066b98868c936d9dc54ff9d0260833ecc6c4308d63160
TaskManagerTests.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-2773a517322162afeb8e6183f4b0797fb7a3fe79315ec869e23a5aa88293b823
TaskTestUtils.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-70dc15c8ea6e22c65e7d49e962db16bcc07b68afbe704795fc0d27b082e1ef4d
McpAsyncServerExchangeTests.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-ee7fca54782969e3dbfc1327ac6fb45b4078c75e09c6f75c9bb2fc27f9dcbffc
logback.xml https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-d16dd33ab1f79f0289aad110e641a0c99ffb6ab6be4a3a7e280e09aebaed454d
AbstractMcpClientServerIntegrationTests.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-8a7092de2b895ef8883890498686ed9d8e2d24f1ca8ae03bf5c64f1e6f4045a0
AbstractMcpAsyncClientTests.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-6bdf12ed7cfbacd69dc27ba7f902e9dc81ba04b290ac0fb6d2ea9974798f9d9b
TaskTestUtils.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-37654e5274d5aede6203222998215f15e7bcf45cfc59d7aab4cab2f50c7317f3
AbstractMcpAsyncServerTests.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-46e273514df1ee6f2ad31bcc4211e3fd74bb108fd690a8019bdc8cb39708e5ce
AbstractMcpSyncServerTests.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-249586dc3b013e820eee2d23089392fa54b42de5f0ba63ef493dc2a82c2adb94
McpAsyncClientResponseHandlerTests.java https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-c0bb6120d6530d451871217e81f218f33b2edbb9e41721e22b1d64f4bc0ba462
mcp-core/src/main/java/io/modelcontextprotocol/client/McpAsyncClient.javahttps://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-4a7b3cc0ca46d3a01ae36554a9f4ba0cd914bcdb9e9fa7bbdaad3ed3f1856ad1
View file https://github.com/modelcontextprotocol/java-sdk/blob/853422065a66077913d713b95768baeebc6b9dbf/mcp-core/src/main/java/io/modelcontextprotocol/client/McpAsyncClient.java
Open in desktop https://desktop.github.com
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/755/changes
mcp-core/src/main/java/io/modelcontextprotocol/client/McpClient.javahttps://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
View file https://github.com/modelcontextprotocol/java-sdk/blob/853422065a66077913d713b95768baeebc6b9dbf/mcp-core/src/main/java/io/modelcontextprotocol/client/McpClient.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/java-sdk/pull/755/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
https://github.com/modelcontextprotocol/java-sdk/pull/755/changes#diff-75a351c5e8ebafba95458ed93e5ad4a84fc3b715a296b0a1ece82d8f3caf87ea
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/755/changes
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.