{"_id":"@democratize-quality/artillery-performance-mcp-server","_rev":"2-f910eb3cbe64568d98fd681329037a14","name":"@democratize-quality/artillery-performance-mcp-server","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.1":{"name":"@democratize-quality/artillery-performance-mcp-server","version":"1.0.1","keywords":["mcp","artillery","performance","testing","load-test"],"author":{"name":"Raj Uppadhyay"},"license":"MIT","_id":"@democratize-quality/artillery-performance-mcp-server@1.0.1","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"bin":{"artillery-performance-mcp-server":"dist/http.js","artillery-performance-mcp-server-stdio":"dist/stdio.js"},"dist":{"shasum":"4b90cc1710fa64b387eff1794fe0181ae8b19685","tarball":"https://registry.npmjs.org/@democratize-quality/artillery-performance-mcp-server/-/artillery-performance-mcp-server-1.0.1.tgz","fileCount":48,"integrity":"sha512-/zHriPmDkrfx+eVxCqfkIWQDr6SSBkTYuFfMC87u/kEotEbXy1yRMontC8ZSzzGv+nN2Q+iR1Nrw8iOfonINIA==","signatures":[{"sig":"MEUCIQCPkt+aQgQXAJ3Mf3LSRiytvu+keSeAsdrU5Q61h/YqpAIgG0y2LegGC3DitPT40TigIO97f2AlTc5bM424YaTYtqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":338026},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"5a5ce84e98a13abb98b0ffd6be408e1f309c2b48","scripts":{"dev":"tsx src/index.ts","http":"tsx src/http.ts","lint":"prettier --write \"src/**/*.ts\"","test":"jest","build":"tsc && npm run copy-templates && npm run obfuscate","debug":"tsx --inspect-brk src/index.ts","start":"node dist/index.js","stdio":"tsx src/stdio.ts","build:dev":"tsc && npm run copy-templates","http:prod":"npm run build:dev && node dist/http.js","obfuscate":"javascript-obfuscator ./dist --output ./dist --config obfuscator.config.js","debug:http":"tsx --inspect-brk src/http.ts","stdio:prod":"npm run build:dev && node dist/stdio.js","debug:stdio":"tsx --inspect-brk src/stdio.ts","copy-templates":"copyfiles -u 1 \"src/templates/**/*\" dist"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"_npmVersion":"11.4.2","description":"MCP server for performance testing with Artillery.io","directories":{},"_nodeVersion":"22.13.1","dependencies":{"zod":"^3.25.76","dotenv":"^17.2.1","xml2js":"^0.6.2","express":"^5.1.0","ts-node":"^10.9.2","winston":"^3.12.0","artillery":"^2.0.24","handlebars":"^4.7.8","typescript":"^5.9.2","@types/node":"^24.3.0","@types/express":"^5.0.3","@modelcontextprotocol/sdk":"^1.17.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.4","jest":"^30.0.5","ts-jest":"^29.4.1","prettier":"^3.6.2","copyfiles":"^2.4.1","@types/jest":"^30.0.0","tsconfig-paths":"^4.2.0","@types/handlebars":"^4.1.0","javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/artillery-performance-mcp-server_1.0.1_1755857892791_0.26687298116089075","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@democratize-quality/artillery-performance-mcp-server","version":"1.0.2","description":"MCP server for performance testing with Artillery.io","main":"dist/index.js","types":"dist/index.d.ts","type":"module","publishConfig":{"access":"public"},"bin":{"artillery-performance-mcp-server":"dist/stdio.js","artillery-performance-mcp-server-stdio":"dist/stdio.js"},"scripts":{"build":"tsc && npm run copy-templates && npm run obfuscate","build:dev":"tsc && npm run copy-templates","copy-templates":"copyfiles -u 1 \"src/templates/**/*\" dist","obfuscate":"javascript-obfuscator ./dist --output ./dist --config obfuscator.config.js","start":"node dist/index.js","dev":"tsx src/index.ts","stdio":"tsx src/stdio.ts","stdio:prod":"npm run build:dev && node dist/stdio.js","http":"tsx src/http.ts","http:prod":"npm run build:dev && node dist/http.js","test":"jest","lint":"prettier --write \"src/**/*.ts\"","debug":"tsx --inspect-brk src/index.ts","debug:http":"tsx --inspect-brk src/http.ts","debug:stdio":"tsx --inspect-brk src/stdio.ts"},"keywords":["mcp","artillery","performance","testing","load-test"],"author":{"name":"Raj Uppadhyay"},"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.17.3","@types/express":"^5.0.3","@types/node":"^24.3.0","artillery":"^2.0.24","dotenv":"^17.2.1","express":"^5.1.0","handlebars":"^4.7.8","ts-node":"^10.9.2","typescript":"^5.9.2","winston":"^3.12.0","xml2js":"^0.6.2","zod":"^3.25.76"},"devDependencies":{"@types/handlebars":"^4.1.0","@types/jest":"^30.0.0","copyfiles":"^2.4.1","javascript-obfuscator":"^4.1.1","jest":"^30.0.5","prettier":"^3.6.2","ts-jest":"^29.4.1","tsconfig-paths":"^4.2.0","tsx":"^4.20.4"},"_id":"@democratize-quality/artillery-performance-mcp-server@1.0.2","gitHead":"5a5ce84e98a13abb98b0ffd6be408e1f309c2b48","_nodeVersion":"22.13.1","_npmVersion":"11.4.2","dist":{"integrity":"sha512-oNEJfe6pyBHczRvCauYftItsSyfMY/RJhre8JX+irSVUbIh2XsMlQf9khESi4aMDCmsaucY9nsVSHxWwj8xqHA==","shasum":"dee6e4d1b5988c422f5f444946a1baf24740ac26","tarball":"https://registry.npmjs.org/@democratize-quality/artillery-performance-mcp-server/-/artillery-performance-mcp-server-1.0.2.tgz","fileCount":48,"unpackedSize":338689,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBT4cv6ja+GMpHm/pqh6zHUuZ8bp9+9WpafIh6al9tI2AiEAmGTn+a1P5bbPGUvcx0BzKcl5nS06cOexrkWRTQV21FE="}]},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"directories":{},"maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/artillery-performance-mcp-server_1.0.2_1755859451446_0.519333157329539"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-22T10:18:12.702Z","modified":"2025-08-22T10:44:11.801Z","1.0.1":"2025-08-22T10:18:13.053Z","1.0.2":"2025-08-22T10:44:11.625Z"},"author":{"name":"Raj Uppadhyay"},"license":"MIT","keywords":["mcp","artillery","performance","testing","load-test"],"description":"MCP server for performance testing with Artillery.io","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"readme":"# Artillery Performance Testing MCP Server\n\nA Model Context Protocol (MCP) server for generating, running, and analyzing performance tests using Artillery.io.\n\n## Disclaimer!\n\n> ⚠️ This software is provided \"as is\" without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. By using this software, you acknowledge and agree that any performance testing activities are conducted at your own risk and discretion. The author explicitly disclaims all liability for any licensing requirements, direct, indirect, incidental, special, consequential or exemplary damages resulting from the use, misuse, or inability to use this software, whether based on warranty, contract, tort, or any other legal theory.\n\n> ⚠️ **Important**: This MCP server is intended for ease of performance test creation and learning Artillery.io on local development machines only. For production use and licensing requirements, please consult with the Artillery team directly.\n\n## Overview\n\nThis server implements the [Model Context Protocol](https://modelcontextprotocol.io) to enable LLMs to create and run performance tests. It provides:\n\n- **Resources** for Artillery YAML configuration templates and documentation\n- **Tools** for generating, running, and analyzing performance tests\n- **Prompts** for common load testing tasks\n\n## Features\n\n- Five comprehensive tools for complete Artillery testing workflow\n- Create performance tests from templates or custom configurations\n- **Enhanced HTML Reports**: Comprehensive reports with stakeholder summaries and technical analysis\n- **Stakeholder-Friendly Summaries**: Business impact assessments and actionable recommendations\n- **Modular Report Generation**: Clean separation of HTML templates, stakeholder summaries, and technical details\n- Run Artillery tests with automatic JSON and enhanced HTML report generation\n- Analyze test results with performance insights and improvement suggestions\n- Support for HTTP GET, POST, and complex flow testing scenarios\n- Enhanced AI agent integration with detailed tool descriptions\n- Local file management in `./artillery-tests/` directory (no temp files)\n- Simple HTTP test creation tool for quick performance testing\n- Built-in performance analysis with detailed metrics and recommendations\n- Supports both STDIO and HTTP/SSE transports for MCP client communication\n\n## Prerequisites\n\nBefore using this package, ensure you have the following installed:\n\n- **Node.js**: v16.x or higher\n- **npm**: v8.x or higher\n- **Artillery**: This package requires Artillery.io to be installed. You can install it globally:\n  ```bash\n  npm install -g artillery\n  ```\n\n### System Requirements\n- Minimum 16GB RAM recommended\n- 1 GB free disk space\n- Operating Systems supported:\n  - Windows 10/11\n  - macOS 10.15 or later\n  - Linux (Ubuntu 20.04 or later recommended)\n\n### Required Permissions\n- Network access for HTTP/SSE transport (default ports 3000)\n- File system permissions for:\n  - Writing test files\n  - Creating log files\n  - Generating reports\n\n### Optional but Recommended\n- Git (for version control)\n- A modern code editor (VS Code, Cursor, etc.) with MCP support\n- Basic understanding of:\n  - RESTful APIs\n  - Performance testing concepts\n  - YAML configuration files\n\n\n## Quick Start - STDIO Mode (Recommended)\n\n### Install and Start STDIO Server\n\n1. **Install the server globally:**\n   ```bash\n   npm install -g artillery-performance-mcp-server\n   ```\n\n2. **Start in STDIO mode:**\n   ```bash\n   artillery-performance-mcp-server-stdio\n   ```\n\n3. **Optional: Specify a working directory for test files:**\n   ```bash\n   artillery-performance-mcp-server-stdio /path/to/your/project\n   ```\n   \n   This will create all Artillery test files, results, and reports in the specified directory:\n   ```\n   /path/to/your/project/\n   ├── test-configs/     # Artillery test configuration files (.yml)\n   ├── test-results/     # Test results (.json)\n   └── test-reports/     # HTML reports with stakeholder summaries\n   ```\n\n### Configure in VS Code with GitHub Copilot\n\n1. **Open VS Code Settings** (`Cmd+,` on Mac, `Ctrl+,` on Windows/Linux)\n\n2. **Search for \"mcp\"** and find **\"Mcp Servers\"** setting\n\n3. **Click \"Edit in settings.json\"** and add the Artillery MCP server configuration:\n   ```json\n   {\n     \"mcp.servers\": {\n       \"artillery-mcp\": {\n         \"command\": \"artillery-performance-mcp-server-stdio\",\n         \"args\": []\n       }\n     }\n   }\n   ```\n\n   **To specify a custom working directory for test files:**\n   ```json\n   {\n     \"mcp.servers\": {\n       \"artillery-mcp\": {\n         \"command\": \"artillery-performance-mcp-server-stdio\", \n         \"args\": [\"/path/to/your/project\"]\n       }\n     }\n   }\n   ```\n\n4. **Restart VS Code** to apply the configuration\n\n5. **Verify the server** is working by opening GitHub Copilot Chat and typing:\n   ```text\n   @artillery-mcp Create a simple HTTP performance test for https://jsonplaceholder.typicode.com/posts\n   ```\n\n### Configure in Cursor IDE\n\n1. **Open Cursor Settings** and navigate to **MCP Servers**\n\n2. **Add new MCP server** with the following configuration:\n   ```json\n   {\n     \"mcpServers\": {\n       \"artillery-mcp\": {\n         \"type\": \"stdio\",\n         \"command\": \"artillery-performance-mcp-server-stdio\",\n         \"args\": []\n       }\n     }\n   }\n   ```\n\n3. **Restart Cursor** and verify by using the AI chat with:\n   ```text\n   Use artillery-mcp tools to create a basic HTTP test for an API endpoint\n   ```\n\n### Configure in Other MCP Clients\n\nFor other MCP-compatible clients (Claude Desktop, etc.), add to your MCP configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"artillery-mcp\": {\n      \"command\": \"artillery-performance-mcp-server-stdio\",\n      \"args\": []\n    }\n  }\n}\n```\n\n## HTTP/SSE Transport (Alternative)\n\nIf you prefer HTTP transport over STDIO, you can run the server in HTTP mode:\n\n```bash\n# Start HTTP server (default port 3000)\nartillery-performance-mcp-server\n\n# Or specify custom port\nPORT=4001 artillery-performance-mcp-server\n```\n\nThis starts:\n- HTTP Transport: `http://localhost:3000/mcp`\n- SSE Transport: `http://localhost:3000/sse`\n\nConfigure in your MCP client using the HTTP URL. Note: STDIO mode is recommended for better performance and reliability.\n## Additional Client Configuration\n\nFor other MCP-compatible clients, refer to their documentation for adding MCP servers. Use the STDIO configuration shown above for the best experience:\n\n- **Command**: `artillery-performance-mcp-server`\n- **Args**: `[\"--stdio\"]`\n- **Type**: `stdio`\n\nMost clients support both STDIO and HTTP transports. STDIO is recommended for better performance and reliability.\n\n## MCP Resources\n\nThe server provides the following resources:\n\n- `artillery://templates` - List all available test templates\n- `artillery://templates/{filename}` - Get a specific test template\n- `artillery://examples/http-get` - Example HTTP GET test template\n- `artillery://examples/http-post` - Example HTTP POST test template\n- `artillery://examples/complex-flow` - Example complex flow test template\n\n## MCP Tools\n\nThe server provides five comprehensive tools for Artillery performance testing:\n\n### Generate_Artillery_Test\n\nCreate Artillery performance tests from predefined templates with comprehensive configuration options.\n\n**Enhanced for AI Agents**: This tool creates Artillery.io performance test configurations from templates. When specifying targets, provide the actual endpoint URL you want to test (e.g., \"https://api.example.com\" not just \"Artillery.io\").\n\nParameters:\n- `templateType`: Test template (`http-get`, `http-post`, `complex-flow`)\n- `target`: Target URL/hostname for testing\n- `endpoint`: Specific endpoint path (default: \"/\")\n- `duration`: Test duration in seconds (default: 30)\n- `arrivalRate`: Requests per second during normal phase (default: 5)\n- `peakRate`: Peak requests per second during ramp-up (optional)\n- `timeout`: Request timeout in seconds (default: 10)\n- `scenarioName`: Descriptive name for the test scenario (optional)\n- `auth`: Authentication token for requests (optional)\n- `additionalConfig`: Extra Artillery configuration options (optional)\n\n**File Output**: Saves test files to `./artillery-tests/` directory with timestamped names.\n\n### Run_Artillery_Test\n\nExecute Artillery performance tests and generate comprehensive reports with stakeholder summaries.\n\n**Enhanced for AI Agents**: Runs Artillery.io performance tests and generates both JSON results and enhanced HTML reports with stakeholder summaries for analysis. Files are stored locally in the artillery-tests directory.\n\nParameters:\n- `testFilePath`: Path to the Artillery test YAML file\n- `generateReport`: Whether to create enhanced HTML report (default: true)\n- `reportType`: Report type - 'enhanced' (with stakeholder summary) or 'simple' (basic metrics only, default: 'enhanced')\n\n**Enhanced Features**:\n- **Stakeholder Summary**: Executive overview with business impact assessment\n- **Technical Analysis**: Detailed performance metrics and bottleneck identification\n- **Visual Charts**: Response time distributions and performance indicators\n- **Actionable Recommendations**: Business-friendly improvement suggestions\n- **Risk Assessment**: Performance risk levels for stakeholder decision-making\n\n**Output**: Creates JSON results file and comprehensive HTML report with both technical details and stakeholder-friendly summaries.\n\n### Analyze_Artillery_Test_Results\n\nAnalyze Artillery test results and provide performance insights and improvement recommendations.\n\n**Enhanced for AI Agents**: Analyzes Artillery.io test results from JSON files and provides detailed performance insights, bottleneck identification, and actionable improvement recommendations.\n\nParameters:\n- `resultsFilePath`: Path to the JSON results file from Artillery test\n- `suggestImprovements`: Whether to provide improvement suggestions (default: true)\n\n**Analysis Includes**: Response times, throughput, error rates, performance bottlenecks, and optimization recommendations.\n\n### Create_Custom_Artillery_Test\n\nCreate custom Artillery tests with full YAML configuration control.\n\n**Enhanced for AI Agents**: Creates fully customized Artillery.io test configurations when templates don't meet specific requirements. Accepts complete YAML content for advanced test scenarios.\n\nParameters:\n- `name`: Descriptive name for the custom test\n- `content`: Complete Artillery YAML configuration content\n\n**Use Case**: For complex test scenarios requiring custom phases, multiple targets, or advanced Artillery features.\n\n### Create_Simple_HTTP_Test\n\nQuick creation of basic HTTP performance tests for immediate testing needs.\n\n**Enhanced for AI Agents**: Simplified tool for creating basic HTTP performance tests against single endpoints. Perfect for quick performance checks or simple load testing scenarios.\n\nParameters:\n- `targetUrl`: Complete URL to test (e.g., \"https://api.example.com/health\")\n- `method`: HTTP method (default: \"GET\")\n- `duration`: Test duration in seconds (default: 30)\n- `requestsPerSecond`: Request rate (default: 5)\n- `scenarioName`: Test description (optional)\n\n**Best For**: Quick API endpoint testing, health check load testing, simple performance validation.\n\n## MCP Prompts\n\nThe server provides the following prompts:\n\n### generate-basic-http-test\n\nGenerate a basic HTTP performance test.\n\nParameters:\n- `targetUrl`: Target URL for the test\n- `endpoint`: Specific endpoint to test (default: \"/\")\n- `requestsPerSecond`: Request rate (default: 5)\n- `testDuration`: Test duration in seconds (default: 60)\n- `authToken`: Authentication token (optional)\n\n### generate-api-flow-test\n\nGenerate a complex API flow test.\n\nParameters:\n- `targetUrl`: Target URL for the test\n- `flows`: Array of API calls in the flow\n  - `method`: HTTP method (`GET`, `POST`, `PUT`, `DELETE`)\n  - `endpoint`: Endpoint for the API call\n  - `payload`: JSON payload (optional)\n- `requestsPerSecond`: Request rate (default: 5)\n- `testDuration`: Test duration in seconds (default: 60)\n- `authToken`: Authentication token (optional)\n\n### analyze-test-results\n\nAnalyze performance test results.\n\nParameters:\n- `resultsOutput`: Test results output\n- `performanceTargets`: Performance targets (optional)\n  - `maxResponseTime`: Maximum acceptable response time in ms\n  - `maxErrorRate`: Maximum acceptable error rate percentage\n\n### create-load-test-plan\n\nCreate a comprehensive load testing plan.\n\nParameters:\n- `applicationDescription`: Description of the application being tested\n- `endpoints`: Array of endpoints to test\n- `userScenarios`: Array of user scenarios (optional)\n- `performanceGoals`: Array of performance goals (optional)\n\n## AI Agent Usage Guide\n\nThis Artillery MCP server is optimized for AI agent integration. Here's how to use it effectively:\n\n### Important: Avoid Endpoint Confusion\n\nWhen working with AI agents, be specific about target URLs to avoid confusion:\n\n✅ **Correct**: \"Test performance of https://api.myservice.com/health\"\n❌ **Incorrect**: \"Test performance of Artillery.io\" (AI might interpret this as testing Artillery's website)\n\n### Recommended Prompts for AI Agents\n\n**For Quick Testing:**\n```\nCreate a simple HTTP performance test for https://jsonplaceholder.typicode.com/posts with 10 requests per second for 30 seconds\n```\n\n**For API Flow Testing:**\n```\nGenerate an Artillery test for https://api.example.com that tests the login flow: POST /auth/login, then GET /user/profile, running for 60 seconds at 5 RPS\n```\n\n**For Analysis:**\n```\nRun the test and analyze the results, suggesting performance improvements\n```\n\n### File Management\n\n- All test files are stored in `./artillery-tests/` directory\n- Test files use timestamped names for easy identification\n- JSON results and HTML reports are generated in the same directory\n- No temporary files - everything is kept locally for analysis\n\n## 🚀 End-to-End Sample Prompts with Public APIs\n\nReady to test the Artillery MCP server? Use these complete prompts with public endpoints that you can try immediately:\n\n### 📋 Complete Workflow Examples\n\n#### Example 1: Basic API Performance Test (JSONPlaceholder)\n\n**Step 1: Create and Run Test**\n```\nUse the Artillery MCP server tools to:\n1. Create a basic HTTP GET performance test for https://jsonplaceholder.typicode.com/posts \n2. Configure it for 10 requests per second for 30 seconds\n3. Run the test immediately after creation\n4. Generate an enhanced HTML report with stakeholder summary\n```\n\n**Step 2: Analyze Results**\n```\nAnalyze the Artillery test results from the JSON file generated in the previous test. Provide detailed performance insights and recommendations for the JSONPlaceholder API performance.\n```\n\n#### Example 2: REST API CRUD Operations Test\n\n**Complete Workflow Prompt:**\n```\nCreate a comprehensive Artillery performance test for https://jsonplaceholder.typicode.com with the following scenarios:\n1. GET /posts (retrieve posts)\n2. POST /posts (create new post with sample data)\n3. GET /posts/1 (retrieve specific post)\n4. PUT /posts/1 (update post)\n\nConfigure the test for:\n- Duration: 10 seconds\n- Arrival rate: 5 requests per second\n- Include authentication headers if needed\n\nAfter creating the test:\n1. Run the Artillery test with enhanced reporting\n2. Analyze the results and provide stakeholder-friendly recommendations\n```\n\n#### Example 3: API Health Check Performance\n\n**Single Comprehensive Prompt:**\n```\nPerform a complete performance analysis of the GitHub API health endpoint:\n\n1. Create a simple HTTP GET test for https://api.github.com/zen\n2. Configure for 15 requests per second for 15 seconds\n3. Run the test with enhanced HTML reporting\n4. Analyze the JSON results and provide:\n   - Performance summary for stakeholders\n   - Technical recommendations for developers\n   - Business impact assessment\n   - Risk level evaluation\n\nGenerate both technical and business-friendly insights from the test results.\n```\n\n#### Example 4: E-commerce API Simulation\n\n**Advanced Workflow Prompt:**\n```\nCreate and execute a realistic e-commerce API performance test using https://fakestoreapi.com:\n\nTest Scenarios:\n1. Browse products: GET /products\n2. View product details: GET /products/1\n3. Get categories: GET /products/categories\n4. Filter by category: GET /products/category/electronics\n\nConfiguration:\n- Test duration: 10 seconds\n- Start with 5 RPS, peak at 15 RPS\n- Generate enhanced report with stakeholder summary\n\nAfter execution:\n1. Run the test and generate comprehensive reports\n2. Analyze performance from both technical and business perspectives\n3. Provide actionable recommendations for production deployment\n```\n\n### 🎯 Quick Start Prompts (Copy & Paste Ready)\n\n#### For VS Code/Cursor/Claude Users:\n\n**Basic Performance Test:**\n```\n@artillery-mcp Create a simple HTTP performance test for https://httpbin.org/get with 8 requests per second for 20 seconds, then run it with enhanced reporting and analyze the results.\n```\n\n**API Load Testing:**\n```\n@artillery-mcp Generate a performance test for https://reqres.in/api/users that tests both GET /api/users and POST /api/users endpoints, run for 30 seconds at 6 RPS, execute the test, and provide stakeholder-friendly analysis.\n```\n\n**Health Check Monitoring:**\n```\n@artillery-mcp Test the performance of https://httpbin.org/status/200 endpoint with 12 requests per second for 15 seconds, generate enhanced HTML report, and analyze for production readiness.\n```\n\n### 🔧 Troubleshooting Test Prompts\n\n**When Tests Fail:**\n```\nMy Artillery test failed with errors. Please:\n1. Analyze the error output\n2. Suggest configuration changes\n3. Create a modified test with better error handling\n4. Re-run with conservative settings (2 RPS for 10 seconds)\n```\n\n**For Custom Endpoints:**\n```\nCreate a performance test for [YOUR_API_ENDPOINT_HERE]:\n- Method: GET/POST (specify your method)\n- Requests per second: 5\n- Duration: 30 seconds\n- Include appropriate headers if needed\n- Run with enhanced reporting\n- Provide business impact analysis\n```\n\n### 📊 Expected Outputs\n\nAfter using these prompts, you'll get:\n\n1. **Test Configuration File**: `artillery-tests/test-name-timestamp.yml`\n2. **JSON Results**: `artillery-tests/artillery-results-timestamp.json`\n3. **Enhanced HTML Report**: `artillery-tests/artillery-report-timestamp.html`\n4. **Analysis Summary**: Performance insights and recommendations\n\n### 💡 Pro Tips for Better Results\n\n- **Be Specific**: Include exact URLs, request rates, and duration\n- **Use Public APIs**: Start with reliable public endpoints for testing\n- **Request Analysis**: Always ask for result analysis after running tests\n- **Stakeholder Reports**: Use \"enhanced\" report type for business-friendly summaries\n- **Error Handling**: If a test fails, ask for troubleshooting and retry with lower load\n\n## Enhanced HTML Reports\n\nThe `Run_Artillery_Test` tool now generates comprehensive HTML reports that include both technical analysis and stakeholder-friendly summaries.\n\n### Report Features\n\n**Executive Summary Section:**\n- **Overall Performance Status**: Clear indicators (Excellent, Good, Fair, Poor, Critical)\n- **Key Metrics Display**: Average response time, success rate, throughput\n- **Business Impact Assessment**: Risk levels and performance implications\n- **Actionable Recommendations**: Prioritized improvement suggestions\n\n**Technical Details Section:**\n- **Response Time Charts**: Visual distribution of response times (min, avg, P95, max)\n- **Detailed Statistics Table**: Comprehensive metrics with performance status indicators\n- **Error Analysis**: Detailed breakdown of any errors encountered\n- **Test Timeline**: Start time, end time, and duration tracking\n\n**Stakeholder Benefits:**\n- **Business-Friendly Language**: Technical metrics translated to business impact\n- **Risk Assessment**: Clear risk levels for decision-making\n- **Next Steps Guidance**: Specific actions based on performance results\n- **Visual Indicators**: Color-coded status indicators for quick assessment\n\n### Report Types\n\n1. **Enhanced Report** (default): Full stakeholder summary + technical details\n2. **Simple Report**: Basic metrics with minimal business context\n\n## Examples\n\n> 💡 **Looking for complete workflow examples?** Check out the [End-to-End Sample Prompts](#-end-to-end-sample-prompts-with-public-apis) section above for ready-to-use prompts with public APIs that you can try immediately!\n\n### Tool-Specific Examples\n\n### Example: Generate enhanced report\n\nUsing the `Run_Artillery_Test` tool with enhanced reporting:\n\n```json\n{\n  \"testFilePath\": \"./artillery-tests/api-test-20240101-120000.yml\",\n  \"generateReport\": true,\n  \"reportType\": \"enhanced\"\n}\n```\n\nThis generates:\n- JSON results file with raw metrics\n- Enhanced HTML report with stakeholder summary\n- Technical analysis with visual charts\n- Business impact assessment\n\n### Example: Generate simple report\n\n```json\n{\n  \"testFilePath\": \"./artillery-tests/api-test-20240101-120000.yml\",\n  \"generateReport\": true,\n  \"reportType\": \"simple\"\n}\n```\n\n### Example: Generate a basic HTTP test\n\nUsing the `Generate_Artillery_Test` tool:\n\n```json\n{\n  \"templateType\": \"http-get\",\n  \"target\": \"https://jsonplaceholder.typicode.com\",\n  \"endpoint\": \"/posts\",\n  \"duration\": 30,\n  \"arrivalRate\": 10,\n  \"scenarioName\": \"Posts API Load Test\"\n}\n```\n\n### Example: Create a simple HTTP test\n\nUsing the `Create_Simple_HTTP_Test` tool:\n\n```json\n{\n  \"targetUrl\": \"https://api.example.com/health\",\n  \"method\": \"GET\",\n  \"duration\": 60,\n  \"requestsPerSecond\": 15,\n  \"scenarioName\": \"Health Check Load Test\"\n}\n```\n\n### Example: Run a test\n\nUsing the `Run_Artillery_Test` tool:\n\n```json\n{\n  \"testFilePath\": \"./artillery-tests/posts-api-load-test-20240101-120000.yml\",\n  \"generateReport\": true\n}\n```\n\n### Example: Analyze test results\n\nUsing the `Analyze_Artillery_Test_Results` tool:\n\n```json\n{\n  \"resultsFilePath\": \"./artillery-tests/posts-api-load-test-20240101-120000-results.json\",\n  \"suggestImprovements\": true\n}\n```\n\n### Example: Custom test creation\n\nUsing the `Create_Custom_Artillery_Test` tool:\n\n```json\n{\n  \"name\": \"Complex API Flow Test\",\n  \"content\": \"config:\\n  target: https://api.example.com\\n  phases:\\n    - duration: 60\\n      arrivalRate: 10\\nscenarios:\\n  - name: Login and Browse\\n    flow:\\n      - post:\\n          url: /auth/login\\n          json:\\n            username: testuser\\n            password: testpass\\n      - get:\\n          url: /dashboard\"\n}\n```\n\n## File Structure\n\nAfter running tests, your directory structure will look like:\n\n```\nyour-project/\n├── artillery-tests/\n│   ├── api-test-20240101-120000.yml           # Generated test file\n│   ├── api-test-20240101-120000-results.json  # Test results (JSON)\n│   └── api-test-20240101-120000-report.html   # Test report (HTML)\n└── ... (your other files)\n```\n\n## Recent Improvements\n\n## Recent Improvements\n\n### Latest Features (August 2025)\n- ✅ **End-to-End Sample Prompts**: Complete workflow examples with public APIs for immediate testing\n- ✅ **Enhanced HTML Reports**: Comprehensive reports with stakeholder summaries and technical analysis\n- ✅ **Stakeholder-Friendly Summaries**: Business impact assessments with actionable recommendations\n- ✅ **Modular Report Architecture**: Clean separation of HTML templates, summaries, and technical details\n- ✅ **Visual Performance Charts**: Response time distributions and performance indicators\n- ✅ **Risk Assessment Framework**: Performance risk levels for business decision-making\n- ✅ **Public API Examples**: Ready-to-use prompts with JSONPlaceholder, GitHub API, HTTPBin, and more\n\n### Previous Improvements\n- ✅ **Fixed zod compatibility**: Downgraded from v4 to v3.25.x for MCP SDK compatibility\n- ✅ **Enhanced development environment**: Replaced ts-node with tsx for better ES module support\n- ✅ **Improved file management**: Changed from temp directory to local `./artillery-tests/` directory\n- ✅ **Enhanced AI agent integration**: Added detailed tool descriptions and usage guidance\n- ✅ **Added Create_Simple_HTTP_Test**: New tool for quick HTTP endpoint testing\n- ✅ **Fixed ENAMETOOLONG errors**: Resolved file path issues in test analysis\n- ✅ **Improved error handling**: Better error messages and debugging information\n\n### Development Setup\n```bash\n# Development with auto-restart\nnpm run dev\n\n# Production build and start\nnpm run build\nnpm start\n```\n\n## Known Issues & Limitations\n\n- **Data-driven testing**: Advanced data-driven test features are work in progress\n- **Complex scenarios**: For highly complex test scenarios, use `Create_Custom_Artillery_Test` with custom YAML\n- **Authentication**: Currently supports token-based auth; OAuth flows require custom configuration\n- **Monitoring**: Real-time monitoring during test execution is limited to Artillery's built-in output\n\nFor complex requirements not covered by the templates, use the `Create_Custom_Artillery_Test` tool with your complete Artillery configuration.\n\n## Uninstallation\n\n```bash\nnpm uninstall artillery-performance-mcp-server\n```\n\n## License\n\nMIT\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n### Development Guidelines\n- Follow TypeScript best practices\n- Ensure MCP SDK compatibility (currently requires zod v3.25.x)\n- Test both stdio and HTTP transports\n- Update tool descriptions for AI agent clarity\n- Maintain file organization in `./artillery-tests/` directory\n","readmeFilename":"README.md"}