create_requirementLABSCO SUMMARY
The paperwork of a project, kept where the work happens.
Status transitions are validated rather than free text, and requirements, tasks and decisions link both ways, so what implements a requirement and why something is blocked become queries rather than archaeology. The interview tools are the on-ramp — they turn a vague ask into a structured requirement without anyone filling in fields by hand.
What it is
A software lifecycle server backed by a database file per project. It holds requirements, implementation tasks and architecture decision records, links them to each other, validates the status transitions between states, and reports on the whole thing.
What you get
- Requirements created, searched, read in full with their relationships, and moved through their lifecycle with each transition validated
- A requirement traced through to the tasks and architecture decisions that implement it
- Tasks created against requirements with effort, assignee, parent task and acceptance criteria, then searched and updated
- Tasks synced from their linked issues, one at a time or all at once, with conflicts detected
- Architecture decisions recorded with context, drivers, options considered and consequences, then searched, updated and reviewed
- A project dashboard with requirement and task statistics, completion percentages and blocked items
- Guided interviews that gather a requirement or an architectural brief question by question and create the record at the end
- The project exported as structured Markdown, and Mermaid diagrams generated for requirements, tasks, architecture or dependencies
Requirements
Python, and a database file per project — its path is supplied as an environment setting and the schema is created on first run. No account, no key. Issue sync only applies to tasks you have already linked.
Setup effort
Build from source — git clone https://github.com/heffrey78/lifecycle-mcp.git
USE CASES
Turning a vague ask into a written requirement
Answer the interview questions as they come and get a structured requirement created at the end, with acceptance criteria attached.
Breaking a requirement into work
Create tasks linked to the requirement, with effort and assignee, then filter them by status or owner later.
Answering what the state of the project is
Read the dashboard for completion percentages and blocked items instead of assembling the numbers yourself.
Recording why a decision was made
Capture the context, the options considered and the consequences, then add review comments as people weigh in.
Proving a requirement was implemented
Trace it through to the tasks and architecture decisions behind it, in one call.
Producing documentation for a review
Export requirements, tasks and architecture as Markdown, and generate the diagrams that show how they relate.
23 tools
Listed in project docs. Your client may show a different list.
update_requirement_statusquery_requirementsget_requirement_detailstrace_requirementcreate_taskupdate_task_statusquery_tasksget_task_detailssync_task_from_githubbulk_sync_github_taskscreate_architecture_decisionupdate_architecture_statusquery_architecture_decisionsget_architecture_detailsadd_architecture_reviewget_project_statusstart_requirement_interviewcontinue_requirement_interviewstart_architectural_conversationcontinue_architectural_conversationexport_project_documentationcreate_architectural_diagramsBEFORE YOU INSTALL
What to know first
Tools you get
23 tools named in the project's documentation.
Requires
lifecycle-mcp on PATH
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/heffrey78/lifecycle-mcp.git
cd lifecycle-mcp
pip install -e .MCP Clients
Claude Code
claude mcp add lifecycle lifecycle-mcp -e LIFECYCLE_DB=./lifecycle.dbClaude Desktop
{
"mcpServers": {
"lifecycle": {
"command": "lifecycle-mcp",
"env": {
"LIFECYCLE_DB": "./lifecycle.db"
}
}
}
}