TB

thiagomendes/benchmark-mcp-servers

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

8 stars 12 forks 质量 37 趋势 16

A comprehensive experimental analysis comparing Model Context Protocol (MCP) server implementations across Java, Go, Node.js, and Python. Testing 3.

概览

A comprehensive experimental analysis comparing Model Context Protocol (MCP) server implementations across Java, Go, Node.js, and Python. Testing 3.9 million requests over three benchmark rounds to measure latency, throughput, resource efficiency, and production-readiness characteristics. This repository contains the source code and benchmark suite for a comprehensive performance analysis of Model Context Protocol (MCP) server implementations across four major programming ecosystems: - : Spring Boot + Spring AI - : Official SDK - : Official SDK - : FastMCP The goal is to provide empirical data to inform architectural decisions for production MCP deployments by measuring latency, throughput, resource consumption, and reliability. For the full detailed results, analysis, and recommendations, please visit the experiment post: - demonstrated sub-millisecond average latencies (~0.8ms) with throughput >1,600 RPS. - showed the highest resource efficiency (18MB memory vs Java's 220MB).

README

以下为原文 README 节选,完整内容请查看原文。

Multi-Language MCP Server Performance Benchmark

A comprehensive experimental analysis comparing Model Context Protocol (MCP) server implementations across Java, Go, Node.js, and Python. Testing 3.9 million requests over three benchmark rounds to measure latency, throughput, resource efficiency, and production-readiness characteristics.

Objective

This repository contains the source code and benchmark suite for a comprehensive performance analysis of Model Context Protocol (MCP) server implementations across four major programming ecosystems:

  • Java: Spring Boot + Spring AI
  • Go: Official SDK
  • Node.js: Official SDK
  • Python: FastMCP

The goal is to provide empirical data to inform architectural decisions for production MCP deployments by measuring latency, throughput, resource consumption, and reliability.

Results & Analysis

For the full detailed results, analysis, and recommendations, please visit the experiment post: https://www.tmdevlab.com/mcp-server-performance-benchmark.html

Key Findings Summary

  • Java and Go demonstrated sub-millisecond average latencies (~0.8ms) with throughput >1,600 RPS.
  • Go showed the highest resource efficiency (18MB memory vs Java’s 220MB).
  • Node.js and Python showed higher latencies (10-30x) but are suitable for development or moderate workloads.
  • All implementations achieved 0% error rates across 3.9 million requests.

Project Structure

benchmark-mcp-servers/
├── java-server/    # Spring Boot 4.0.0 + Spring AI 2.0.0-M2
├── go-server/      # Official MCP SDK v1.2.0
├── nodejs-server/  # SDK v1.26.0 (with CVE-2026-25536 mitigation)
├── python-server/  # FastMCP 2.12.0+ + FastAPI
├── benchmark/      # k6 load testing scripts and tools
└── docker-compose.yml

Benchmark Tools

Each server implements four identical tools for fair comparison:

  1. calculate_fibonacci: CPU-intensive recursive computation.
  2. fetch_external_data: I/O-intensive HTTP GET request.
  3. process_json_data: specific data transformation.
  4. simulate_database_query: Controlled latency simulation.

Running the Benchmark

Prerequisites

  • Docker & Docker Compose
  • k6 (for running load tests locally if not using the containerized runner)

Build and Start Servers

# Build all server images
docker-compose build

# Start all servers
docker-compose up -d

# Check status
docker-compose ps

The servers will be available at:

  • Java: http://localhost:8080
  • Go: http://localhost:8081
  • Python: http://localhost:8082
  • Node.js: http://localhost:8083

Run Load Tests

Option 1: Full Automated Benchmark

Run the complete benchmark suite (all servers) using the orchestration script:

cd benchmark
./run_benchmark.sh

Option 2: Manual Single Server Test

You can run k6 against a specific running server:

cd benchmark
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →