Lifecycle MCP Server

by heffrey78

Not rated
GitHub

About

An MCP server for managing the software development lifecycle, with support for an optional external SQLite database.

Details

Author
heffrey78
Categories
Developer Tools

Setup

Install Lifecycle MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/heffrey78/lifecycle-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

A Model Context Protocol (MCP) server for comprehensive software lifecycle management. This server provides structured tracking of requirements, tasks, and architecture decisions through a SQLite database with full traceability and automated state management.

- Requirements Management: Create and manage software requirements with validation and lifecycle tracking
- Task Management: Track implementation tasks with hierarchical structure and effort estimation
- Architecture Decisions: Record ADRs (Architecture Decision Records) with full context
- Project Dashboards: Real-time project health metrics and status reporting
- Requirement Tracing: Complete traceability from requirements through implementation
- State Validation: Automatic validation of lifecycle state transitions
- Relationship Tracking: Many-to-many relationships between requirements, tasks, and architecture

# 1. Clone the repository git clone https://github.com/heffrey78/lifecycle-mcp.git cd lifecycle-mcp # 2. Install globally (easiest for using across projects) pip install -e . # 3. Go to any project where you want to use lifecycle management cd /path/to/your/project # 4. Add the MCP server to Claude claude mcp add lifecycle lifecycle-mcp -e LIFECYCLE_DB=/path/to/your/project/lifecycle.db # 5. Start using lifecycle tools in Claude!

If you want to useuv(faster Python package manager):

# macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Or with homebrew brew install uv
git clone https://github.com/heffrey78/lifecycle-mcp.git cd lifecycle-mcp

For detailed examples and scenarios, seeUSAGE_EXAMPLES.md.

Option 1: Global Installation (Recommended for Multiple Projects)

Install the server globally so it can be used from any project:

# From the lifecycle-mcp directory pip install -e . # Now from ANY project directory, add the server: claude mcp add lifecycle lifecycle-mcp -e LIFECYCLE_DB=./lifecycle.db

Note: Each project gets its own database file in its directory.

# Get the full path to the lifecycle-mcp directory LIFECYCLE_PATH="/path/to/lifecycle-mcp" # Replace with your actual path # From any project directory: claude mcp add lifecycle $(which uv) -- --directory $LIFECYCLE_PATH run server.py -e LIFECYCLE_DB=./lifecycle.db
# Get the full path to the server LIFECYCLE_PATH="/path/to/lifecycle-mcp" # Replace with your actual path # From any project directory: claude mcp add lifecycle $(which python) $LIFECYCLE_PATH/server.py -e LIFECYCLE_DB=./lifecycle.db

You can also manually edit your Claude Desktop configuration file:

macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "lifecycle": { "command": "lifecycle-mcp", "env": { "LIFECYCLE_DB": "./lifecycle.db" } } } }

- Each project should have its ownlifecycle.dbfile
- UseLIFECYCLE_DB=./lifecycle.dbto create the database in the current project
- Or use an absolute path for a shared database:LIFECYCLE_DB=/path/to/shared/lifecycle.db

# Create a virtual environment for lifecycle-mcp cd /path/to/lifecycle-mcp python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Install in the virtual environment pip install -e . # Find the venv's lifecycle-mcp command which lifecycle-mcp # Copy this path # Use the full path when adding to Claude claude mcp add lifecycle /path/to/venv/bin/lifecycle-mcp -e LIFECYCLE_DB=./lifecycle.db

The server exposes 22 MCP tools across 6 handler modules for comprehensive lifecycle management:

- create_requirement- Create new requirements from interview data
- update_requirement_status- Move requirements through lifecycle states
- query_requirements- Search and filter requirements
- get_requirement_details- Get full requirement with relationships
- trace_requirement- Trace requirement through implementation
- create_task- Create implementation tasks from requirements
- update_task_status- Update task progress
- query_tasks- Search and filter tasks
- get_task_details- Get full task details with dependencies
- sync_task_from_github- Sync individual task from GitHub issue changes
- bulk_sync_github_tasks- Sync all tasks with their GitHub issues
- create_architecture_decision- Record architecture decisions (ADRs)
- update_architecture_status- Update architecture decision status
- query_architecture_decisions- Search and filter architecture decisions
- get_architecture_details- Get full architecture decision details
- add_architecture_review- Add review comments to architecture decisions
- get_project_status- Get project health metrics and dashboards
- start_requirement_interview- Start interactive requirement gathering
- continue_requirement_interview- Continue requirement interview sessions
- start_architectural_conversation- Start interactive architecture discussions
- continue_architectural_conversation- Continue architecture conversations
- export_project_documentation- Export comprehensive markdown documentation
- create_architectural_diagrams- Generate Mermaid diagrams for project visualization

