Skip to main content
Glama
jecklgamis

gatling-mcp-server

by jecklgamis

gatling-mcp-server

Build

A FastAPI MCP (Model Context Protocol) server built with FastMCP. Exposes gatling-server's task API as MCP tools over streamable-http transport, so an AI agent can upload a jar, submit a Gatling simulation, poll its status, and pull back logs - without anyone hand-writing curl.

This README covers developing gatling-mcp-server. For running, deploying, and connecting clients to it, see the docs site: jecklgamis.github.io/gatling-mcp-server (or browse docs/ directly).

MCP Tools (/gatling_mcp)

Tool

Description

upload_jar

Upload a local jar file to gatling-server; returns an id and a ready-to-use url. Colocated setups only - see Architecture docs

submit_task

Submit a Gatling simulation to run, given a simulation class, jar URL, and javaOpts

get_task_status

Get a task's current status (Started/Completed/Aborted, success, timestamps)

get_console_log

Get the raw JVM/Gatling console output for a task - useful for diagnosing failures

get_simulation_log

Get Gatling's own simulation report for a completed task (binary on recent Gatling versions - prefer get_console_log)

abort_task

Kill a currently running task

Every tool is also mounted as a plain REST route (GET for read-only tools, POST for anything that mutates state), and all routes require the Authorization: Bearer <GATLING_MCP_API_TOKEN> header described below.

Related MCP server: MaxoPerf MCP Server

Getting Started

Requirements

Configuration

Env Var

Description

Default

GATLING_SERVER_URL

Base URL of the gatling-server instance

http://localhost:58080

GATLING_SERVER_API_TOKEN

Bearer token for gatling-server's /task/* API

default

GATLING_MCP_API_TOKEN

Bearer token required on every request to this server (MCP and REST alike)

default

GATLING_MCP_REQUEST_TIMEOUT

Timeout (seconds) for lightweight calls (submit/status/logs/abort)

30

GATLING_MCP_UPLOAD_TIMEOUT

Timeout (seconds) for upload_jar, which can move tens of MB

300

Run Locally

pip install -r requirements.txt
python server.py

Or ./run-server.sh, which applies the defaults from the table above.

Testing

pytest -s

Documentation

Running Docker/Kubernetes, installing a tagged release, connecting MCP clients (Claude Code, Claude Desktop, Cursor, Windsurf, Cline, Gemini CLI, JetBrains AI Assistant), and the local-vs-remote-deployment/recommended agent workflow rationale all live in the docs site: jecklgamis.github.io/gatling-mcp-server (source in docs/).

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server enabling AI agents to manage the MaxoPerf performance testing platform via natural language, including creating tests, launching cloud load runs, viewing results, and diagnosing failures.
    1
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP-compatible AI clients to invoke CLI-driven agent tools over Streamable HTTP, including shell execution, file operations, patching, image viewing, web search, and nested agent tasks, with permission modes and real-time progress streaming.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables external MCP clients to drive DeepSeek Harness agents for real coding tasks, providing tools for task execution and queueing, session management, sandboxed file access, preset switching, and usage statistics.
    464 npm
    4
    GPL 3.0