Skip to main content

MCP server for IBM Engineering Lifecycle Management (ELM) via OSLC REST API

Project description

elm-alm-py

MCP server for IBM Engineering Lifecycle Management (ELM) — read-only access to DOORS Next (RM), RTC (CCM), and ETM (QM) via OSLC REST APIs.

Tested against ELM 7.0.3.

Install

uv pip install -e .

Configuration

Option 1: Interactive login (recommended)

elm-alm-py login

Saves credentials to ~/.elm_creds.json (password base64-encoded, chmod 600).

Option 2: Environment variables

export ELM_URL=https://your-elm-server.example.com
export ELM_USER=your_username
export ELM_PASSWORD=secret

Usage

As MCP server (stdio)

elm-alm-py

MCP client configuration

{
  "mcpServers": {
    "elm-alm": {
      "command": "elm-alm-py",
      "env": {
        "ELM_URL": "https://your-elm-server.example.com",
        "ELM_USER": "your_username",
        "ELM_PASSWORD": "secret"
      }
    }
  }
}

Tools

Tool Description
list_projects(domain) List projects for RM/CCM/QM
search_requirements(project, query?) OSLC query on RM requirements
get_requirement(uri) Get single requirement by URI
list_workitems(project, query?) OSLC query on CCM work items
get_workitem(id) Get single work item by ID
search_testcases(project, query?) OSLC query on QM test cases
create_workitem(project, title, type?, description?, parent_id?, owner?) Create a work item (task/story)
update_workitem(id, title?, description?) Update work item fields (ETag-based)
add_child_workitem(parent_id, title, type?, description?, owner?) Create a child work item

Query syntax

The query parameter uses OSLC query syntax:

dcterms:title="My Requirement"
dcterms:modified>="2024-01-01"

ELM 7.x Compatibility

Each domain uses a different OSLC variant:

Domain Application API Pattern
CCM RTC (Work Items) OSLC Core 2.0, JSON responses
RM DOORS Next (Requirements) Discovery 1.0, /views endpoint
QM ETM (Test Cases) OSLC Core 2.0, XML responses

Development

uv sync --group dev
uv run pytest tests/ -v --cov=elm_alm_py
uv run ruff check src/ tests/

License

MIT

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

elm_alm_py-0.2.1.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elm_alm_py-0.2.1-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file elm_alm_py-0.2.1.tar.gz.

File metadata

  • Download URL: elm_alm_py-0.2.1.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for elm_alm_py-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a5cf37af1493176121644ead26e6327421359c65992ad423d21b0db824f27c88
MD5 505605fb13221802675e2ced2543e401
BLAKE2b-256 17ebf5c01b02511b06a2ae5034759c98f2f618b39e65f789836d3dcc467980b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for elm_alm_py-0.2.1.tar.gz:

Publisher: publish.yml on filhocf/elm-alm-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elm_alm_py-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: elm_alm_py-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for elm_alm_py-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d2b58fbd47a6bfd6f87d6b0e8b98a43ea999aff7c577960d51259b6bfb44808f
MD5 2da21768bf8a4542d9ca650d544fefd8
BLAKE2b-256 4c73c76da0007ba4d06118836f40917869ee90912b1d9aef0f00b9291697d302

See more details on using hashes here.

Provenance

The following attestation bundles were made for elm_alm_py-0.2.1-py3-none-any.whl:

Publisher: publish.yml on filhocf/elm-alm-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page