Create new requirements from interview data or analysis.

- type(required): Requirement type - "FUNC", "NFUNC", "TECH", "BUS", "INTF"
- title(required): Descriptive title
- priority(required): Priority level - "P0", "P1", "P2", "P3"
- current_state(required): Current system state
- desired_state(required): Target system state
- functional_requirements(optional): Array of functional requirements
- acceptance_criteria(optional): Array of acceptance criteria
- business_value(optional): Business justification
- risk_level(optional): Risk assessment - "High", "Medium", "Low"
- author(optional): Requirement author

{ "type": "FUNC", "title": "User Authentication System", "priority": "P1", "current_state": "No user authentication exists", "desired_state": "Secure user login with JWT tokens", "functional_requirements": ["Login with email/password", "JWT token generation"], "acceptance_criteria": ["User can login successfully", "Token expires after 24 hours"], "business_value": "Enables secure user access to protected features", "risk_level": "Medium" }

Move requirements through their lifecycle with validation.

- requirement_id(required): Requirement ID (e.g., "REQ-0001-FUNC-00")
- new_status(required): Target status - "Draft", "Under Review", "Approved", "Architecture", "Ready", "Implemented", "Validated", "Deprecated"
- comment(optional): Review comment or justification

- Draft → Under Review, Deprecated
- Under Review → Draft, Approved, Deprecated
- Approved → Architecture, Ready, Deprecated
- Architecture → Ready, Approved
- Ready → Implemented, Deprecated
- Implemented → Validated, Ready
- Validated → Deprecated

Search and filter requirements by various criteria.

- status(optional): Filter by status
- priority(optional): Filter by priority level
- type(optional): Filter by requirement type
- search_text(optional): Text search in title and desired state

Get comprehensive requirement information including all relationships.

- requirement_id(required): Requirement ID

Returns:Detailed report with basic info, problem definition, functional requirements, acceptance criteria, and linked tasks.

Trace a requirement through its complete implementation lifecycle.

- requirement_id(required): Requirement ID

Returns:Complete trace including requirement details, implementation tasks, and architecture decisions.

Create implementation tasks linked to requirements.

- requirement_ids(required): Array of requirement IDs to link
- title(required): Task title
- priority(required): Priority level - "P0", "P1", "P2", "P3"
- effort(optional): Effort estimation - "XS", "S", "M", "L", "XL"
- user_story(optional): User story description
- acceptance_criteria(optional): Array of acceptance criteria
- parent_task_id(optional): Parent task for subtasks
- assignee(optional): Task assignee

{ "requirement_ids": ["REQ-0001-FUNC-00"], "title": "Implement JWT token generation", "priority": "P1", "effort": "M", "user_story": "As a developer, I need JWT token generation so users can authenticate securely", "acceptance_criteria": ["Generate JWT with user claims", "Token expires in 24 hours"], "assignee": "john.doe@company.com" }

- task_id(required): Task ID (e.g., "TASK-0001-00-00")
- new_status(required): New status - "Not Started", "In Progress", "Blocked", "Complete", "Abandoned"
- comment(optional): Status update comment
- assignee(optional): New assignee

Search and filter tasks by various criteria.

- status(optional): Filter by status
- priority(optional): Filter by priority level
- assignee(optional): Filter by assignee
- requirement_id(optional): Filter by linked requirement

Get comprehensive task information including dependencies and relationships.

Returns:Detailed report with basic info, description, acceptance criteria, and linked requirements.

Sync individual task from GitHub issue changes with conflict detection.

- task_id(required): Task ID to sync with its linked GitHub issue

Returns:Sync status and any updates applied from GitHub issue data.

Sync all tasks with their GitHub issues in batch operation.

