QA Studio MCP Server
MCP (Model Context Protocol) server for QA Studio - interact with your test management platform directly from Claude.
Features
This MCP server exposes QA Studio's API as MCP tools, allowing you to:
- 📋 List and search projects
- 🚀 Create and manage test runs
- ✅ View test results and execution history
- 📝 Create test cases
- 📊 Submit test results (manual testing)
Installation
Option 1: NPM Package (Recommended)
npx @qastudio-dev/mcp-server
Or install globally:
npm install -g @qastudio-dev/mcp-server
Option 2: Local Development
For local development or if the package isn't published yet:
git clone https://github.com/QAStudio-Dev/mcp-server.git
cd mcp-server
npm install
npm run build
Configuration
Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
For published package (after publishing to npm):
{
"mcpServers": {
"qastudio": {
"command": "npx",
"args": ["-y", "@qastudio-dev/mcp-server"],
"env": {
"QA_STUDIO_API_URL": "https://qastudio.dev/api",
"QA_STUDIO_API_KEY": "your-api-key-here"
}
}
}
}
For local development (before publishing):
{
"mcpServers": {
"qastudio": {
"command": "node",
"args": ["/absolute/path/to/qastudio-mcp/dist/index.js"],
"env": {
"QA_STUDIO_API_URL": "https://qastudio.dev/api",
"QA_STUDIO_API_KEY": "your-api-key-here"
}
}
}
}
Note: Replace
/absolute/path/to/qastudio-mcpwith the actual path to your local repository.
Environment Variables
QA_STUDIO_API_URL- Base URL for your QA Studio API (default:http://localhost:3000/api)QA_STUDIO_API_KEY- Your QA Studio API key (required)
Usage
Once configured, you can interact with QA Studio directly from Claude:
Examples
List projects:
Show me all projects in QA Studio
Create a test run:
Create a new test run for project ABC123 called "Sprint 45 Regression" in the staging environment
View test results:
Show me the test results for project ABC123, test run XYZ789
Create a test case:
Create a high priority functional test case for project ABC123:
Title: "Verify user login with valid credentials"
Steps:
1. Navigate to login page
2. Enter valid username and password
3. Click login button
Expected: User is redirected to dashboard
Submit test results:
Submit these manual test results for project ABC123, run XYZ789:
- "Login test" - passed
- "Registration test" - failed (Error: Email validation not working)
- "Logout test" - passed
Available Tools
list-projects
List all projects with optional search filtering.
Parameters:
search(optional): Search query to filter projects by name
create-test-run
Create a new test run for a project.
Parameters:
projectId(required): Project IDname(required): Test run nameenvironment(required): Environment (e.g., "production", "staging")description(optional): Test run descriptionmilestoneId(optional): Associated milestone ID
list-test-runs
List test runs for a project.
Parameters:
projectId(required): Project IDlimit(optional): Maximum results (default: 50)offset(optional): Pagination offset (default: 0)
get-test-run
Get detailed information about a specific test run.
Parameters:
projectId(required): Project IDtestRunId(required): Test run ID
get-test-results
Get test results for a specific test run.
Parameters:
projectId(required): Project IDtestRunId(required): Test run IDstatus(optional): Filter by status (passed, failed, skipped, blocked, retest, untested)
create-test-case
Create a new test case in a project.
Parameters:
projectId(required): Project IDtitle(required): Test case titledescription(optional): Detailed descriptionpriority(optional): CRITICAL, HIGH, MEDIUM, LOWtype(optional): FUNCTIONAL, REGRESSION, SMOKE, INTEGRATION, PERFORMANCE, SECURITY, UI, API, UNIT, E2EautomationStatus(optional): AUTOMATED, NOT_AUTOMATED, CANDIDATEsteps(optional): Array of test steps with action and expectedResult
submit-test-results
Submit test results for a test run (useful for manual testing).
Parameters:
projectId(required): Project IDtestRunId(required): Test run IDresults(required): Array of test results with title, status, duration, and optional error
Development
Local Development Setup
-
Clone and install dependencies:
git clone https://github.com/QAStudio-Dev/mcp-server.git cd mcp-server npm install -
Build the project:
npm run build -
Configure Claude Desktop for local development:
Edit your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add this configuration (replace the path with your actual project path):
{ "mcpServers": { "qastudio": { "command": "node", "args": ["/Users/yourusername/path/to/qastudio-mcp/dist/index.js"], "env": { "QA_STUDIO_API_URL": "https://qastudio.dev/api", "QA_STUDIO_API_KEY": "your-api-key-here" } } } } - macOS:
-
Restart Claude Desktop to load the MCP server
-
Run tests:
# Run all tests npm test # Run tests in watch mode npm run test:watch # Run tests with UI npm run test:ui -
Watch mode for development:
# Automatically rebuild on file changes npm run devAfter making changes, restart Claude Desktop to reload the server.
Testing the Server Directly
You can test the MCP server independently (without Claude):
# Set environment variables
export QA_STUDIO_API_URL="https://qastudio.dev/api"
export QA_STUDIO_API_KEY="your-api-key"
# Run the server (it will listen on stdio)
node dist/index.js
API Key Setup
To create an API key in QA Studio:
- Log in to your QA Studio instance
- Navigate to Settings → API Keys
- Click "Create API Key"
- Give it a name (e.g., "Claude MCP Server")
- Copy the generated key and add it to your MCP configuration
Security
- Never commit your API key to version control
- Store API keys securely in environment variables or configuration files
- Use HTTPS for production QA Studio instances
- Rotate API keys regularly
License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.
What does AGPL-3.0 mean?
- You are free to use, modify, and distribute this software
- If you modify this software and run it on a server (including offering it as a service), you must make your modified source code available to users
- Any derivative work must also be licensed under AGPL-3.0
- This ensures that improvements to the software remain open source and benefit the community
For more information, see the full license text or visit GNU AGPL-3.0.