Skip to content

Latest commit

 

History

History
84 lines (59 loc) · 4.71 KB

File metadata and controls

84 lines (59 loc) · 4.71 KB
title Index
description Introduction to the Model Context Protocol (MCP) Java SDK

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](https://docs.spring.io/spring-ai/reference/2.0-SNAPSHOT/api/mcp/mcp-overview.html) 2.0+ and are no longer shipped by this SDK.
Use the [MCP Client Boot Starter](https://docs.spring.io/spring-ai/reference/2.0-SNAPSHOT/api/mcp/mcp-client-boot-starter-docs.html) and [MCP Server Boot Starter](https://docs.spring.io/spring-ai/reference/2.0-SNAPSHOT/api/mcp/mcp-server-boot-starter-docs.html) from Spring AI.
Also consider the [MCP Annotations](https://docs.spring.io/spring-ai/reference/2.0-SNAPSHOT/api/mcp/mcp-annotations-overview.html) and [MCP Security](https://docs.spring.io/spring-ai/reference/2.0-SNAPSHOT/api/mcp/mcp-security.html).

Next Steps