Returns:Summary of sync operations performed across all tasks with GitHub issue links.

Record architecture decisions (ADRs) with full context.

- requirement_ids(required): Array of requirement IDs addressed
- title(required): Decision title
- context(required): Decision context and background
- decision(required): The decision made
- consequences(optional): Decision consequences object
- decision_drivers(optional): Array of factors driving the decision
- considered_options(optional): Array of alternatives considered
- authors(optional): Array of decision authors

Update the status of an architecture decision with validation.

- architecture_id(required): Architecture ID (e.g., "ADR-0001")
- new_status(required): New status - "Proposed", "Accepted", "Rejected", "Deprecated", "Superseded", "Draft", "Under Review", "Approved", "Implemented"
- comment(optional): Status change comment

Search and filter architecture decisions by various criteria.

- status(optional): Filter by status
- type(optional): Filter by type (ADR, TDD, INTG)
- requirement_id(optional): Filter by linked requirement
- search_text(optional): Text search in title and context

Get comprehensive architecture decision information including all relationships and reviews.

- architecture_id(required): Architecture ID

Returns:Detailed report with basic info, context, decision details, drivers, options, consequences, linked requirements, and review history.

Add review comments to architecture decisions.

- architecture_id(required): Architecture ID
- comment(required): Review comment
- reviewer(optional): Reviewer name (default: "MCP User")

Get comprehensive project health metrics and dashboards.

- include_blocked(optional): Include blocked items analysis (default: true)

Returns:Dashboard with requirement overview, task statistics, completion percentages, and blocked items analysis.

Start an interactive requirement gathering interview session.

- project_context(optional): Description of the project or system
- stakeholder_role(optional): Role of the person being interviewed

Returns:Session ID and initial questions to guide requirement gathering.

{ "project_context": "E-commerce platform modernization", "stakeholder_role": "Product Manager" }

Continue an active interview session by providing answers to questions.

- session_id(required): Interview session ID from start_requirement_interview
- answers(required): Object containing answers to the current questions

Returns:Next set of questions or completion summary with created requirement.

{ "session_id": "a1b2c3d4", "answers": { "current_problem": "Users struggle with complex checkout process", "desired_outcome": "Streamlined one-click checkout experience", "success_criteria": "Checkout completion rate increases by 25%" } }

- Problem Identification: Understanding the current challenge
- Solution Definition: Defining the desired outcome and constraints
- Details Gathering: Collecting priority, type, and technical details
- Validation: Establishing acceptance criteria and success metrics
- Completion: Automatic requirement creation with interview summary

Export comprehensive project documentation in structured markdown format.

- project_name(optional): Name for the project used in filenames (default: "project")
- include_requirements(optional): Include requirements documentation (default: true)
- include_tasks(optional): Include tasks documentation (default: true)
- include_architecture(optional): Include architecture documentation (default: true)
- output_directory(optional): Directory to save exported files (default: ".")

Returns:List of exported files with their paths.

- {project_name}-requirements.md- Complete requirements documentation grouped by type
- {project_name}-tasks.md- Task documentation grouped by status with linked requirements
- {project_name}-architecture.md- Architecture decisions with context, decisions, and consequences

{ "project_name": "ecommerce-platform", "include_requirements": true, "include_tasks": true, "include_architecture": true, "output_directory": "./docs" }

Generate Mermaid diagrams for project architecture and relationships visualization.

- diagram_type(optional): Type of diagram - "requirements", "tasks", "architecture", "full_project", "directory_structure", "dependencies" (default: "full_project")
- requirement_ids(optional): Array of specific requirement IDs to include
- include_relationships(optional): Include relationship arrows in diagrams (default: true)
- output_format(optional): Output format - "mermaid", "markdown_with_mermaid" (default: "mermaid")
- interactive(optional): Start interactive conversation for complex diagrams (default: false)

Returns:Mermaid diagram code or markdown-wrapped diagram.

- requirements: Flowchart showing requirement hierarchy by type with status colors
- tasks: Task hierarchy with parent-child relationships and status indicators
- architecture: Architecture decisions with status-based styling
- full_project: High-level overview showing relationships between requirements, tasks, and architecture
- directory_structure: Project directory structure visualization
- dependencies: Task dependency graph showing blocking relationships

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.