Skip to content

MCP Java SDK

Java SDK for the Model Context Protocol enables standardized integration between AI models and tools.

Features

  • MCP Client and MCP Server implementations supporting:
    • Protocol version compatibility negotiation with multiple protocol versions
    • Tools discovery, execution, list change notifications, and structured output with schema validation
    • Resources management with URI templates
    • Roots list management and notifications
    • Prompts handling and management
    • Sampling support for AI model interactions
    • Elicitation support for requesting user input from servers
    • Completions for argument autocompletion suggestions
    • Progress - progress notifications for tracking long-running operations
    • Logging - structured logging with configurable severity levels
  • Multiple transport implementations:
    • Default transports (included in core mcp module, no external web frameworks required):
      • STDIO-based transport for process-based communication
      • Java HttpClient-based SSE client transport for HTTP SSE Client-side streaming
      • Servlet-based SSE server transport for HTTP SSE Server streaming
      • Streamable HTTP transport for efficient bidirectional communication (client and server)
    • Optional Spring-based transports (available in Spring AI 2.0+, no longer part of this SDK):
      • WebFlux SSE client and server transports for reactive HTTP streaming
      • WebFlux Streamable HTTP server transport
      • WebMVC SSE server transport for servlet-based HTTP streaming
      • WebMVC Streamable HTTP server transport
      • WebMVC Stateless server transport
  • Supports Synchronous and Asynchronous programming paradigms
  • Pluggable JSON serialization (Jackson 2.x and Jackson 3.x)
  • Pluggable authorization hooks for server security
  • DNS rebinding protection with Host/Origin header validation

Tip

The core io.modelcontextprotocol.sdk:mcp module provides default STDIO, SSE, and Streamable HTTP client and server transport implementations without requiring external web frameworks.

Spring-specific transports (WebFlux, WebMVC) are now part of Spring AI 2.0+ and are no longer shipped by this SDK. Use the MCP Client Boot Starter and MCP Server Boot Starter from Spring AI. Also consider the MCP Annotations and MCP Security.

Next Steps

  • 🚀 Quickstart


    Get started with dependencies and BOM configuration.

    Quickstart

  • MCP Client


    Learn how to create and configure MCP clients.

    Client

  • MCP Server


    Learn how to implement and configure MCP servers.

    Server

  • GitHub


    View the source code and contribute.

    Repository