Document handler error and concurrency semantics
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 68/100
- Issue type
- Documentation
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- kotlin
- Domain
- documentation
Research direction
Start at the handler registration functions named in the issue and review their existing KDoc. Document the stated exception-to-result behavior, concurrent execution and cancellation semantics, and McpJson serialization requirements, including the effects of custom ContentNegotiation; the work is done when these handler semantics are covered in the registration-function KDoc.
Written by the indexing model from the issue text.
Description
How handlers behave isn't documented in one place. Document:
- Errors: what each handler type turns an exception into. For example, any exception from a tool handler, including
McpException, becomes aCallToolResultwithisError = true. - Concurrency: since 0.15.0, handlers run concurrently after initialization (up to a limit) on
handlerCoroutineContext, andnotifications/cancelledcancels a running handler. - Serialization: why MCP requires
McpJson(for exampleexplicitNulls = false), and what breaks when a customContentNegotiationsetup doesn't use it.
Add KDoc to the handler registration functions
- Dominant language
- Kotlin
- Stars
- 1.5k
- Forks
- 261
- Avg merge
- 4d 5m
- Merged PRs (30d)
- 39
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from modelcontextprotocol/kotlin-sdk
-
Client.connect does not apply the negotiated protocol version to Streamable HTTP transportPossibly taken @xu-baolin claimed this 23 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
modelcontextprotocol/kotlin-sdk#1090 ·
Maintainers usually reply within 2 days
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
modelcontextprotocol/kotlin-sdk#1088 ·
Maintainers usually reply within 2 days
-
An empty URI matches a single-variable resource templatePossibly taken @liyifan9642-creator claimed this 12 days ago. Openbug P3
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
modelcontextprotocol/kotlin-sdk#1085 ·
Maintainers usually reply within 2 days
-
AbstractClientTransport.checkState builds a broken error messagePossibly taken @mvanhorn claimed this 5 days ago. Openapi bug P3
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
modelcontextprotocol/kotlin-sdk#1083 · 1 comment ·
Maintainers usually reply within 2 days
-
Dropped resource-updated notifications are never loggedPossibly taken @leeshengis claimed this 18 days ago. Openbug P3
Difficulty 1/5 Under an hour Newbie friendliness 86/100
modelcontextprotocol/kotlin-sdk#1082 ·
Maintainers usually reply within 2 days
All issues in modelcontextprotocol/kotlin-sdk
Similar issues
-
Messages: Subscribe to the new communication websocket topicsPossibly taken @krusche claimed this 1 day ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
ls1intum/artemis-android#801 ·
Maintainers usually reply within 1 day
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
enhancement good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 85/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
software-mansion/enriched-markdown#1084 ·
Maintainers usually reply within 2 days