🚀 ⚡️ ローカストMcpサーバー
Locust負荷テストを実行するためのモデルコンテキストプロトコル(MCP)サーバーの実装。このサーバーは、AI駆動の開発環境とLocust負荷テスト機能のシームレスな統合を可能にします。
概要
Locust MCPサーバーとは?
Locust MCPサーバーは、人気のオープンソース負荷テストツールであるLocustを使用した負荷テストを促進するために設計された専門的な実装です。このサーバーは、Locustの機能をAI駆動の開発環境と統合することで、ユーザーが効率的に負荷テストを実行できるようにします。さまざまな条件下でのユーザートラフィックをシミュレートし、システムのパフォーマンスを測定するための堅牢なフレームワークを提供し、アプリケーションが期待される負荷に対応できることを確認したい開発者やテスターにとって不可欠なツールです。
Locust MCPサーバーの特徴
- シームレスな統合: Locust MCPサーバーは、既存の開発環境とスムーズに統合され、負荷テストのセットアップと実行が容易です。
- AI駆動の機能: AI技術を活用して負荷テスト戦略を強化し、従来の方法では見落とされがちな洞察や最適化を提供します。
- スケーラビリティ: サーバーは多数の同時ユーザーを処理できるように設計されており、あらゆる規模のアプリケーションのテストに適しています。
- リアルタイム監視: ユーザーは負荷テスト中にアプリケーションのパフォーマンスをリアルタイムで監視でき、即座にフィードバックや調整が可能です。
- カスタマイズ可能なシナリオ: 実際のユーザー行動を模倣するカスタマイズされた負荷テストシナリオを作成し、テストが関連性があり効果的であることを保証します。
Locust MCPサーバーの使い方
- インストール: まず、Locust MCPサーバーを自分のマシンまたはサーバーにインストールします。ドキュメントに記載されたインストール手順に従ってください。
- 設定: テスト要件に合わせてサーバー設定を構成します。これには、ユーザー数、テストの期間、およびシミュレートしたい特定のシナリオの設定が含まれます。
- テストの実行: サーバーインターフェースを通じて負荷テストを開始します。進行状況と結果をリアルタイムで監視し、アプリケーションのパフォーマンスに関する洞察を得ます。
- 結果の分析: テストが完了したら、結果を分析してボトルネック、パフォーマンスの問題、および改善が必要な領域を特定します。
- 繰り返し: 発見に基づいてアプリケーションに必要な調整を行い、最適なパフォーマンスを確保するためにテストプロセスを繰り返します。
よくある質問
Q: Locust MCPサーバーの主な目的は何ですか?
A: 主な目的は、アプリケーションの負荷テストを促進し、開発者がユーザーのトラフィックをシミュレートし、さまざまな条件下でのパフォーマンスを評価できるようにすることです。
Q: Locust MCPサーバーを他のツールと統合できますか?
A: はい、Locust MCPサーバーはさまざまな開発およびテストツールと統合できるように設計されており、その機能性と使いやすさを向上させます。
Q: Locust MCPサーバーの使用に費用はかかりますか?
A: Locust MCPサーバーはオープンソースであり、無料で使用できるため、すべての規模の開発者や組織にアクセス可能です。
Q: Locust MCPサーバープロジェクトにどのように貢献できますか?
A: 貢献は歓迎です!問題を報告したり、機能を提案したり、プロジェクトのリポジトリを通じてコードの改善を提出することで参加できます。
Q: Locust MCPサーバーに関する詳細情報はどこで見つけられますか?
A: より詳細な情報、ドキュメント、およびサポートについては、公式ウェブサイトのqainsights.comを訪れてください。
詳細
🚀 ⚡️ 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
🔧 Prerequisites
Before you begin, ensure you have the following installed:
- Python 3.13 or higher
- uv package manager (Installation guide)
📦 Installation
- Clone the repository:
git clone https://github.com/qainsights/locust-mcp-server.git
- Install the required dependencies:
uv pip install -r requirements.txt
- 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
- 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"})
- 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"
]
}
}
}
- 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 scriptheadless
: Run in headless mode (True) or with UI (False)host
: Target host to load testruntime
: Test duration (e.g., "30s", "1m", "5m")users
: Number of concurrent users to simulatespawn_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.
サーバー設定
{
"mcpServers": {
"locust-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--qainsights--locust-mcp-server--locust-mcp-server",
"python main.py"
],
"env": {}
}
}
}