java-sdk
This is the official Java SDK for the Model Context Protocol, letting Java applications act as MCP clients or servers through a standard interface. It supports both synchronous and asynchronous styles and is published to Maven Central as `io.modelcontextprotocol.sdk:mcp`; the README badge points to JDK 17. The README links to documentation for features, architecture, dependencies and BOM, and separate client and server guides, and notes that Spring AI MCP extends the SDK with Spring Boot client and server starters.
Most of the README explains design decisions. JSON uses Jackson behind an SDK abstraction in `mcp-core`, so other libraries can be plugged in. The public programming model is Reactive Streams, implemented internally with Project Reactor, with a synchronous facade on top for simple blocking use. Logging uses SLF4J, with Reactor Context for observability propagation, and the SDK supports both client transports and server transports with authorization. The README also covers building from source, running unit and conformance tests, and lists future directions.
Features
Why choose it
Trade-offs
Maintenance check
- Last commit
- 2026-10-27
- Commits, last 90 days
- 100+
- Releases, last 90 days
- 7
- Latest release
- v2.2.0-M1 (2026-10-16)
- Open issues
- 294
- Recent issues with at least one comment
- 5/7
Oldest week on the left; the latest four weeks are orange. Source: GitHub commit activity.
Status rule: archived on GitHub = Archived; last commit within 90 days = Active; 91 to 365 days = Slowing; older = Stale. All figures come from the GitHub API on the date shown.
Most discussed open issues
- #578 Add Primitive repository APIs (`ResourceRepository`, `ToolsRepository`, ... )20 comments · 2025-09-26
- #274 McpServerSession lifecycle doesn't support distributed services17 comments · 2025-05-28
- #902 Stabilize flaky test: McpCompletionTests.testCompletionErrorOnMissingContext14 comments · 2026-04-04
- #156 Optimization - avoid unnecessary payload copy when deserializing12 comments · 2025-04-14
- #1011 SEP-2575: Make MCP Stateless11 comments · 2026-06-06
Issue titles are quoted from GitHub. Open the link to check whether a problem still applies to the version you use.
Compatibility
Quick start
Use cases
Alternatives
Comments
No comments yet. Be the first!