-
Notifications
You must be signed in to change notification settings - Fork 24
Description
Summary
Add a built-in MCP (Model Context Protocol) server that exposes elmclient functionality as tools for AI assistants (Claude, GPT, Copilot, etc.).
Motivation
MCP is becoming the standard protocol for connecting AI assistants to external tools and data sources. An MCP server for elmclient would allow AI assistants to directly interact with ELM (EWM, DOORS Next, ETM) — listing projects, querying work items, reading requirements, etc.
This would be extremely valuable for teams using AI-assisted development workflows, enabling natural language queries against ELM data without writing custom scripts.
Proposed Implementation
A new module elmclient/mcp_server.py (or elmclient/examples/mcp_server.py) that:
-
Uses
FastMCPfrom themcppackage to expose tools:list_projects(domain)— List accessible projects (ccm/rm/qm)list_workitems(project, query, pagesize)— Query work items via OSLCget_workitem(project, id)— Get work item detailslist_requirements(project, module)— Query DOORS Next requirementsget_requirement(project, id)— Get requirement details
-
Handles authentication via a credentials file or environment variables
-
Adds a console_scripts entry point:
elm-mcp-server=elmclient.mcp_server:main
Dependencies
mcp[cli](MIT license, maintained by Anthropic)
Prior Art
We have a working proof-of-concept MCP server using elmclient that successfully connects AI assistants to our ELM instance. Happy to contribute a PR with the implementation.