← all repositories
modelcontextprotocol/java-sdk

MCP for Java: a reference implementation, not a stack mandate

A standardized way to build Model Context Protocol clients and servers in Java without dictating your entire framework stack.

3.6k stars Java AgentsCoding Assistants
java-sdk
Not currently ranked — collecting fresh signals.
star history

What it does The SDK implements the Model Context Protocol for Java 17+, letting applications expose or consume AI tools and context through a standardized interface built on JSON-RPC. It covers both client and server roles, with transport abstractions that default to familiar, dependency-free choices. Spring AI collaborates on the project and layers Boot starters, annotations, and security integrations on top.

The interesting bit The team deliberately avoided prescribing a single stack. The SDK leans on Reactive Streams with Project Reactor underneath, but adds a synchronous facade so you can block when you want to and stream when you need to. The same philosophy applies to Jackson for JSON, SLF4J for logging, and Servlet for server transport: common defaults, kept behind abstractions so you can swap them out.

Key highlights

  • Client and server transports are abstracted; core ships with JDK HttpClient and Jakarta Servlet to avoid extra dependencies
  • Async streaming is powered by Project Reactor, with a blocking facade layered on top for simpler use cases
  • Jackson handles JSON mapping by default, but mcp-core exposes an abstraction so alternatives can plug in
  • Observability metadata propagates through Reactor Context, while logging stays behind SLF4J with no backend forced on you
  • Spring AI offers parallel Boot starters, annotation-based method handling, and OAuth 2.0/API key security support

Caveats

  • Conformance tests show gaps: the client suite misses one check (9/10), and auth coverage sits at 12/14 scenarios
  • Authorization is left as pluggable hooks; the core provides no built-in authentication or authorization implementation

Verdict Pick this up if you need a spec-compliant MCP foundation in Java that integrates cleanly with Spring and leaves room for custom transport or JSON choices. If you are not touching MCP or need a fully batteries-included security model out of the box, look elsewhere.

Frequently asked

What is modelcontextprotocol/java-sdk?
A standardized way to build Model Context Protocol clients and servers in Java without dictating your entire framework stack.
Is java-sdk open source?
Yes — modelcontextprotocol/java-sdk is open source, released under the MIT license.
What language is java-sdk written in?
modelcontextprotocol/java-sdk is primarily written in Java.
How popular is java-sdk?
modelcontextprotocol/java-sdk has 3.6k stars on GitHub.
Where can I find java-sdk?
modelcontextprotocol/java-sdk is on GitHub at https://github.com/modelcontextprotocol/java-sdk.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.