Skip to main content
Glama

🚀 ⚡️ locust-mcp-server

A Model Context Protocol (MCP) server implementation for running Locust load tests. This server enables seamless integration of Locust load testing capabilities with AI-powered development environments.

✨ Features

  • Simple integration with Model Context Protocol framework

  • Support for headless and UI modes

  • Configurable test parameters (users, spawn rate, runtime)

  • Easy-to-use API for running Locust load tests

  • Real-time test execution output

  • HTTP/HTTPS protocol support out of the box

  • Custom task scenarios support

Locust-MCP-Server

Related MCP server: JMeter MCP Server

🔧 Prerequisites

Before you begin, ensure you have the following installed:

📦 Installation

  1. Clone the repository:

git clone https://github.com/qainsights/locust-mcp-server.git
  1. Install the required dependencies:

uv pip install -r requirements.txt
  1. Set up environment variables (optional): Create a .env file in the project root:

LOCUST_HOST=http://localhost:8089  # Default host for your tests
LOCUST_USERS=3                     # Default number of users
LOCUST_SPAWN_RATE=1               # Default user spawn rate
LOCUST_RUN_TIME=10s               # Default test duration

🚀 Getting Started

  1. Create a Locust test script (e.g., hello.py):

from locust import HttpUser, task, between

class QuickstartUser(HttpUser):
    wait_time = between(1, 5)

    @task
    def hello_world(self):
        self.client.get("/hello")
        self.client.get("/world")

    @task(3)
    def view_items(self):
        for item_id in range(10):
            self.client.get(f"/item?id={item_id}", name="/item")
            time.sleep(1)

    def on_start(self):
        self.client.post("/login", json={"username":"foo", "password":"bar"})
  1. Configure the MCP server using the below specs in your favorite MCP client (Claude Desktop, Cursor, Windsurf and more):

{
  "mcpServers": {
    "locust": {
      "command": "/Users/naveenkumar/.local/bin/uv",
      "args": [
        "--directory",
        "/Users/naveenkumar/Gits/locust-mcp-server",
        "run",
        "locust_server.py"
      ]
    }
  }
}
  1. Now ask the LLM to run the test e.g. run locust test for hello.py. The Locust MCP server will use the following tool to start the test:

  • run_locust: Run a test with configurable options for headless mode, host, runtime, users, and spawn rate

📝 API Reference

Run Locust Test

run_locust(
    test_file: str,
    headless: bool = True,
    host: str = "http://localhost:8089",
    runtime: str = "10s",
    users: int = 3,
    spawn_rate: int = 1
)

Parameters:

  • test_file: Path to your Locust test script

  • headless: Run in headless mode (True) or with UI (False)

  • host: Target host to load test

  • runtime: Test duration (e.g., "30s", "1m", "5m")

  • users: Number of concurrent users to simulate

  • spawn_rate: Rate at which users are spawned

✨ Use Cases

  • LLM powered results analysis

  • Effective debugging with the help of LLM

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Available Tools

1 tool
run_locustC

Run Locust with the given configuration.

Inputs: test_file (required), host, users, spawn_rate, +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.7/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of confusion or overlap between tools. The single tool 'run_locust' has a clear and distinct purpose that cannot be mistaken for any other tool in this set.

    Naming Consistency5/5

    The single tool name 'run_locust' follows a clear verb_noun pattern, and with only one tool, there is perfect consistency. There are no other tools to compare against, so no inconsistencies can exist.

    Tool Count2/5

    A single tool is too few for most server purposes, as it severely limits functionality and flexibility. For a Locust server, one might expect additional tools for tasks like configuring tests, viewing results, or managing load scenarios, making this set feel incomplete and under-scoped.

    Completeness1/5

    The tool set is severely incomplete for a Locust server, which typically involves multiple aspects of load testing such as setup, execution, monitoring, and analysis. With only a 'run' tool, there are significant gaps that will cause agent failures, as it lacks coverage for configuration management, result retrieval, or test lifecycle operations.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers