qa-mcp
by joaopedro17
README.md
# 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
```bash
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`):
```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).
```json
{
"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