Skip to main content

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 DevOps
  • configure_jira_connection - Set up Jira
  • initialize_traceability_database - Initialize PostgreSQL

Azure DevOps Tools

  • fetch_user_story - Get user story details
  • fetch_testcases - Get linked test cases
  • create_testcase - Create new test case
  • batch_create_testcases - Create multiple test cases
  • prepare_test_case_context - Prepare context for generation

Jira Tools

  • fetch_jira_issue - Get Jira issue details
  • fetch_jira_testcases - Get linked test cases
  • create_jira_testcase - Create new test case
  • batch_create_jira_testcases - Create multiple test cases
  • prepare_jira_test_case_context - Prepare context for generation

Traceability Tools

  • create_traceability_link - Link items
  • get_traceability_links_for_item - Get all links
  • generate_traceability_report - Generate reports
  • get_traceability_matrix_for_session - Get full matrix

Vector Search Tools

  • search_similar_stories - Find similar user stories
  • configure_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

  1. Connection Refused

    • Ensure PostgreSQL is running
    • Check connection string in .env
  2. Authentication Errors

    • Verify PAT/API tokens are valid
    • Check token permissions
  3. Import Errors

    • Ensure all dependencies installed: pip install -e ".[vector]"
    • Activate virtual environment

Logs

Check logs at: ~/.mcp/logs/alm-traceability.log

License

MIT

Contributing

  1. Fork the repository
  2. Create feature branch
  3. Make changes
  4. Run tests
  5. Submit pull request

Support

Metadata

Release files for alm-traceability-mcp 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for alm-traceability-mcp 1.0.6
File Size Uploaded
alm_traceability_mcp-1.0.6.tar.gz 26.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for alm-traceability-mcp 1.0.6
File Interpreter ABI Platform
alm_traceability_mcp-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 53.7 kB

Release files / alm_traceability_mcp-1.0.6.tar.gz

Download URL alm_traceability_mcp-1.0.6.tar.gz
Size 26.0 kB
Tags Source
SHA-256 checksum
How to use checksums
00c2dbf74be1248b31b463e6a1ba8a4b0f5c93a452b847f71bba014d404f6c2d
BLAKE2b-256 checksum
How to use checksums
85bc06427e0ef286a07144f170c88e27c3af0c30eb4d15240dcb3b09592f1ede
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / alm_traceability_mcp-1.0.6-py3-none-any.whl

Download URL alm_traceability_mcp-1.0.6-py3-none-any.whl
Size 27.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7328f6b72973cae2b7c857efbb304e5fd36516001d26760c76dad72b5571cefe
BLAKE2b-256 checksum
How to use checksums
3b5cbf1a254729b75751e7f2236e883a7e52e4d8aa5e8d8ae2f20e4fcf75a82e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

1.0.6 This release

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page