qa-mcp
An MCP server that lets Claude create TestRail test cases directly from Jira or Azure DevOps user stories — with built-in format enforcement, section management, and automatic traceability links.
Requirements
- Node.js 18+
- A TestRail account with API access
- A Jira account and/or Azure DevOps project
Quick start
npx qa-mcp init
This runs an interactive wizard that sets up your .env credentials file and a qa-mcp.config.json config file.
Then add the server to your MCP client (e.g. Claude Desktop's claude_desktop_config.json):
{
"mcpServers": {
"qa-mcp": {
"command": "npx",
"args": ["qa-mcp", "start"]
}
}
}
Commands
| Command | Description |
|---|---|
npx qa-mcp init | Interactive setup wizard — credentials + config |
npx qa-mcp start | Start the MCP server |
npx qa-mcp doctor | Check env vars and connection health |
Configuration
Non-sensitive settings live in qa-mcp.config.json (committed to your repo). Credentials live in .env (never committed).
{
"source": {
"platform": "jira"
},
"testCase": {
"title": {
"separator": " - ",
"maxLength": 200,
"forbiddenPrefixes": ["Verify", "Check", "Test", "Ensure", "Validate"]
}
},
"testrail": {
"projectId": 123
}
}
Set source.platform to "jira", "ado", or "both".
MCP tools
| Tool | Description |
|---|---|
get_user_story | Fetch a story from Jira or ADO and normalize its content |
list_sections | List all TestRail sections in your project |
create_section | Create a new TestRail section (requires user confirmation) |
list_test_cases | List existing test cases in a section (duplicate check) |
create_test_case | Create a test case with format validation and traceability link |
Environment variables
| Variable | Required for |
|---|---|
JIRA_BASE_URL | Jira |
JIRA_EMAIL | Jira |
JIRA_API_TOKEN | Jira |
ADO_ORG_URL | Azure DevOps |
ADO_PROJECT | Azure DevOps |
ADO_PAT | Azure DevOps |
TESTRAIL_BASE_URL | Always |
TESTRAIL_EMAIL | Always |
TESTRAIL_API_KEY | Always |
License
MIT