QA Assistant MCP
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
QA Assistant MCP
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
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=your-jira-api-token
CONFLUENCE_URL=https://your-domain.atlassian.net
CONFLUENCE_EMAIL=your-email@example.com
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": "python",
"args": ["C:\\full\\path\\to\\qa-mcp\\server.py"],
"env": {
"JIRA_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-jira-api-token",
"CONFLUENCE_URL": "https://your-domain.atlassian.net",
"CONFLUENCE_EMAIL": "your-email@example.com",
"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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.