Get the FREE Ultimate OpenClaw Setup Guide →

benchmark s

MCP server from thiagomendes/benchmark-mcp-servers

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio thiagomendes-benchmark-mcp-servers docker run -i image-name

How to use

This MCP server benchmark repository provides a multi-language comparison of MCP servers implemented in Java, Go, Node.js, and Python. It includes a standardized benchmark suite that exercises four core MCP operations: a CPU-intensive Fibonacci calculation, an I/O-bound external data fetch, a JSON data processing step, and a simulated database query with controlled latency. The suite runs across four services (Java, Go, Node.js, Python) to measure latency, throughput, resource usage, and reliability under load. To use the benchmarks, first ensure you have Docker and Docker Compose installed, then start the full suite and run the load tests against each server as needed.

The four embedded tools are designed to be fair and comparable across implementations:

  • calculate_fibonacci: a recursive CPU-bound task to stress the compute path.
  • fetch_external_data: an HTTP GET against a controllable endpoint to stress I/O.
  • process_json_data: a data transformation step to exercise payload handling.
  • simulate_database_query: a latency-controlled operation to mimic DB access. You can run the entire benchmark with the provided orchestration, or target a single server to compare performance in isolation.

How to install

Prerequisites:

  • Docker and Docker Compose installed on your machine
  • Optional: k6 for local load testing (not required if using the containerized runner)
  1. Clone the repository and navigate to the project root: git clone <repository-url> cd benchmark-mcp-servers

  2. Build and start all server images using Docker Compose: docker-compose build docker-compose up -d

  3. Validate that servers are up and listening: docker-compose ps

    Expected ports (examples):

    Java: 8080, Go: 8081, Python: 8082, Node.js: 8083

  4. Run load tests (via containerized runner) or use k6 against a specific server:

    Full automated benchmark (from repository benchmark directory):

    cd benchmark ./run_benchmark.sh

    Manual single-server test (example against Java server):

    cd benchmark k6 run -e SERVER_URL=http://localhost:8080/mcp benchmark.js

  5. Stop and clean up when finished: docker-compose down

Additional notes

Notes and tips:

  • The benchmark targets four servers: Java, Go, Node.js, and Python, each implementing the same four tools for apples-to-apples comparison.
  • Default server endpoints are exposed on localhost with ports assigned in the docker-compose file (adjustable in docker-compose.yml).
  • If you need to re-run only a subset, refer to the benchmark directory scripts to execute targeted tests.
  • When debugging, inspect container logs with docker-compose logs <service-name> or docker logs <container-id>.
  • Ensure network access is not blocked for external HTTP fetch operations; you may provide mock endpoints within your local network if needed.
  • The npm_package field is not required for this multi-language benchmark; the repository does not publish a single npm package for the entire suite.

Related MCP Servers

Sponsor this space

Reach thousands of developers