diff --git a/.github/workflows/conformance.yml b/.github/workflows/conformance.yml index 2e655d6ce..efd06938f 100644 --- a/.github/workflows/conformance.yml +++ b/.github/workflows/conformance.yml @@ -57,7 +57,7 @@ jobs: uses: modelcontextprotocol/conformance@v0.1.11 with: mode: client - command: 'java -jar conformance-tests/client-jdk-http-client/target/client-jdk-http-client-1.0.0-SNAPSHOT.jar' + command: 'java -jar conformance-tests/client-jdk-http-client/target/client-jdk-http-client-*-SNAPSHOT.jar' scenario: ${{ matrix.scenario }} expected-failures: ./conformance-tests/conformance-baseline.yml @@ -99,6 +99,6 @@ jobs: with: node-version: '22' # see https://github.com/modelcontextprotocol/conformance/pull/162 mode: client - command: 'java -jar conformance-tests/client-spring-http-client/target/client-spring-http-client-1.0.0-SNAPSHOT.jar' + command: 'java -jar conformance-tests/client-spring-http-client/target/client-spring-http-client-*-SNAPSHOT.jar' scenario: ${{ matrix.scenario }} expected-failures: ./conformance-tests/conformance-baseline.yml \ No newline at end of file diff --git a/conformance-tests/client-jdk-http-client/pom.xml b/conformance-tests/client-jdk-http-client/pom.xml index 0e6291ac9..c4eb9e54a 100644 --- a/conformance-tests/client-jdk-http-client/pom.xml +++ b/conformance-tests/client-jdk-http-client/pom.xml @@ -6,7 +6,7 @@ io.modelcontextprotocol.sdk conformance-tests - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT client-jdk-http-client jar @@ -28,7 +28,7 @@ io.modelcontextprotocol.sdk mcp - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT diff --git a/conformance-tests/pom.xml b/conformance-tests/pom.xml index 37a66b496..60e5cc857 100644 --- a/conformance-tests/pom.xml +++ b/conformance-tests/pom.xml @@ -6,7 +6,7 @@ io.modelcontextprotocol.sdk mcp-parent - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT conformance-tests pom diff --git a/conformance-tests/server-servlet/pom.xml b/conformance-tests/server-servlet/pom.xml index eeb8485ae..35b3c981d 100644 --- a/conformance-tests/server-servlet/pom.xml +++ b/conformance-tests/server-servlet/pom.xml @@ -6,7 +6,7 @@ io.modelcontextprotocol.sdk conformance-tests - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT server-servlet jar @@ -28,7 +28,7 @@ io.modelcontextprotocol.sdk mcp - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT diff --git a/docs/blog/.authors.yml b/docs/blog/.authors.yml deleted file mode 100644 index 7b255c403..000000000 --- a/docs/blog/.authors.yml +++ /dev/null @@ -1,5 +0,0 @@ -authors: - mcp-team: - name: MCP Java SDK Team - description: Maintainers of the MCP Java SDK - avatar: https://github.com/modelcontextprotocol.png diff --git a/docs/blog/index.md b/docs/blog/index.md deleted file mode 100644 index e61459078..000000000 --- a/docs/blog/index.md +++ /dev/null @@ -1 +0,0 @@ -# News diff --git a/docs/blog/posts/mcp-server-performance-benchmark.md b/docs/blog/posts/mcp-server-performance-benchmark.md deleted file mode 100644 index a08b807b6..000000000 --- a/docs/blog/posts/mcp-server-performance-benchmark.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -date: 2026-02-15 -authors: - - mcp-team -categories: - - Performance - - Benchmarks ---- - -# Java Leads MCP Server Performance Benchmarks with Sub-Millisecond Latency - -A comprehensive independent benchmark of MCP server implementations across four major languages puts Java at the top of the performance charts — delivering sub-millisecond latency, the highest throughput, and the best CPU efficiency of all tested platforms. - - - -## The Benchmark - -[TM Dev Lab](https://www.tmdevlab.com/mcp-server-performance-benchmark.html) published a rigorous performance comparison of MCP server implementations spanning **3.9 million total requests** across three independent test rounds. The benchmark evaluated four implementations under identical conditions: - -- **Java** — Spring Boot 4.0.0 + Spring AI 2.0.0-M2 on Java 21 -- **Go** — Official MCP SDK v1.2.0 -- **Node.js** — @modelcontextprotocol/sdk v1.26.0 -- **Python** — FastMCP 2.12.0+ with FastAPI 0.109.0+ - -Each server was tested with 50 concurrent virtual users over 5-minute sustained runs in Docker containers (1-core CPU, 1GB memory) on Ubuntu 24.04.3 LTS. Four standardized benchmark tools measured CPU-intensive, I/O-intensive, data transformation, and latency-handling scenarios — all with a **0% error rate** across every implementation. - -## Java's Performance Highlights - -The results speak for themselves: - -| Server | Avg Latency | Throughput (RPS) | CPU Efficiency (RPS/CPU%) | -|------------|-------------|------------------|---------------------------| -| **Java** | **0.835 ms** | **1,624** | **57.2** | -| Go | 0.855 ms | 1,624 | 50.4 | -| Node.js | 10.66 ms | 559 | 5.7 | -| Python | 26.45 ms | 292 | 3.2 | - -```mermaid ---- -config: - xyChart: - width: 700 - height: 400 - themeVariables: - xyChart: - backgroundColor: transparent ---- -xychart-beta - title "Average Latency Comparison (milliseconds)" - x-axis [Java, Go, "Node.js", Python] - y-axis "Latency (ms)" 0 --> 30 - bar [0.84, 0.86, 10.66, 26.45] -``` - -Java achieved the **lowest average latency** at 0.835 ms — edging out Go's 0.855 ms — while matching its throughput at 1,624 requests per second. Where Java truly stands out is **CPU efficiency**: at 57.2 RPS per CPU%, it extracts more performance per compute cycle than any other implementation, including Go (50.4). - -In CPU-bound workloads like Fibonacci calculation, Java excelled with a **0.369 ms** response time, showcasing the JVM's highly optimized just-in-time compilation. - -## A Clear Performance Tier - -The benchmark reveals two distinct performance tiers: - -- **High-performance tier**: Java and Go deliver sub-millisecond latencies and 1,600+ RPS -- **Standard tier**: Node.js (12x slower) and Python (31x slower) trail significantly - -Java's throughput is **2.9x higher than Node.js** and **5.6x higher than Python**. For latency-sensitive MCP deployments, the difference is even more pronounced — Java responds **12.8x faster than Node.js** and **31.7x faster than Python**. - -## What This Means for MCP Developers - -For teams building production MCP servers that need to handle high concurrency and low-latency tool interactions, Java with Spring Boot and Spring AI provides a battle-tested, high-performance foundation. The JVM's mature ecosystem, strong typing, and proven scalability make it an excellent choice for enterprise MCP deployments where performance and reliability are paramount. - -The full benchmark details, methodology, and raw data are available at [TM Dev Lab](https://www.tmdevlab.com/mcp-server-performance-benchmark.html). diff --git a/mcp-bom/pom.xml b/mcp-bom/pom.xml index b43b703fa..422462e05 100644 --- a/mcp-bom/pom.xml +++ b/mcp-bom/pom.xml @@ -7,7 +7,7 @@ io.modelcontextprotocol.sdk mcp-parent - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT mcp-bom diff --git a/mcp-core/pom.xml b/mcp-core/pom.xml index 67ed015bd..e540074f9 100644 --- a/mcp-core/pom.xml +++ b/mcp-core/pom.xml @@ -6,7 +6,7 @@ io.modelcontextprotocol.sdk mcp-parent - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT mcp-core jar diff --git a/mcp-json-jackson2/pom.xml b/mcp-json-jackson2/pom.xml index 7220318c5..a2af272c0 100644 --- a/mcp-json-jackson2/pom.xml +++ b/mcp-json-jackson2/pom.xml @@ -6,7 +6,7 @@ io.modelcontextprotocol.sdk mcp-parent - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT mcp-json-jackson2 jar @@ -70,7 +70,7 @@ io.modelcontextprotocol.sdk mcp-core - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT com.networknt diff --git a/mcp-json-jackson3/pom.xml b/mcp-json-jackson3/pom.xml index 55db3417f..77ac06ff1 100644 --- a/mcp-json-jackson3/pom.xml +++ b/mcp-json-jackson3/pom.xml @@ -6,7 +6,7 @@ io.modelcontextprotocol.sdk mcp-parent - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT mcp-json-jackson3 jar @@ -64,7 +64,7 @@ io.modelcontextprotocol.sdk mcp-core - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT tools.jackson.core diff --git a/mcp-test/pom.xml b/mcp-test/pom.xml index f08ccc883..f27b741c0 100644 --- a/mcp-test/pom.xml +++ b/mcp-test/pom.xml @@ -6,7 +6,7 @@ io.modelcontextprotocol.sdk mcp-parent - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT mcp-test jar @@ -24,7 +24,7 @@ io.modelcontextprotocol.sdk mcp-core - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT @@ -159,7 +159,7 @@ io.modelcontextprotocol.sdk mcp-json-jackson3 - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT test @@ -170,7 +170,7 @@ io.modelcontextprotocol.sdk mcp-json-jackson2 - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT test diff --git a/mcp/pom.xml b/mcp/pom.xml index 2db79f87b..576ab0ce8 100644 --- a/mcp/pom.xml +++ b/mcp/pom.xml @@ -6,7 +6,7 @@ io.modelcontextprotocol.sdk mcp-parent - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT mcp jar @@ -25,13 +25,13 @@ io.modelcontextprotocol.sdk mcp-json-jackson3 - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT io.modelcontextprotocol.sdk mcp-core - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT diff --git a/mkdocs.yml b/mkdocs.yml index 3e27c3fb5..5c71d8f54 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -48,9 +48,7 @@ nav: - Contributing: - Contributing Guide: contribute.md - Documentation: development.md - - API Reference: https://javadoc.io/doc/io.modelcontextprotocol.sdk/mcp-core/latest - - News: - - blog/index.md + - API Reference: https://www.javadocs.dev/io.modelcontextprotocol.sdk/mcp-core/1.0.0/index.html markdown_extensions: - admonition @@ -94,4 +92,3 @@ extra: plugins: - search - - blog diff --git a/pom.xml b/pom.xml index 13b456d8f..a854e5e73 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ io.modelcontextprotocol.sdk mcp-parent - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT pom https://github.com/modelcontextprotocol/java-sdk