René's URL Explorer Experiment


Title: docs: document best practice for handling argument errors in MCP tools by radeshgovind-2005 · Pull Request #891 · modelcontextprotocol/java-sdk · GitHub

Open Graph Title: docs: document best practice for handling argument errors in MCP tools by radeshgovind-2005 · Pull Request #891 · modelcontextprotocol/java-sdk

X Title: docs: document best practice for handling argument errors in MCP tools by radeshgovind-2005 · Pull Request #891 · modelcontextprotocol/java-sdk

Description: The official Java SDK for Model Context Protocol servers and clients. Maintained in collaboration with Spring AI - docs: document best practice for handling argument errors in MCP tools by radeshgovind-2005 · Pull Request #891 · modelcontextprotocol/java-sdk

Open Graph Description: Resolves #356 Clarify the two-tier error model: Recoverable tool errors: use CallToolResult with isError(true) Protocol-level errors: throw McpError / let exceptions propagate as JSON-RPC errors ...

X Description: Resolves #356 Clarify the two-tier error model: Recoverable tool errors: use CallToolResult with isError(true) Protocol-level errors: throw McpError / let exceptions propagate as JSON-RPC errors ...

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

X: @github

direct link

Domain: github.com

route-pattern/_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format)
route-controllervoltron_pull_requests_fragments
route-actionpull_request_layout
fetch-noncev2:5dc23f64-00cc-a7d7-9b69-f60c9d3a6f4c
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id89D8:160EB:1A207A:21CF7C:6A601C45
html-safe-nonce6e5f3f5237ed074e8e7f84d975a6ce059154d03148b9b2f851800581038f3ccb
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4OUQ4OjE2MEVCOjFBMjA3QToyMUNGN0M6NkE2MDFDNDUiLCJ2aXNpdG9yX2lkIjoiNTUzNTI0MTc3NTY5Nzg5NDQ2OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac2bb1fa3008c5a5802a2a4471f75f0ed196fdc71ccb1c16918b23d8c28d56a4cb
hovercard-subject-tagpull_request:3460362622
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///voltron/pull_requests_fragments/pull_request_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/modelcontextprotocol/java-sdk/891/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/75a11808d404620ae1c958d0b6dadefde515eca99f47bbf39ac889198654396e/modelcontextprotocol/java-sdk/pull/891
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/75a11808d404620ae1c958d0b6dadefde515eca99f47bbf39ac889198654396e/modelcontextprotocol/java-sdk/pull/891
og:image:altResolves #356 Clarify the two-tier error model: Recoverable tool errors: use CallToolResult with isError(true) Protocol-level errors: throw McpError / let exceptions propagate as JSON-RPC errors ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameradeshgovind-2005
hostnamegithub.com
expected-hostnamegithub.com
None7e86a727ba4abf81d0638c5ead57286c17d3b2706f57813445c4316d8e848673
turbo-cache-controlno-cache
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
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasef13d8ac548fb76838b3d703c7fe2100887547d0e
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/modelcontextprotocol/java-sdk/pull/891#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fjava-sdk%2Fpull%2F891
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
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
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%2F891
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%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=modelcontextprotocol%2Fjava-sdk
Reloadhttps://github.com/modelcontextprotocol/java-sdk/pull/891
Reloadhttps://github.com/modelcontextprotocol/java-sdk/pull/891
Reloadhttps://github.com/modelcontextprotocol/java-sdk/pull/891
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/891
modelcontextprotocol https://github.com/modelcontextprotocol
java-sdkhttps://github.com/modelcontextprotocol/java-sdk
Notifications https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fjava-sdk
Fork 984 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 136 https://github.com/modelcontextprotocol/java-sdk/issues
Pull requests 147 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
Kehrlannhttps://github.com/Kehrlann
modelcontextprotocol:mainhttps://github.com/modelcontextprotocol/java-sdk/tree/main
radeshgovind-2005:docs/error-handling-best-practiceshttps://github.com/radeshgovind-2005/java-sdk/tree/docs/error-handling-best-practices
Conversationhttps://github.com/modelcontextprotocol/java-sdk/pull/891
Commits6 (6)https://github.com/modelcontextprotocol/java-sdk/pull/891/commits
Checkshttps://github.com/modelcontextprotocol/java-sdk/pull/891/checks
Files changedhttps://github.com/modelcontextprotocol/java-sdk/pull/891/files
docs: document best practice for handling argument errors in MCP toolshttps://github.com/modelcontextprotocol/java-sdk/pull/891#top
Kehrlannhttps://github.com/Kehrlann
modelcontextprotocol:mainhttps://github.com/modelcontextprotocol/java-sdk/tree/main
radeshgovind-2005:docs/error-handling-best-practiceshttps://github.com/radeshgovind-2005/java-sdk/tree/docs/error-handling-best-practices
https://github.com/radeshgovind-2005
radeshgovind-2005https://github.com/radeshgovind-2005
Mar 28, 2026https://github.com/modelcontextprotocol/java-sdk/pull/891#issue-4158885878
#356https://github.com/modelcontextprotocol/java-sdk/issues/356
#356https://github.com/modelcontextprotocol/java-sdk/issues/356
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/891
https://github.com/radeshgovind-2005
docs: document best practice for error handling in MCP tool implement…https://github.com/modelcontextprotocol/java-sdk/pull/891/commits/e87d015b13170752047f80a0745ea862dff91234
e87d015https://github.com/modelcontextprotocol/java-sdk/pull/891/commits/e87d015b13170752047f80a0745ea862dff91234
modelcontextprotocol#356https://github.com/modelcontextprotocol/java-sdk/issues/356
https://github.com/Kehrlann
Kehrlannhttps://github.com/Kehrlann
Apr 1, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/891#pullrequestreview-4044917455
View reviewed changes https://github.com/modelcontextprotocol/java-sdk/pull/891/files/e87d015b13170752047f80a0745ea862dff91234
Kehrlannhttps://github.com/Kehrlann
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/891
https://github.com/modelcontextprotocol/java-sdk/pull/891#pullrequestreview-4044917455
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/891
docs/server.mdhttps://github.com/modelcontextprotocol/java-sdk/pull/891/files/e87d015b13170752047f80a0745ea862dff91234#diff-307dce2103600fbe7bdad557e2576f7c0a7f658e9600357c81ba7c4b642d49b6
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/891
docs/server.mdhttps://github.com/modelcontextprotocol/java-sdk/pull/891/files/e87d015b13170752047f80a0745ea862dff91234#diff-307dce2103600fbe7bdad557e2576f7c0a7f658e9600357c81ba7c4b642d49b6
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/891
docs/server.mdhttps://github.com/modelcontextprotocol/java-sdk/pull/891/files/e87d015b13170752047f80a0745ea862dff91234#diff-307dce2103600fbe7bdad557e2576f7c0a7f658e9600357c81ba7c4b642d49b6
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/891
https://github.com/Kehrlann
Kehrlannhttps://github.com/Kehrlann
Apr 1, 2026https://github.com/modelcontextprotocol/java-sdk/pull/891#event-24116003822
https://github.com/Kehrlann
Kehrlannhttps://github.com/Kehrlann
documentation https://github.com/modelcontextprotocol/java-sdk/issues?q=state%3Aopen%20label%3Adocumentation
waiting for user https://github.com/modelcontextprotocol/java-sdk/issues?q=state%3Aopen%20label%3A%22waiting%20for%20user%22
Apr 1, 2026https://github.com/modelcontextprotocol/java-sdk/pull/891#event-24116008010
radeshgovind-2005https://github.com/radeshgovind-2005
April 1, 2026 16:22https://github.com/modelcontextprotocol/java-sdk/pull/891#commits-pushed-84ea9ed
https://github.com/radeshgovind-2005
https://github.com/Kehrlann
docs: clarify infrastructure errorshttps://github.com/modelcontextprotocol/java-sdk/pull/891/commits/84ea9ed888b008970fdcd7d0886f63aa01ad7cf6
84ea9edhttps://github.com/modelcontextprotocol/java-sdk/pull/891/commits/84ea9ed888b008970fdcd7d0886f63aa01ad7cf6
https://github.com/radeshgovind-2005
https://github.com/Kehrlann
docs: consolidate summary tablehttps://github.com/modelcontextprotocol/java-sdk/pull/891/commits/aaa8f817a347d7c6c685f976359050ac6878f973
aaa8f81https://github.com/modelcontextprotocol/java-sdk/pull/891/commits/aaa8f817a347d7c6c685f976359050ac6878f973
https://github.com/radeshgovind-2005
docs: update tool error handling example to use domain validationhttps://github.com/modelcontextprotocol/java-sdk/pull/891/commits/1616f28caf3d1f6f76dae70967879657473058be
1616f28https://github.com/modelcontextprotocol/java-sdk/pull/891/commits/1616f28caf3d1f6f76dae70967879657473058be
https://github.com/radeshgovind-2005
radeshgovind-2005https://github.com/radeshgovind-2005
Apr 1, 2026https://github.com/modelcontextprotocol/java-sdk/pull/891#issuecomment-4170952090
@Kehrlannhttps://github.com/Kehrlann
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/891
https://github.com/radeshgovind-2005
Merge branch 'main' into docs/error-handling-best-practiceshttps://github.com/modelcontextprotocol/java-sdk/pull/891/commits/511e654ace835be1bb9449de4ab370e17cb85e06
511e654https://github.com/modelcontextprotocol/java-sdk/pull/891/commits/511e654ace835be1bb9449de4ab370e17cb85e06
https://github.com/Kehrlann
Kehrlannhttps://github.com/Kehrlann
waiting for user https://github.com/modelcontextprotocol/java-sdk/issues?q=state%3Aopen%20label%3A%22waiting%20for%20user%22
Apr 2, 2026https://github.com/modelcontextprotocol/java-sdk/pull/891#event-24140983912
https://github.com/Kehrlann
Merge branch 'main' into docs/error-handling-best-practiceshttps://github.com/modelcontextprotocol/java-sdk/pull/891/commits/1eaa91cc733ae86553fb5a1a711556ed63625e5b
1eaa91chttps://github.com/modelcontextprotocol/java-sdk/pull/891/commits/1eaa91cc733ae86553fb5a1a711556ed63625e5b
https://github.com/Kehrlann
Kehrlannhttps://github.com/Kehrlann
April 2, 2026 09:05https://github.com/modelcontextprotocol/java-sdk/pull/891#event-24141226204
https://github.com/Kehrlann
Kehrlannhttps://github.com/Kehrlann
Apr 2, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/891#pullrequestreview-4049342554
View reviewed changes https://github.com/modelcontextprotocol/java-sdk/pull/891/files/1eaa91cc733ae86553fb5a1a711556ed63625e5b
https://github.com/Kehrlann
Kehrlannhttps://github.com/Kehrlann
cd2c21chttps://github.com/modelcontextprotocol/java-sdk/commit/cd2c21c1c82a0ca45fd50e798464566aef9267e3
Apr 2, 2026https://github.com/modelcontextprotocol/java-sdk/pull/891#event-24141259585
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/891
https://github.com/Kehrlann
Kehrlannhttps://github.com/Kehrlann
Apr 2, 2026https://github.com/modelcontextprotocol/java-sdk/pull/891#issuecomment-4175799719
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/891
ashakirinhttps://github.com/ashakirin
Apr 10, 2026 https://github.com/modelcontextprotocol/java-sdk/pull/891#ref-commit-d5ccb1d
https://github.com/radeshgovind-2005
https://github.com/ashakirin
docs: document best practice for handling argument errors in MCP tools (https://github.com/ashakirin/java-sdk/commit/d5ccb1d78e578443e3734e1518c7614f6d5aa16a
d5ccb1dhttps://github.com/ashakirin/java-sdk/commit/d5ccb1d78e578443e3734e1518c7614f6d5aa16a
modelcontextprotocol#891https://github.com/modelcontextprotocol/java-sdk/pull/891
modelcontextprotocol#356https://github.com/modelcontextprotocol/java-sdk/issues/356
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/java-sdk/pull/{{ revealButtonHref }}
Sign up for freehttps://github.com/join?source=comment-repo
Sign in to commenthttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fjava-sdk%2Fpull%2F891
https://github.com/Kehrlann
Kehrlann https://github.com/Kehrlann
https://github.com/modelcontextprotocol/java-sdk/pull/891/files/1eaa91cc733ae86553fb5a1a711556ed63625e5b
https://github.com/Kehrlann
Kehrlann https://github.com/Kehrlann
documentation https://github.com/modelcontextprotocol/java-sdk/issues?q=state%3Aopen%20label%3Adocumentation
Document best Practice for Handling Argument Errors in MCP Tool Rendering https://github.com/modelcontextprotocol/java-sdk/issues/356
Please reload this pagehttps://github.com/modelcontextprotocol/java-sdk/pull/891
https://github.com/radeshgovind-2005
https://github.com/Kehrlann
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.