🚀⚡️ locust-mcp-server
用于运行 Locust 负载测试的模型上下文协议 (MCP) 服务器实现。该服务器支持将 Locust 负载测试功能与 AI 驱动的开发环境无缝集成。
✨ 特点
- 与模型上下文协议框架的简单集成
- 支持无头和 UI 模式
- 可配置的测试参数(用户、生成率、运行时间)
- 用于运行 Locust 负载测试的易于使用的 API
- 实时测试执行输出
- 开箱即用的 HTTP/HTTPS 协议支持
- 自定义任务场景支持

🔧 先决条件
开始之前,请确保已安装以下软件:
- Python 3.13 或更高版本
- uv 包管理器(安装指南)
📦安装
- 克隆存储库:
git clone https://github.com/qainsights/locust-mcp-server.git
- 安装所需的依赖项:
uv pip install -r requirements.txt
- 设置环境变量(可选):在项目根目录中创建一个
.env
文件:
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
🚀 入门
- 创建 Locust 测试脚本(例如
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"})
- 在您最喜欢的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等)中使用以下规格配置 MCP 服务器:
{
"mcpServers": {
"locust": {
"command": "/Users/naveenkumar/.local/bin/uv",
"args": [
"--directory",
"/Users/naveenkumar/Gits/locust-mcp-server",
"run",
"locust_server.py"
]
}
}
}
- 现在让 LLM 运行测试,例如
run locust test for hello.py
。Locust MCP 服务器将使用以下工具启动测试:
run_locust
:使用可配置选项运行测试,包括无头模式、主机、运行时、用户和生成率
📝 API 参考
运行 Locust 测试
run_locust(
test_file: str,
headless: bool = True,
host: str = "http://localhost:8089",
runtime: str = "10s",
users: int = 3,
spawn_rate: int = 1
)
参数:
test_file
:Locust 测试脚本的路径headless
:以无头模式运行(True)或使用 UI 运行(False)host
:要进行负载测试的目标主机runtime
:测试时长(例如“30秒”、“1分钟”、“5分钟”)users
:要模拟的并发用户数spawn_rate
:用户生成的速率
✨ 用例
- LLM 支持的结果分析
- 在 LLM 的帮助下进行有效调试
🤝 贡献
欢迎贡献代码!欢迎提交 Pull 请求。
📄 许可证
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。