QA Assistant
FreeNot checkedAn MCP server that enables Claude to read Jira user stories, search Confluence documentation, and generate QA artifacts like test scenarios, test cases, traceab
About
An MCP server that enables Claude to read Jira user stories, search Confluence documentation, and generate QA artifacts like test scenarios, test cases, traceability matrices, coverage analysis, and executive summaries using GPT-4o.
README
A production-ready MCP (Model Context Protocol) server that gives Claude Desktop and Claude Code the ability to read Jira user stories, search Confluence documentation, and generate professional QA artifacts powered by GPT-4o.
Features
| Tool | Description |
|---|---|
get_user_story |
Fetch a Jira issue with summary, description, acceptance criteria, labels, priority |
search_confluence |
Full-text search across Confluence pages |
get_requirement_context |
Merge Jira story + relevant Confluence pages into one context |
generate_test_scenarios |
AI-generated scenario table (ID, Scenario, Priority, Risk) |
generate_test_cases |
Comprehensive test cases — Positive, Negative, Boundary, Validation, Permission |
generate_rtm |
Requirements Traceability Matrix mapping ACs to test cases |
analyze_test_coverage |
Coverage %, missing areas, risk areas, recommendations |
generate_test_summary |
Executive report with coverage, risks, and release readiness |
Prerequisites
- Python 3.12+
- Jira Cloud account with API token
- Confluence Cloud account with API token
- OpenAI API key (GPT-4o access recommended)
- Claude Desktop or Claude Code
Installation
1. Clone the repository
git clone <your-repo-url>
cd qa-mcp
2. Create a virtual environment
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
3. Install dependencies
pip install -r requirements.txt
4. Configure environment variables
cp .env.example .env
Edit .env with your credentials:
JIRA_URL=https://your-domain.atlassian.net
[email protected]
JIRA_API_TOKEN=your-jira-api-token
CONFLUENCE_URL=https://your-domain.atlassian.net
[email protected]
CONFLUENCE_API_TOKEN=your-confluence-api-token
OPENAI_API_KEY=sk-your-openai-api-key
How to get API tokens:
- Jira/Confluence: https://id.atlassian.com/manage-profile/security/api-tokens
- OpenAI: https://platform.openai.com/api-keys
Running the Server
Standalone test (stdio mode)
python server.py
Development with MCP Inspector
mcp dev server.py
Claude Desktop Configuration
Add to your Claude Desktop config file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"qa-assistant": {
"command": "E:\\Testing\\MCP\\MCP_QA1\\.venv\\Scripts\\python.exe",
"args": ["C:\\full\\path\\to\\qa-mcp\\server.py"],
"env": {
"JIRA_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-jira-api-token",
"CONFLUENCE_URL": "https://your-domain.atlassian.net",
"CONFLUENCE_EMAIL": "[email protected]",
"CONFLUENCE_API_TOKEN": "your-confluence-api-token",
"OPENAI_API_KEY": "sk-your-openai-api-key"
}
}
}
}
Tip: Use the full absolute path to
server.py. On Windows use double backslashes or forward slashes.
After saving, restart Claude Desktop.
Claude Code Configuration
Add to your project's .mcp.json:
{
"mcpServers": {
"qa-assistant": {
"command": "python",
"args": ["server.py"],
"cwd": "C:\\full\\path\\to\\qa-mcp"
}
}
}
Or run directly:
claude mcp add qa-assistant python server.py
Usage Examples
Once connected to Claude, use natural language:
Get the user story for US-123
Search Confluence for "payment gateway BRD"
Get the full requirement context for PROJ-456
Generate test scenarios for US-123
Generate test cases for US-123
Generate RTM for US-123
Analyze test coverage for US-123
Create a test summary report for US-123
Project Structure
qa-mcp/
├── server.py # MCP server entry point
├── tools/
│ ├── __init__.py
│ ├── jira_tools.py # get_user_story, get_requirement_context
│ ├── confluence_tools.py # search_confluence
│ ├── testcase_tools.py # generate_test_scenarios, generate_test_cases,
│ │ # generate_rtm, analyze_test_coverage
│ └── report_tools.py # generate_test_summary
├── services/
│ ├── __init__.py
│ ├── jira_service.py # Jira API wrapper (atlassian-python-api)
│ ├── confluence_service.py # Confluence API wrapper
│ └── ai_service.py # OpenAI GPT-4o integration
├── models/
│ ├── __init__.py
│ ├── story.py # UserStory Pydantic model
│ └── testcase.py # TestCase, Scenario, RTM, Coverage models
├── .env # Your credentials (not committed)
├── .env.example # Template
├── requirements.txt
└── README.md
Troubleshooting
| Problem | Solution |
|---|---|
EnvironmentError: Missing Jira credentials |
Check that .env is in the qa-mcp/ directory and all three Jira vars are set |
AuthError from Jira/Confluence |
Verify email + API token; the token is NOT your password |
openai.AuthenticationError |
Check OPENAI_API_KEY starts with sk- |
| Tool not appearing in Claude | Restart Claude Desktop after editing claude_desktop_config.json |
ModuleNotFoundError |
Ensure virtual environment is activated when running server.py |
Notes
- All AI generation uses GPT-4o by default. Override with
OPENAI_MODEL=gpt-4o-minifor lower cost. - Jira and Confluence use the same Atlassian API token — same credentials work for both.
- The server reads
.envfrom its own directory regardless of where you invoke it.
Installing QA Assistant
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/thanhhien2510kt/MCP_SkillFAQ
Is QA Assistant MCP free?
Yes, QA Assistant MCP is free — one-click install via Unyly at no cost.
Does QA Assistant need an API key?
No, QA Assistant runs without API keys or environment variables.
Is QA Assistant hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install QA Assistant in Claude Desktop, Claude Code or Cursor?
Open QA Assistant on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Notion
Read and write pages in your workspace
by NotionLinear
Issues, cycles, triage — from Claude
by LinearGoogle Drive
Search and read your Drive files
by Googlemindsdb/mindsdb
Connect and unify data across various platforms and databases with [MindsDB as a single MCP server](https://docs.mindsdb.com/mcp/overview).
by mindsdbCompare QA Assistant with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All productivity MCPs
