ALM Traceability MCP Tools - Azure DevOps, Jira, and Vector Search integration
Project description
ALM Traceability MCP Server
PostgreSQL-based Model Context Protocol (MCP) server for ALM traceability management across Azure DevOps, Jira, and vector search.
Features
- ✅ Azure DevOps Integration - User stories, test cases, work items
- ✅ Jira Integration - Issues, test cases, custom fields
- ✅ PostgreSQL Traceability - Persistent traceability matrix
- ✅ Vector Search - Similarity search with Google Cloud Vertex AI
- ✅ Batch Operations - Create multiple test cases efficiently
- ✅ MCP Protocol - Full Claude Desktop integration
Installation
Option 1: Direct Python Installation
# Clone repository
git clone https://github.com/Vk171127/mcp-server-for-alm-tools.git
cd mcp-server-for-alm-tools
# Install
pip install -e .
# With vector search support
pip install -e ".[vector]"
Option 2: Using NPX (Recommended for MCP)
# Install globally
npm install -g @yourorg/alm-traceability-mcp
# Or use directly with npx
npx @yourorg/alm-traceability-mcp
Configuration
1. Environment Variables
Copy .env.example to .env and configure:
# Azure DevOps
ADO_ORG=your-organization
ADO_PROJECT=your-project
ADO_PAT=your-pat-token
# Jira
JIRA_BASE_URL=https://yourcompany.atlassian.net
JIRA_EMAIL=your-email@company.com
JIRA_API_TOKEN=your-api-token
JIRA_PROJECT_KEY=PROJECT
# PostgreSQL
DB_HOST=localhost
DB_PORT=5432
DB_NAME=alm_traceability
DB_USER=postgres
DB_PASSWORD=your-password
2. Claude Desktop Configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"alm-traceability": {
"command": "python",
"args": ["-m", "mcp_main"],
"env": {
"ADO_ORG": "your-org",
"ADO_PROJECT": "your-project",
"ADO_PAT": "your-pat",
"DB_HOST": "localhost",
"DB_NAME": "alm_traceability",
"DB_USER": "postgres",
"DB_PASSWORD": "your-password"
}
}
}
}
3. Database Setup
-- Create database
CREATE DATABASE alm_traceability;
-- Run schema (see schema.sql)
\i schema.sql
Usage
Starting the Server
# Activate virtual environment
source venv/bin/activate
# Run server
python -m mcp_main
Available MCP Tools
Configuration Tools
configure_ado_connection- Set up Azure DevOpsconfigure_jira_connection- Set up Jirainitialize_traceability_database- Initialize PostgreSQL
Azure DevOps Tools
fetch_user_story- Get user story detailsfetch_testcases- Get linked test casescreate_testcase- Create new test casebatch_create_testcases- Create multiple test casesprepare_test_case_context- Prepare context for generation
Jira Tools
fetch_jira_issue- Get Jira issue detailsfetch_jira_testcases- Get linked test casescreate_jira_testcase- Create new test casebatch_create_jira_testcases- Create multiple test casesprepare_jira_test_case_context- Prepare context for generation
Traceability Tools
create_traceability_link- Link itemsget_traceability_links_for_item- Get all linksgenerate_traceability_report- Generate reportsget_traceability_matrix_for_session- Get full matrix
Vector Search Tools
search_similar_stories- Find similar user storiesconfigure_vertex_ai- Set up vector search
Example Usage with Claude
User: "Configure Azure DevOps for my organization 'contoso' and project 'HealthApp'"
Claude: [calls configure_ado_connection]
User: "Fetch user story 12345 and prepare context for test generation"
Claude: [calls prepare_test_case_context with user_story_id=12345]
User: "Generate 5 test cases covering positive, negative, and edge cases"
Claude: [calls batch_create_testcases with generated test cases]
Development
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black .
isort .
# Lint
flake8
Architecture
┌─────────────────┐
│ Claude Desktop │
└────────┬────────┘
│ MCP Protocol
▼
┌─────────────────┐
│ MCP Server │
│ (Python) │
└────────┬────────┘
│
┌────┴────┬────────┬─────────┐
▼ ▼ ▼ ▼
┌───────┐ ┌──────┐ ┌──────┐ ┌──────────┐
│ ADO │ │ Jira │ │ DB │ │ Vector │
│Client │ │Client│ │(PG) │ │ Search │
└───────┘ └──────┘ └──────┘ └──────────┘
Troubleshooting
Common Issues
-
Connection Refused
- Ensure PostgreSQL is running
- Check connection string in .env
-
Authentication Errors
- Verify PAT/API tokens are valid
- Check token permissions
-
Import Errors
- Ensure all dependencies installed:
pip install -e ".[vector]" - Activate virtual environment
- Ensure all dependencies installed:
Logs
Check logs at: ~/.mcp/logs/alm-traceability.log
License
MIT
Contributing
- Fork the repository
- Create feature branch
- Make changes
- Run tests
- Submit pull request
Support
- GitHub Issues: https://github.com/Vk171127/mcp-server-for-alm-tools/issues
- Documentation: See
/docsfolder
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alm_traceability_mcp-1.0.5.tar.gz.
File metadata
- Download URL: alm_traceability_mcp-1.0.5.tar.gz
- Upload date:
- Size: 25.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c022bf00cdb9982574658604f521c708a9c86c902337fde72a189cee086910f6
|
|
| MD5 |
c5eb51f3eb8a8ed572edd53e21446710
|
|
| BLAKE2b-256 |
1279bc57091980c76cb02a3b9f8e4793501d78cae26f06dbacd5f63f20595dd5
|
File details
Details for the file alm_traceability_mcp-1.0.5-py3-none-any.whl.
File metadata
- Download URL: alm_traceability_mcp-1.0.5-py3-none-any.whl
- Upload date:
- Size: 27.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad25597448a78f91b2e2841ec4741c5df33564e53c4efdf96d5a9be87e34e9a3
|
|
| MD5 |
8e99f56aa8f73289eaf25a91c42ef422
|
|
| BLAKE2b-256 |
5714c662ad73cc77756fd42b3d9424d19f6936e456f7a8af39941fcf4f746788
|