# API Tester MCP Server
[](https://img.shields.io/npm/v/@kirti676/api-tester-mcp.svg)
[](https://www.npmjs.com/package/@kirti676/api-tester-mcp)
[](https://opensource.org/licenses/MIT)
A comprehensive Model Context Protocol (MCP) server for QA/SDET engineers that provides API testing capabilities with Swagger/OpenAPI and Postman collection support.
> ๐ **Now available on NPM!** Install with `npx @kirti676/api-tester-mcp@latest`
## ๐ What's New
- โ
**Enhanced Progress Tracking** - Real-time progress with completion percentages and ETA
- โ
**Visual Progress Bars** - ASCII progress bars with milestone notifications
- โ
**Performance Metrics** - Throughput calculations and execution summaries
- โ
**Published on NPM** - Install instantly with NPX
- โ
**VS Code Integration** - One-click installation buttons
- โ
**Simplified Setup** - No manual Python installation required
- โ
**Cross-Platform** - Works on Windows, macOS, and Linux
- โ
**Auto-Updates** - Always get the latest version with `@latest`
## ๐ Getting Started
### ๐ฆ Installation
The API Tester MCP server can be used directly with npx without any installation:
```bash
npx @kirti676/api-tester-mcp@latest
```
**โก Quick Install:**
[](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22api-tester%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22%40kirti676%2Fapi-tester-mcp%40latest%22%5D%7D)
[](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%7B%22name%22%3A%22API-tester%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22%40kirti676%2Fapi-tester-mcp%40latest%22%5D%7D)
### ๐ค Claude Desktop
Follow the MCP install [guide](https://modelcontextprotocol.io/quickstart/user), use the standard config below:
```json
{
"mcpServers": {
"api-tester": {
"command": "npx",
"args": ["@kirti676/api-tester-mcp@latest"]
}
}
}
```
### ๐ Other MCP Clients
The standard configuration works with most MCP clients:
```json
{
"mcpServers": {
"api-tester": {
"command": "npx",
"args": ["@kirti676/api-tester-mcp@latest"]
}
}
}
```
**๐ฅ๏ธ Supported Clients:**
- ๐ค [Claude Desktop](https://claude.ai/desktop)
- ๐ป [VS Code](https://code.visualstudio.com/) with MCP extension
- โก [Cursor](https://cursor.sh/)
- ๐ [Windsurf](https://codeium.com/windsurf)
- ๐ชฟ [Goose](https://github.com/Codium-ai/goose)
- ๐ง Any other MCP-compatible client
### ๐ Python Installation (Alternative)
```bash
pip install api-tester-mcp
```
### ๐ป From Source
```bash
git clone https://github.com/kirti676/api_tester_mcp.git
cd api_tester_mcp
npm install
```
## โก Quick Start
Try the API Tester MCP server immediately:
```bash
# Run the server
npx @kirti676/api-tester-mcp@latest
# Check version
npx @kirti676/api-tester-mcp@latest --version
# Get help
npx @kirti676/api-tester-mcp@latest --help
```
For MCP clients like Claude Desktop, use this configuration:
```json
{
"mcpServers": {
"api-tester": {
"command": "npx",
"args": ["@kirti676/api-tester-mcp@latest"]
}
}
}
```
## โจ Features
- **๐ฅ Input Support**: Swagger/OpenAPI documents and Postman collections
- **๐ Test Generation**: Automatic API and Load test scenario generation
- **๐ Multi-Language Support**: Generate tests in TypeScript/Playwright, JavaScript/Jest, Python/pytest, and more
- **โก Test Execution**: Run generated tests with detailed reporting
- **๐ Smart Auth Detection**: Automatic environment variable analysis and setup guidance
- **๐ Authentication**: Bearer token and API key support via `set_env_vars`
- **๐ HTML Reports**: Beautiful, accessible reports via MCP resources
- **๐ Real-time Progress**: Live updates with progress bars and completion percentages
- **โฑ๏ธ ETA Calculations**: Estimated time to completion for all operations
- **๐ฏ Milestone Tracking**: Special notifications at key progress milestones (25%, 50%, 75%, etc.)
- **๐ Performance Metrics**: Throughput calculations and execution summaries
- **โ
Schema Validation**: Request body generation from schema examples
- **๐ฏ Assertions**: Per-endpoint status code assertions (2xx, 4xx, 5xx)
- **๐ฆ Project Generation**: Complete project scaffolding with dependencies and configuration
## ๐ Multi-Language Test Generation
The API Tester MCP now supports generating test code in multiple programming languages and testing frameworks:
### ๐ง Supported Language/Framework Combinations
| Language | Framework | Description | Use Case |
|------------|------------|------------------------------------------------|-----------------------------|
| ๐ TypeScript | ๐ญ Playwright | Modern E2E testing with excellent API support | ๐ข Enterprise web applications |
| ๐ TypeScript | ๐ Supertest | Express.js focused API testing | ๐ข Node.js backend services |
| ๐ JavaScript | ๐ Jest | Popular testing framework with good ecosystem | ๐ง General API testing |
| ๐ JavaScript | ๐ฒ Cypress | E2E testing with great developer experience | ๐ Full-stack applications |
| ๐ Python | ๐งช pytest | Comprehensive testing with fixtures & plugins | ๐ Data-heavy APIs & ML services |
| ๐ Python | ๐ก requests | Simple HTTP testing for quick validation | โก Rapid prototyping & scripts |
### ๐ฏ Language Selection Workflow
```javascript
// 1. Get available languages and frameworks
const languages = await mcp.call("get_supported_languages");
// 2. Choose your preferred combination
await mcp.call("ingest_spec", {
spec_type: "openapi",
file_path: "./path/to/your/api-spec.json",
preferred_language: "typescript", // python, typescript, javascript
preferred_framework: "playwright" // varies by language
});
// 3. Generate test cases with code
await mcp.call("generate_test_cases", {
language: "typescript",
framework: "playwright"
});
// 4. Get complete project setup
await mcp.call("generate_project_files", {
language: "typescript",
framework: "playwright",
project_name: "my-api-tests",
include_examples: true
});
```
### ๐ Generated Project Structure
The `generate_project_files` tool creates a complete, ready-to-run project:
**๐ TypeScript + Playwright:**
```
my-api-tests/
โโโ ๐ฆ package.json # Dependencies & scripts
โโโ โ๏ธ playwright.config.ts # Playwright configuration
โโโ ๐ tests/
โ โโโ ๐งช api.spec.ts # Generated test code
โโโ ๐ README.md # Setup instructions
```
**๐ Python + pytest:**
```
my-api-tests/
โโโ ๐ requirements.txt # Python dependencies
โโโ โ๏ธ pytest.ini # pytest configuration
โโโ ๐ tests/
โ โโโ ๐งช test_api.py # Generated test code
โโโ ๐ README.md # Setup instructions
```
**๐ JavaScript + Jest:**
```
my-api-tests/
โโโ ๐ฆ package.json # Dependencies & scripts
โโโ โ๏ธ jest.config.js # Jest configuration
โโโ ๐ tests/
โ โโโ ๐งช api.test.js # Generated test code
โโโ ๐ README.md # Setup instructions
```
### ๐ฏ Framework-Specific Features
- **๐ญ Playwright**: Browser automation, parallel execution, detailed reporting
- **๐ Jest**: Snapshot testing, mocking, watch mode for development
- **๐งช pytest**: Fixtures, parametrized tests, extensive plugin ecosystem
- **๐ฒ Cypress**: Interactive debugging, time-travel debugging, real browser testing
- **๐ Supertest**: Express.js integration, middleware testing
- **๐ก requests**: Simple API calls, session management, authentication helpers
## ๐ Progress Tracking
The API Tester MCP includes comprehensive progress tracking for all operations:
### ๐ Visual Progress Indicators
```
๐ฏ API Test Execution: [โโโโโโโโโโโโโโโโโโโโ] 50.0% (5/10) | ETA: 2.5s - GET /api/users โ
```
### ๐ฅ Features:
- **๐ Progress Bars**: ASCII progress bars with filled/empty indicators
- **๐ Completion Percentages**: Real-time percentage completion
- **โฐ ETA Calculations**: Estimated time to completion based on current performance
- **๐ฏ Milestone Notifications**: Special highlighting at key progress points
- **โก Performance Metrics**: Throughput and timing statistics
- **๐ Operation Context**: Detailed information about current step being executed
### โ
Available for:
- ๐ฌ Scenario generation
- ๐งช Test case generation
- ๐ API test execution
- โก Load test execution
- ๐ All long-running operations
## ๐ ๏ธ MCP Tools
The server provides 11 comprehensive MCP tools with detailed parameter specifications:
### 1. ๐ฅ **`ingest_spec`** - Load API Specifications
Load Swagger/OpenAPI or Postman collections with language/framework preferences
```javascript
{
"spec_type": "openapi", // openapi, swagger, postman (optional, auto-detected)
"file_path": "./api-spec.json", // Path to JSON or YAML specification file (required)
"preferred_language": "python", // python, typescript, javascript (optional, default: python)
"preferred_framework": "requests" // pytest, requests, playwright, jest, cypress, supertest (optional, default: requests)
}
```
### 2. ๐ง **`set_env_vars`** - Configure Authentication & Environment
Set environment variables with automatic validation and guidance
```javascript
{
"variables": {}, // Dictionary of custom environment variables (optional)
"baseUrl": null, // API base URL (optional)
"auth_bearer": null, // Bearer/JWT token (optional)
"auth_apikey": null, // API key (optional)
"auth_basic": null, // Base64 encoded credentials (optional)
"auth_username": null, // Username for basic auth (optional)
"auth_password": null // Password for basic auth (optional)
}
```
### 3. ๐ฌ **`generate_scenarios`** - Create Test Scenarios
Generate test scenarios from ingested specifications
```javascript
{
"include_negative_tests": true, // Generate failure scenarios (default: true)
"include_edge_cases": true // Generate boundary conditions (default: true)
}
```
### 4. ๐งช **`generate_test_cases`** - Convert to Executable Tests
Convert scenarios to executable test cases in preferred language/framework
```javascript
{
"scenario_ids": null // Array of scenario IDs or null for all (optional)
}
```
### 5. ๐ **`run_api_tests`** - Execute API Tests
Execute API tests with detailed results and reporting
```javascript
{
"test_case_ids": null, // Array of test case IDs or null for all (optional)
"max_concurrent": 10 // Number of concurrent requests 1-50 (default: 10)
}
```
### 6. โก **`run_load_tests`** - Execute Performance Tests
Execute load/performance tests with configurable parameters
```javascript
{
"test_case_ids": null, // Array of test case IDs or null for all (optional)
"duration": 60, // Test duration in seconds (default: 60)
"users": 10, // Number of concurrent virtual users (default: 10)
"ramp_up": 10 // Ramp up time in seconds (default: 10)
}
```
### 7. ๐ **`get_supported_languages`** - List Language/Framework Options
Get list of supported programming languages and testing frameworks
```javascript
// No parameters required
{}
```
### 8. ๐ฆ **`generate_project_files`** - Generate Complete Projects
Generate complete project structure with dependencies and configuration
```javascript
{
"project_name": null, // Project folder name (optional, auto-generated if null)
"include_examples": true // Include example test files (default: true)
}
```
### 9. ๐ **`get_workspace_info`** - Workspace Information
Get information about workspace directory and file generation locations
```javascript
// No parameters required
{}
```
### 10. ๐ **`debug_file_system`** - File System Diagnostics
Get comprehensive workspace information and file system diagnostics
```javascript
// No parameters required
{}
```
### 11. ๐ **`get_session_status`** - Session Status & Progress
Retrieve current session information with progress details
```javascript
// No parameters required
{}
```
## ๐ MCP Resources
- **`file://reports`** - List all available test reports
- **`file://reports/{report_id}`** - Access individual HTML test reports
## ๐ก MCP Prompts
- **`create_api_test_plan`** - Generate comprehensive API test plans
- **`analyze_test_failures`** - Analyze test failures and provide recommendations
## ๐ Smart Environment Variable Analysis
The API Tester MCP now automatically analyzes your API specifications to detect required environment variables and provides helpful setup guidance:
### ๐ฏ Automatic Detection
- **๐ Authentication Schemes**: Bearer tokens, API keys, Basic auth, OAuth2
- **๐ Base URLs**: Extracted from specification servers/hosts
- **๐ Template Variables**: Postman collection variables like `{{baseUrl}}`, `{{authToken}}`
- **๐ Path Parameters**: Dynamic values in paths like `/users/{userId}`
### ๐ก Smart Suggestions
```javascript
// 1. Ingest specification - automatic analysis included
const result = await mcp.call("ingest_spec", {
spec_type: "openapi",
file_path: "./api-specification.json"
});
// Check the setup message for immediate guidance
console.log(result.setup_message);
// "โ ๏ธ 2 required environment variable(s) detected..."
// 2. Get detailed setup instructions
const suggestions = await mcp.call("get_env_var_suggestions");
console.log(suggestions.setup_instructions);
// Provides copy-paste ready configuration examples
```
## ๐ฏ Default Parameter Keys
All MCP tools now provide helpful default parameter keys to guide users on what values they can set:
### ๐ง Environment Variables (`set_env_vars`)
**๐ ALL PARAMETERS ARE OPTIONAL** - Provide only what you need:
```javascript
// Option 1: Just the base URL
await mcp.call("set_env_vars", {
baseUrl: "https://api.example.com/v1"
});
// Option 2: Just authentication
await mcp.call("set_env_vars", {
auth_bearer: "your-jwt-token-here"
});
// Option 3: Multiple parameters
await mcp.call("set_env_vars", {
baseUrl: "https://api.example.com/v1",
auth_bearer: "your-jwt-token",
auth_apikey: "your-api-key"
});
// Option 4: Using variables dict for custom values
await mcp.call("set_env_vars", {
variables: {
"baseUrl": "https://api.example.com/v1",
"custom_header": "custom-value"
}
});
```
### ๐ Language & Framework Selection
Default values help you understand available options:
```javascript
// Ingest with defaults shown
await mcp.call("ingest_spec", {
spec_type: "openapi", // openapi, swagger, postman
file_path: "./api-spec.json", // Path to JSON or YAML specification file
preferred_language: "python", // python, typescript, javascript
preferred_framework: "requests" // pytest, requests, playwright, jest, cypress, supertest
});
// Project generation with defaults
await mcp.call("generate_project_files", {
language: "python", // python, typescript, javascript
framework: "requests", // Framework matching the language
project_name: "api-tests", // Project folder name
include_examples: true // Include example test files
});
```
### โก Test Execution Parameters
Clear defaults for performance tuning:
```javascript
// API tests with concurrency control
await mcp.call("run_api_tests", {
test_case_ids: null, // ["test_1", "test_2"] or null for all
max_concurrent: 10 // Number of concurrent requests (1-50)
});
// Load tests with performance parameters
await mcp.call("run_load_tests", {
test_case_ids: null, // ["test_1", "test_2"] or null for all
duration: 60, // Test duration in seconds
users: 10, // Number of concurrent virtual users
ramp_up: 10 // Ramp up time in seconds
});
```
## ๐ง Configuration Example
```javascript
// NEW: Check supported languages and frameworks
const languages = await mcp.call("get_supported_languages");
console.log(languages.supported_combinations);
// Ingest specification with language preferences
await mcp.call("ingest_spec", {
spec_type: "openapi",
file_path: "./openapi-specification.json",
preferred_language: "typescript",
preferred_framework: "playwright"
});
// Set environment variables for authentication
await mcp.call("set_env_vars", {
variables: {
"baseUrl": "https://api.example.com",
"auth_bearer": "your-bearer-token",
"auth_apikey": "your-api-key"
}
});
// Generate test scenarios
await mcp.call("generate_scenarios", {
include_negative_tests: true,
include_edge_cases: true
});
// Generate test cases in TypeScript/Playwright
await mcp.call("generate_test_cases", {
language: "typescript",
framework: "playwright"
});
// Generate complete project files
await mcp.call("generate_project_files", {
language: "typescript",
framework: "playwright",
project_name: "my-api-tests",
include_examples: true
});
// Run API tests (still works with existing execution engine)
await mcp.call("run_api_tests", {
max_concurrent: 5
});
```
## ๐ Complete Workflow Example
Here's a complete example of testing the Petstore API:
```bash
# 1. Start the MCP server
npx @kirti676/api-tester-mcp@latest
```
Then in your MCP client (like Claude Desktop):
```javascript
// 1. Load the Petstore OpenAPI spec
await mcp.call("ingest_spec", {
spec_type: "openapi",
file_path: "./examples/petstore_openapi.json"
});
// 2. Set environment variables
await mcp.call("set_env_vars", {
pairs: {
"baseUrl": "https://petstore.swagger.io/v2",
"auth_apikey": "special-key"
}
});
// 3. Generate test cases
const tests = await mcp.call("get_generated_tests");
// 4. Run API tests
const result = await mcp.call("run_api_tests");
// 5. View results in HTML report
const reports = await mcp.call("list_resources", {
uri: "file://reports"
});
```
## ๐ Usage Examples
### ๐ Basic API Testing Workflow
1. **๐ฅ Ingest API Specification**
```json
{
"tool": "ingest_spec",
"params": {
"spec_type": "openapi",
"content": "{ ... your OpenAPI spec ... }"
}
}
```
2. **๐ Configure Authentication**
```json
{
"tool": "set_env_vars",
"params": {
"variables": {
"auth_bearer": "your-token",
"baseUrl": "https://api.example.com"
}
}
}
```
3. **๐ Generate and Run Tests**
```json
{
"tool": "generate_scenarios",
"params": {
"include_negative_tests": true
}
}
```
4. **๐ View Results**
- ๐ Access HTML reports via MCP resources
- ๐ Get session status and statistics
### โก Load Testing
```json
{
"tool": "run_load_tests",
"params": {
"users": 10,
"duration": 60,
"ramp_up": 10
}
}
```
## ๐ Test Generation Features
- **โ
Positive Tests**: Valid requests with expected 2xx responses
- **โ Negative Tests**: Invalid authentication (401), wrong methods (405)
- **๐ฏ Edge Cases**: Large payloads, boundary conditions
- **๐๏ธ Schema-based Bodies**: Automatic request body generation from OpenAPI schemas
- **๐ Comprehensive Assertions**: Status codes, response times, content validation
## ๐ HTML Reports
Generated reports include:
- ๐ Test execution summary with pass/fail statistics
- โฑ๏ธ Detailed test results with timing information
- ๐ Assertion breakdowns and error details
- ๐๏ธ Response previews and debugging information
- ๐ฑ Mobile-friendly responsive design
## ๐ Authentication Support
- **๐ซ Bearer Tokens**: `auth_bearer` environment variable
- **๐ API Keys**: `auth_apikey` environment variable (sent as X-API-Key header)
- **๐ค Basic Auth**: `auth_basic` environment variable
## ๐ง Requirements
- **๐ Python**: 3.8 or higher
- **๐ข Node.js**: 14 or higher (for npm installation)
## ๐ฆ Dependencies
### ๐ Python Dependencies
- ๐ fastmcp>=0.2.0
- ๐ pydantic>=2.0.0
- ๐ requests>=2.28.0
- โ
jsonschema>=4.0.0
- ๐ pyyaml>=6.0
- ๐จ jinja2>=3.1.0
- ๐ aiofiles>=23.0.0
- โก aiohttp>=3.8.0
- ๐ญ faker>=19.0.0
### ๐ข Node.js Dependencies
- โจ None (self-contained package)
## ๐ง Troubleshooting
### โ Common Issues
**๐ฆ NPX Command Not Working**
```bash
# If npx command fails, try:
npm install -g @kirti676/api-tester-mcp@latest
# Or run directly:
node ./node_modules/@kirti676/api-tester-mcp/cli.js
```
**๐ Python Not Found**
```bash
# Make sure Python 3.8+ is installed and in PATH
python --version
# Install Python dependencies manually if needed:
pip install fastmcp>=0.2.0 pydantic>=2.0.0 requests>=2.28.0
```
**๐ MCP Client Connection Issues**
- โ
Ensure the MCP server is running on stdio transport (default)
- ๐ Check that your MCP client supports the latest MCP protocol version
- ๐ Verify the configuration JSON syntax is correct
### ๐ Getting Help
1. ๐ Check the [Examples](examples/) directory for working configurations
2. ๐ Run with `--verbose` flag for detailed logging
3. ๐ Report issues on [GitHub Issues](https://github.com/kirti676/api_tester_mcp/issues)
## ๐ค Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Issues & Support
- **NPM Package**: [@kirti676/api-tester-mcp](https://www.npmjs.com/package/@kirti676/api-tester-mcp)
- **Report bugs**: [GitHub Issues](https://github.com/kirti676/api_tester_mcp/issues)
## ๐ Roadmap
- [โ
] **Multi-Language Test Generation** - TypeScript/Playwright, JavaScript/Jest, Python/pytest support โจ **NEW!**
- [โ
] **Complete Project Generation** - Full project scaffolding with dependencies and configuration โจ **NEW!**
- [ ] GraphQL API support
- [ ] Additional authentication methods (OAuth2, JWT)
- [ ] Go/Golang test generation (with testify/ginkgo)
- [ ] C#/.NET test generation (with NUnit/xUnit)
- [ ] Performance monitoring and alerting
- [ ] Integration with CI/CD pipelines (GitHub Actions, Jenkins)
- [ ] Advanced test data generation from examples and schemas
- [ ] API contract testing with Pact support
- [ ] Mock server generation for development
## ๐ Copyright & Usage
**ยฉ 2025 kirti676. All rights reserved.**
This repository and its contents are protected by copyright law. For permission to reuse, reference, or redistribute any part of this project, please contact the owner at [kirti676@outlook.com](mailto:kirti676@outlook.com).
**โ
Allowed without permission:**
- Personal learning and experimentation
- Contributing back to this repository via Pull Requests
**โ Requires permission:**
- Commercial use or integration
- Redistribution in modified form
- Publishing derived works
For licensing inquiries, collaboration opportunities, or permission requests, reach out to [kirti676@outlook.com](mailto:kirti676@outlook.com).
---
<div align="center">
[](https://github.com/kirti676/api_tester_mcp)
[](https://github.com/kirti676/api_tester_mcp/fork)
[](https://github.com/kirti676/api_tester_mcp/subscription)
[](https://github.com/kirti676/api_tester_mcp/discussions)
**๐ Built with โค๏ธ for QA/SDET engineers worldwide ๐**
</div>
Raw data
{
"_id": null,
"home_page": "https://github.com/kirti676/api_tester_mcp",
"name": "api-tester-mcp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "mcp api-testing swagger openapi postman qa sdet testing model-context-protocol typescript playwright jest pytest multi-language test-generation",
"author": "API Tester MCP",
"author_email": "api-tester@example.com",
"download_url": "https://files.pythonhosted.org/packages/6f/07/20c69ffa6714ea6b0e37d050fab73567c75f0d32b98af9cb3b0b3f47a0bc/api_tester_mcp-1.4.8.tar.gz",
"platform": null,
"description": "# API Tester MCP Server\n\n[](https://img.shields.io/npm/v/@kirti676/api-tester-mcp.svg)\n[](https://www.npmjs.com/package/@kirti676/api-tester-mcp)\n[](https://opensource.org/licenses/MIT)\n\nA comprehensive Model Context Protocol (MCP) server for QA/SDET engineers that provides API testing capabilities with Swagger/OpenAPI and Postman collection support.\n\n> \ud83c\udf89 **Now available on NPM!** Install with `npx @kirti676/api-tester-mcp@latest`\n\n## \ud83c\udd95 What's New\n\n- \u2705 **Enhanced Progress Tracking** - Real-time progress with completion percentages and ETA\n- \u2705 **Visual Progress Bars** - ASCII progress bars with milestone notifications\n- \u2705 **Performance Metrics** - Throughput calculations and execution summaries\n- \u2705 **Published on NPM** - Install instantly with NPX\n- \u2705 **VS Code Integration** - One-click installation buttons \n- \u2705 **Simplified Setup** - No manual Python installation required\n- \u2705 **Cross-Platform** - Works on Windows, macOS, and Linux\n- \u2705 **Auto-Updates** - Always get the latest version with `@latest`\n\n## \ud83d\ude80 Getting Started\n\n### \ud83d\udce6 Installation\n\nThe API Tester MCP server can be used directly with npx without any installation:\n\n```bash\nnpx @kirti676/api-tester-mcp@latest\n```\n\n**\u26a1 Quick Install:**\n\n[](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22api-tester%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22%40kirti676%2Fapi-tester-mcp%40latest%22%5D%7D)\n[](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%7B%22name%22%3A%22API-tester%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22%40kirti676%2Fapi-tester-mcp%40latest%22%5D%7D)\n\n### \ud83e\udd16 Claude Desktop\n\nFollow the MCP install [guide](https://modelcontextprotocol.io/quickstart/user), use the standard config below:\n\n```json\n{\n \"mcpServers\": {\n \"api-tester\": {\n \"command\": \"npx\",\n \"args\": [\"@kirti676/api-tester-mcp@latest\"]\n }\n }\n}\n```\n\n### \ud83d\udd17 Other MCP Clients\n\nThe standard configuration works with most MCP clients:\n\n```json\n{\n \"mcpServers\": {\n \"api-tester\": {\n \"command\": \"npx\",\n \"args\": [\"@kirti676/api-tester-mcp@latest\"]\n }\n }\n}\n```\n\n**\ud83d\udda5\ufe0f Supported Clients:**\n- \ud83e\udd16 [Claude Desktop](https://claude.ai/desktop)\n- \ud83d\udcbb [VS Code](https://code.visualstudio.com/) with MCP extension\n- \u26a1 [Cursor](https://cursor.sh/)\n- \ud83c\udf0a [Windsurf](https://codeium.com/windsurf)\n- \ud83e\udebf [Goose](https://github.com/Codium-ai/goose)\n- \ud83d\udd27 Any other MCP-compatible client\n\n### \ud83d\udc0d Python Installation (Alternative)\n\n```bash\npip install api-tester-mcp\n```\n\n### \ud83d\udcbb From Source\n\n```bash\ngit clone https://github.com/kirti676/api_tester_mcp.git\ncd api_tester_mcp\nnpm install\n```\n\n## \u26a1 Quick Start\n\nTry the API Tester MCP server immediately:\n\n```bash\n# Run the server\nnpx @kirti676/api-tester-mcp@latest\n\n# Check version\nnpx @kirti676/api-tester-mcp@latest --version\n\n# Get help\nnpx @kirti676/api-tester-mcp@latest --help\n```\n\nFor MCP clients like Claude Desktop, use this configuration:\n\n```json\n{\n \"mcpServers\": {\n \"api-tester\": {\n \"command\": \"npx\",\n \"args\": [\"@kirti676/api-tester-mcp@latest\"]\n }\n }\n}\n```\n\n## \u2728 Features\n\n- **\ud83d\udce5 Input Support**: Swagger/OpenAPI documents and Postman collections\n- **\ud83d\udd04 Test Generation**: Automatic API and Load test scenario generation\n- **\ud83c\udf10 Multi-Language Support**: Generate tests in TypeScript/Playwright, JavaScript/Jest, Python/pytest, and more\n- **\u26a1 Test Execution**: Run generated tests with detailed reporting\n- **\ud83d\udd10 Smart Auth Detection**: Automatic environment variable analysis and setup guidance\n- **\ud83d\udd10 Authentication**: Bearer token and API key support via `set_env_vars`\n- **\ud83d\udcca HTML Reports**: Beautiful, accessible reports via MCP resources\n- **\ud83d\udcc8 Real-time Progress**: Live updates with progress bars and completion percentages\n- **\u23f1\ufe0f ETA Calculations**: Estimated time to completion for all operations\n- **\ud83c\udfaf Milestone Tracking**: Special notifications at key progress milestones (25%, 50%, 75%, etc.)\n- **\ud83d\udcca Performance Metrics**: Throughput calculations and execution summaries\n- **\u2705 Schema Validation**: Request body generation from schema examples\n- **\ud83c\udfaf Assertions**: Per-endpoint status code assertions (2xx, 4xx, 5xx)\n- **\ud83d\udce6 Project Generation**: Complete project scaffolding with dependencies and configuration\n\n## \ud83c\udf10 Multi-Language Test Generation\n\nThe API Tester MCP now supports generating test code in multiple programming languages and testing frameworks:\n\n### \ud83d\udd27 Supported Language/Framework Combinations\n\n| Language | Framework | Description | Use Case |\n|------------|------------|------------------------------------------------|-----------------------------|\n| \ud83d\udcd8 TypeScript | \ud83c\udfad Playwright | Modern E2E testing with excellent API support | \ud83c\udfe2 Enterprise web applications |\n| \ud83d\udcd8 TypeScript | \ud83d\ude80 Supertest | Express.js focused API testing | \ud83d\udfe2 Node.js backend services |\n| \ud83d\udcd9 JavaScript | \ud83c\udccf Jest | Popular testing framework with good ecosystem | \ud83d\udd27 General API testing |\n| \ud83d\udcd9 JavaScript | \ud83c\udf32 Cypress | E2E testing with great developer experience | \ud83c\udf10 Full-stack applications |\n| \ud83d\udc0d Python | \ud83e\uddea pytest | Comprehensive testing with fixtures & plugins | \ud83d\udcca Data-heavy APIs & ML services |\n| \ud83d\udc0d Python | \ud83d\udce1 requests | Simple HTTP testing for quick validation | \u26a1 Rapid prototyping & scripts |\n\n### \ud83c\udfaf Language Selection Workflow\n\n```javascript\n// 1. Get available languages and frameworks\nconst languages = await mcp.call(\"get_supported_languages\");\n\n// 2. Choose your preferred combination\nawait mcp.call(\"ingest_spec\", {\n spec_type: \"openapi\",\n file_path: \"./path/to/your/api-spec.json\",\n preferred_language: \"typescript\", // python, typescript, javascript\n preferred_framework: \"playwright\" // varies by language\n});\n\n// 3. Generate test cases with code\nawait mcp.call(\"generate_test_cases\", {\n language: \"typescript\",\n framework: \"playwright\"\n});\n\n// 4. Get complete project setup\nawait mcp.call(\"generate_project_files\", {\n language: \"typescript\",\n framework: \"playwright\",\n project_name: \"my-api-tests\",\n include_examples: true\n});\n```\n\n### \ud83d\udcc1 Generated Project Structure\n\nThe `generate_project_files` tool creates a complete, ready-to-run project:\n\n**\ud83d\udcd8 TypeScript + Playwright:**\n```\nmy-api-tests/\n\u251c\u2500\u2500 \ud83d\udce6 package.json # Dependencies & scripts\n\u251c\u2500\u2500 \u2699\ufe0f playwright.config.ts # Playwright configuration\n\u251c\u2500\u2500 \ud83d\udcc2 tests/\n\u2502 \u2514\u2500\u2500 \ud83e\uddea api.spec.ts # Generated test code\n\u2514\u2500\u2500 \ud83d\udcd6 README.md # Setup instructions\n```\n\n**\ud83d\udc0d Python + pytest:**\n```\nmy-api-tests/\n\u251c\u2500\u2500 \ud83d\udccb requirements.txt # Python dependencies\n\u251c\u2500\u2500 \u2699\ufe0f pytest.ini # pytest configuration\n\u251c\u2500\u2500 \ud83d\udcc2 tests/\n\u2502 \u2514\u2500\u2500 \ud83e\uddea test_api.py # Generated test code\n\u2514\u2500\u2500 \ud83d\udcd6 README.md # Setup instructions\n```\n\n**\ud83d\udcd9 JavaScript + Jest:**\n```\nmy-api-tests/\n\u251c\u2500\u2500 \ud83d\udce6 package.json # Dependencies & scripts\n\u251c\u2500\u2500 \u2699\ufe0f jest.config.js # Jest configuration\n\u251c\u2500\u2500 \ud83d\udcc2 tests/\n\u2502 \u2514\u2500\u2500 \ud83e\uddea api.test.js # Generated test code\n\u2514\u2500\u2500 \ud83d\udcd6 README.md # Setup instructions\n```\n\n### \ud83c\udfaf Framework-Specific Features\n\n- **\ud83c\udfad Playwright**: Browser automation, parallel execution, detailed reporting\n- **\ud83c\udccf Jest**: Snapshot testing, mocking, watch mode for development\n- **\ud83e\uddea pytest**: Fixtures, parametrized tests, extensive plugin ecosystem\n- **\ud83c\udf32 Cypress**: Interactive debugging, time-travel debugging, real browser testing\n- **\ud83d\ude80 Supertest**: Express.js integration, middleware testing\n- **\ud83d\udce1 requests**: Simple API calls, session management, authentication helpers\n\n## \ud83d\udcc8 Progress Tracking\n\nThe API Tester MCP includes comprehensive progress tracking for all operations:\n\n### \ud83d\udcca Visual Progress Indicators\n```\n\ud83c\udfaf API Test Execution: [\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591] 50.0% (5/10) | ETA: 2.5s - GET /api/users \u2705\n```\n\n### \ud83d\udd25 Features:\n- **\ud83d\udcca Progress Bars**: ASCII progress bars with filled/empty indicators\n- **\ud83d\udcc8 Completion Percentages**: Real-time percentage completion\n- **\u23f0 ETA Calculations**: Estimated time to completion based on current performance\n- **\ud83c\udfaf Milestone Notifications**: Special highlighting at key progress points\n- **\u26a1 Performance Metrics**: Throughput and timing statistics\n- **\ud83d\udccb Operation Context**: Detailed information about current step being executed\n\n### \u2705 Available for:\n- \ud83c\udfac Scenario generation\n- \ud83e\uddea Test case generation \n- \ud83d\ude80 API test execution\n- \u26a1 Load test execution\n- \ud83d\udd04 All long-running operations\n\n## \ud83d\udee0\ufe0f MCP Tools\n\nThe server provides 11 comprehensive MCP tools with detailed parameter specifications:\n\n### 1. \ud83d\udce5 **`ingest_spec`** - Load API Specifications\nLoad Swagger/OpenAPI or Postman collections with language/framework preferences\n```javascript\n{\n \"spec_type\": \"openapi\", // openapi, swagger, postman (optional, auto-detected)\n \"file_path\": \"./api-spec.json\", // Path to JSON or YAML specification file (required)\n \"preferred_language\": \"python\", // python, typescript, javascript (optional, default: python)\n \"preferred_framework\": \"requests\" // pytest, requests, playwright, jest, cypress, supertest (optional, default: requests)\n}\n```\n\n### 2. \ud83d\udd27 **`set_env_vars`** - Configure Authentication & Environment\nSet environment variables with automatic validation and guidance\n```javascript\n{\n \"variables\": {}, // Dictionary of custom environment variables (optional)\n \"baseUrl\": null, // API base URL (optional)\n \"auth_bearer\": null, // Bearer/JWT token (optional)\n \"auth_apikey\": null, // API key (optional)\n \"auth_basic\": null, // Base64 encoded credentials (optional)\n \"auth_username\": null, // Username for basic auth (optional)\n \"auth_password\": null // Password for basic auth (optional)\n}\n```\n\n### 3. \ud83c\udfac **`generate_scenarios`** - Create Test Scenarios\nGenerate test scenarios from ingested specifications\n```javascript\n{\n \"include_negative_tests\": true, // Generate failure scenarios (default: true)\n \"include_edge_cases\": true // Generate boundary conditions (default: true)\n}\n```\n\n### 4. \ud83e\uddea **`generate_test_cases`** - Convert to Executable Tests\nConvert scenarios to executable test cases in preferred language/framework\n```javascript\n{\n \"scenario_ids\": null // Array of scenario IDs or null for all (optional)\n}\n```\n\n### 5. \ud83d\ude80 **`run_api_tests`** - Execute API Tests\nExecute API tests with detailed results and reporting\n```javascript\n{\n \"test_case_ids\": null, // Array of test case IDs or null for all (optional)\n \"max_concurrent\": 10 // Number of concurrent requests 1-50 (default: 10)\n}\n```\n\n### 6. \u26a1 **`run_load_tests`** - Execute Performance Tests\nExecute load/performance tests with configurable parameters\n```javascript\n{\n \"test_case_ids\": null, // Array of test case IDs or null for all (optional)\n \"duration\": 60, // Test duration in seconds (default: 60)\n \"users\": 10, // Number of concurrent virtual users (default: 10)\n \"ramp_up\": 10 // Ramp up time in seconds (default: 10)\n}\n```\n\n### 7. \ud83c\udf10 **`get_supported_languages`** - List Language/Framework Options\nGet list of supported programming languages and testing frameworks\n```javascript\n// No parameters required\n{}\n```\n\n### 8. \ud83d\udce6 **`generate_project_files`** - Generate Complete Projects\nGenerate complete project structure with dependencies and configuration\n```javascript\n{\n \"project_name\": null, // Project folder name (optional, auto-generated if null)\n \"include_examples\": true // Include example test files (default: true)\n}\n```\n\n### 9. \ud83d\udcc1 **`get_workspace_info`** - Workspace Information\nGet information about workspace directory and file generation locations\n```javascript\n// No parameters required\n{}\n```\n\n### 10. \ud83d\udd0d **`debug_file_system`** - File System Diagnostics\nGet comprehensive workspace information and file system diagnostics\n```javascript\n// No parameters required\n{}\n```\n\n### 11. \ud83d\udcca **`get_session_status`** - Session Status & Progress\nRetrieve current session information with progress details\n```javascript\n// No parameters required\n{}\n```\n\n## \ud83d\udcda MCP Resources\n\n- **`file://reports`** - List all available test reports\n- **`file://reports/{report_id}`** - Access individual HTML test reports\n\n## \ud83d\udca1 MCP Prompts\n\n- **`create_api_test_plan`** - Generate comprehensive API test plans\n- **`analyze_test_failures`** - Analyze test failures and provide recommendations\n\n## \ud83d\udd0d Smart Environment Variable Analysis\n\nThe API Tester MCP now automatically analyzes your API specifications to detect required environment variables and provides helpful setup guidance:\n\n### \ud83c\udfaf Automatic Detection\n- **\ud83d\udd10 Authentication Schemes**: Bearer tokens, API keys, Basic auth, OAuth2\n- **\ud83c\udf10 Base URLs**: Extracted from specification servers/hosts\n- **\ud83d\udd17 Template Variables**: Postman collection variables like `{{baseUrl}}`, `{{authToken}}`\n- **\ud83d\udccd Path Parameters**: Dynamic values in paths like `/users/{userId}`\n\n### \ud83d\udca1 Smart Suggestions\n```javascript\n// 1. Ingest specification - automatic analysis included\nconst result = await mcp.call(\"ingest_spec\", {\n spec_type: \"openapi\",\n file_path: \"./api-specification.json\"\n});\n\n// Check the setup message for immediate guidance\nconsole.log(result.setup_message);\n// \"\u26a0\ufe0f 2 required environment variable(s) detected...\"\n\n// 2. Get detailed setup instructions\nconst suggestions = await mcp.call(\"get_env_var_suggestions\");\nconsole.log(suggestions.setup_instructions);\n// Provides copy-paste ready configuration examples\n```\n\n## \ud83c\udfaf Default Parameter Keys\n\nAll MCP tools now provide helpful default parameter keys to guide users on what values they can set:\n\n### \ud83d\udd27 Environment Variables (`set_env_vars`)\n**\ud83d\udd11 ALL PARAMETERS ARE OPTIONAL** - Provide only what you need:\n```javascript\n// Option 1: Just the base URL\nawait mcp.call(\"set_env_vars\", {\n baseUrl: \"https://api.example.com/v1\"\n});\n\n// Option 2: Just authentication\nawait mcp.call(\"set_env_vars\", {\n auth_bearer: \"your-jwt-token-here\"\n});\n\n// Option 3: Multiple parameters\nawait mcp.call(\"set_env_vars\", {\n baseUrl: \"https://api.example.com/v1\",\n auth_bearer: \"your-jwt-token\",\n auth_apikey: \"your-api-key\"\n});\n\n// Option 4: Using variables dict for custom values\nawait mcp.call(\"set_env_vars\", {\n variables: {\n \"baseUrl\": \"https://api.example.com/v1\",\n \"custom_header\": \"custom-value\"\n }\n});\n```\n\n### \ud83c\udf10 Language & Framework Selection\nDefault values help you understand available options:\n```javascript\n// Ingest with defaults shown\nawait mcp.call(\"ingest_spec\", {\n spec_type: \"openapi\", // openapi, swagger, postman\n file_path: \"./api-spec.json\", // Path to JSON or YAML specification file\n preferred_language: \"python\", // python, typescript, javascript\n preferred_framework: \"requests\" // pytest, requests, playwright, jest, cypress, supertest\n});\n\n// Project generation with defaults\nawait mcp.call(\"generate_project_files\", {\n language: \"python\", // python, typescript, javascript\n framework: \"requests\", // Framework matching the language\n project_name: \"api-tests\", // Project folder name\n include_examples: true // Include example test files\n});\n```\n\n### \u26a1 Test Execution Parameters\nClear defaults for performance tuning:\n```javascript\n// API tests with concurrency control\nawait mcp.call(\"run_api_tests\", {\n test_case_ids: null, // [\"test_1\", \"test_2\"] or null for all\n max_concurrent: 10 // Number of concurrent requests (1-50)\n});\n\n// Load tests with performance parameters \nawait mcp.call(\"run_load_tests\", {\n test_case_ids: null, // [\"test_1\", \"test_2\"] or null for all\n duration: 60, // Test duration in seconds\n users: 10, // Number of concurrent virtual users\n ramp_up: 10 // Ramp up time in seconds\n});\n```\n\n## \ud83d\udd27 Configuration Example\n\n```javascript\n// NEW: Check supported languages and frameworks\nconst languages = await mcp.call(\"get_supported_languages\");\nconsole.log(languages.supported_combinations);\n\n// Ingest specification with language preferences\nawait mcp.call(\"ingest_spec\", {\n spec_type: \"openapi\",\n file_path: \"./openapi-specification.json\",\n preferred_language: \"typescript\",\n preferred_framework: \"playwright\"\n});\n\n// Set environment variables for authentication\nawait mcp.call(\"set_env_vars\", {\n variables: {\n \"baseUrl\": \"https://api.example.com\",\n \"auth_bearer\": \"your-bearer-token\",\n \"auth_apikey\": \"your-api-key\"\n }\n});\n\n// Generate test scenarios\nawait mcp.call(\"generate_scenarios\", {\n include_negative_tests: true,\n include_edge_cases: true\n});\n\n// Generate test cases in TypeScript/Playwright\nawait mcp.call(\"generate_test_cases\", {\n language: \"typescript\",\n framework: \"playwright\"\n});\n\n// Generate complete project files\nawait mcp.call(\"generate_project_files\", {\n language: \"typescript\",\n framework: \"playwright\",\n project_name: \"my-api-tests\",\n include_examples: true\n});\n\n// Run API tests (still works with existing execution engine)\nawait mcp.call(\"run_api_tests\", {\n max_concurrent: 5\n});\n```\n\n## \ud83d\ude80 Complete Workflow Example\n\nHere's a complete example of testing the Petstore API:\n\n```bash\n# 1. Start the MCP server\nnpx @kirti676/api-tester-mcp@latest\n```\n\nThen in your MCP client (like Claude Desktop):\n\n```javascript\n// 1. Load the Petstore OpenAPI spec\nawait mcp.call(\"ingest_spec\", {\n spec_type: \"openapi\",\n file_path: \"./examples/petstore_openapi.json\"\n});\n\n// 2. Set environment variables\nawait mcp.call(\"set_env_vars\", {\n pairs: {\n \"baseUrl\": \"https://petstore.swagger.io/v2\",\n \"auth_apikey\": \"special-key\"\n }\n});\n\n// 3. Generate test cases\nconst tests = await mcp.call(\"get_generated_tests\");\n\n// 4. Run API tests\nconst result = await mcp.call(\"run_api_tests\");\n\n// 5. View results in HTML report\nconst reports = await mcp.call(\"list_resources\", {\n uri: \"file://reports\"\n});\n```\n\n## \ud83d\udcd6 Usage Examples\n\n### \ud83d\udd04 Basic API Testing Workflow\n\n1. **\ud83d\udce5 Ingest API Specification**\n ```json\n {\n \"tool\": \"ingest_spec\",\n \"params\": {\n \"spec_type\": \"openapi\",\n \"content\": \"{ ... your OpenAPI spec ... }\"\n }\n }\n ```\n\n2. **\ud83d\udd10 Configure Authentication**\n ```json\n {\n \"tool\": \"set_env_vars\", \n \"params\": {\n \"variables\": {\n \"auth_bearer\": \"your-token\",\n \"baseUrl\": \"https://api.example.com\"\n }\n }\n }\n ```\n\n3. **\ud83d\ude80 Generate and Run Tests**\n ```json\n {\n \"tool\": \"generate_scenarios\",\n \"params\": {\n \"include_negative_tests\": true\n }\n }\n ```\n\n4. **\ud83d\udcca View Results**\n - \ud83d\udcc4 Access HTML reports via MCP resources\n - \ud83d\udcc8 Get session status and statistics\n\n### \u26a1 Load Testing\n\n```json\n{\n \"tool\": \"run_load_tests\",\n \"params\": {\n \"users\": 10,\n \"duration\": 60,\n \"ramp_up\": 10\n }\n}\n```\n\n## \ud83d\udd0d Test Generation Features\n\n- **\u2705 Positive Tests**: Valid requests with expected 2xx responses\n- **\u274c Negative Tests**: Invalid authentication (401), wrong methods (405)\n- **\ud83c\udfaf Edge Cases**: Large payloads, boundary conditions\n- **\ud83c\udfd7\ufe0f Schema-based Bodies**: Automatic request body generation from OpenAPI schemas\n- **\ud83d\udd0d Comprehensive Assertions**: Status codes, response times, content validation\n\n## \ud83d\udcca HTML Reports\n\nGenerated reports include:\n- \ud83d\udcc8 Test execution summary with pass/fail statistics\n- \u23f1\ufe0f Detailed test results with timing information\n- \ud83d\udd0d Assertion breakdowns and error details\n- \ud83d\udc41\ufe0f Response previews and debugging information\n- \ud83d\udcf1 Mobile-friendly responsive design\n\n## \ud83d\udd12 Authentication Support\n\n- **\ud83c\udfab Bearer Tokens**: `auth_bearer` environment variable\n- **\ud83d\udd11 API Keys**: `auth_apikey` environment variable (sent as X-API-Key header)\n- **\ud83d\udc64 Basic Auth**: `auth_basic` environment variable\n\n## \ud83d\udd27 Requirements\n\n- **\ud83d\udc0d Python**: 3.8 or higher\n- **\ud83d\udfe2 Node.js**: 14 or higher (for npm installation)\n\n## \ud83d\udce6 Dependencies\n\n### \ud83d\udc0d Python Dependencies\n- \ud83d\ude80 fastmcp>=0.2.0\n- \ud83d\udcca pydantic>=2.0.0\n- \ud83c\udf10 requests>=2.28.0\n- \u2705 jsonschema>=4.0.0\n- \ud83d\udcdd pyyaml>=6.0\n- \ud83c\udfa8 jinja2>=3.1.0\n- \ud83d\udcc1 aiofiles>=23.0.0\n- \u26a1 aiohttp>=3.8.0\n- \ud83c\udfad faker>=19.0.0\n\n### \ud83d\udfe2 Node.js Dependencies \n- \u2728 None (self-contained package)\n\n## \ud83d\udd27 Troubleshooting\n\n### \u2757 Common Issues\n\n**\ud83d\udce6 NPX Command Not Working**\n```bash\n# If npx command fails, try:\nnpm install -g @kirti676/api-tester-mcp@latest\n\n# Or run directly:\nnode ./node_modules/@kirti676/api-tester-mcp/cli.js\n```\n\n**\ud83d\udc0d Python Not Found**\n```bash\n# Make sure Python 3.8+ is installed and in PATH\npython --version\n\n# Install Python dependencies manually if needed:\npip install fastmcp>=0.2.0 pydantic>=2.0.0 requests>=2.28.0\n```\n\n**\ud83d\udd17 MCP Client Connection Issues**\n- \u2705 Ensure the MCP server is running on stdio transport (default)\n- \ud83d\udd04 Check that your MCP client supports the latest MCP protocol version\n- \ud83d\udcdd Verify the configuration JSON syntax is correct\n\n### \ud83c\udd98 Getting Help\n\n1. \ud83d\udcd6 Check the [Examples](examples/) directory for working configurations\n2. \ud83d\udd0d Run with `--verbose` flag for detailed logging\n3. \ud83d\udc1b Report issues on [GitHub Issues](https://github.com/kirti676/api_tester_mcp/issues)\n\n## \ud83e\udd1d Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\udc1b Issues & Support\n\n- **NPM Package**: [@kirti676/api-tester-mcp](https://www.npmjs.com/package/@kirti676/api-tester-mcp)\n- **Report bugs**: [GitHub Issues](https://github.com/kirti676/api_tester_mcp/issues)\n\n## \ud83d\udcc8 Roadmap\n\n- [\u2705] **Multi-Language Test Generation** - TypeScript/Playwright, JavaScript/Jest, Python/pytest support \u2728 **NEW!**\n- [\u2705] **Complete Project Generation** - Full project scaffolding with dependencies and configuration \u2728 **NEW!**\n- [ ] GraphQL API support\n- [ ] Additional authentication methods (OAuth2, JWT)\n- [ ] Go/Golang test generation (with testify/ginkgo)\n- [ ] C#/.NET test generation (with NUnit/xUnit)\n- [ ] Performance monitoring and alerting\n- [ ] Integration with CI/CD pipelines (GitHub Actions, Jenkins)\n- [ ] Advanced test data generation from examples and schemas\n- [ ] API contract testing with Pact support\n- [ ] Mock server generation for development\n\n## \ud83d\udcc4 Copyright & Usage\n\n**\u00a9 2025 kirti676. All rights reserved.**\n\nThis repository and its contents are protected by copyright law. For permission to reuse, reference, or redistribute any part of this project, please contact the owner at [kirti676@outlook.com](mailto:kirti676@outlook.com).\n\n**\u2705 Allowed without permission:**\n- Personal learning and experimentation\n- Contributing back to this repository via Pull Requests\n\n**\u2753 Requires permission:**\n- Commercial use or integration\n- Redistribution in modified form\n- Publishing derived works\n\nFor licensing inquiries, collaboration opportunities, or permission requests, reach out to [kirti676@outlook.com](mailto:kirti676@outlook.com).\n\n---\n\n<div align=\"center\">\n\n[](https://github.com/kirti676/api_tester_mcp)\n[](https://github.com/kirti676/api_tester_mcp/fork)\n[](https://github.com/kirti676/api_tester_mcp/subscription)\n[](https://github.com/kirti676/api_tester_mcp/discussions)\n\n**\ud83d\ude80 Built with \u2764\ufe0f for QA/SDET engineers worldwide \ud83c\udf0d**\n\n</div>\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Multi-language MCP server for API testing with TypeScript/Playwright, JavaScript/Jest, Python/pytest support",
"version": "1.4.8",
"project_urls": {
"Changelog": "https://github.com/kirti676/api_tester_mcp/blob/main/CHANGELOG.md",
"Homepage": "https://github.com/kirti676/api_tester_mcp",
"Issues": "https://github.com/kirti676/api_tester_mcp/issues",
"Repository": "https://github.com/kirti676/api_tester_mcp.git"
},
"split_keywords": [
"mcp",
"api-testing",
"swagger",
"openapi",
"postman",
"qa",
"sdet",
"testing",
"model-context-protocol",
"typescript",
"playwright",
"jest",
"pytest",
"multi-language",
"test-generation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e20b63e049624c328bdea56c6d3471914a55c0c3516db81ddc6cf87cdac82587",
"md5": "30caafbabec06c2a7a0a28edd670af2d",
"sha256": "8cf9402564b371fc25e2b4b36c09a77902b49a0499377e67f152ad3a1094d8a9"
},
"downloads": -1,
"filename": "api_tester_mcp-1.4.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "30caafbabec06c2a7a0a28edd670af2d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 51799,
"upload_time": "2025-10-13T19:31:46",
"upload_time_iso_8601": "2025-10-13T19:31:46.842265Z",
"url": "https://files.pythonhosted.org/packages/e2/0b/63e049624c328bdea56c6d3471914a55c0c3516db81ddc6cf87cdac82587/api_tester_mcp-1.4.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6f0720c69ffa6714ea6b0e37d050fab73567c75f0d32b98af9cb3b0b3f47a0bc",
"md5": "02a70166aa82d34030b22ff8581e50ad",
"sha256": "00dad5719bc3523e5db2558ccd1071edea0578a7c943bd88bf79afe928273d88"
},
"downloads": -1,
"filename": "api_tester_mcp-1.4.8.tar.gz",
"has_sig": false,
"md5_digest": "02a70166aa82d34030b22ff8581e50ad",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 56859,
"upload_time": "2025-10-13T19:31:47",
"upload_time_iso_8601": "2025-10-13T19:31:47.782043Z",
"url": "https://files.pythonhosted.org/packages/6f/07/20c69ffa6714ea6b0e37d050fab73567c75f0d32b98af9cb3b0b3f47a0bc/api_tester_mcp-1.4.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-13 19:31:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kirti676",
"github_project": "api_tester_mcp",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "fastmcp",
"specs": [
[
">=",
"0.2.0"
]
]
},
{
"name": "pydantic",
"specs": [
[
">=",
"2.0.0"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.28.0"
]
]
},
{
"name": "jsonschema",
"specs": [
[
">=",
"4.0.0"
]
]
},
{
"name": "pyyaml",
"specs": [
[
">=",
"6.0"
]
]
},
{
"name": "jinja2",
"specs": [
[
">=",
"3.1.0"
]
]
},
{
"name": "aiofiles",
"specs": [
[
">=",
"23.0.0"
]
]
},
{
"name": "aiohttp",
"specs": [
[
">=",
"3.8.0"
]
]
},
{
"name": "faker",
"specs": [
[
">=",
"19.0.0"
]
]
}
],
"lcname": "api-tester-mcp"
}