Skip to main content

AIDLC Dashboard MCP Tools for Amazon Q integration

Project description

AIDLC MCP Tools

A Model Context Protocol (MCP) server implementation that provides AI agents with tools to interact with the AIDLC Dashboard service. This enables seamless integration between AI tools and project management workflows.

๐Ÿš€ Features

  • Project Management: Create and manage projects through MCP
  • Artifact Upload: Upload AI-generated artifacts (epics, user stories, domain models, etc.)
  • Progress Tracking: Update project status and track completion
  • Health Monitoring: Check service availability and performance
  • Batch Operations: Handle multiple artifacts efficiently
  • Amazon Q Integration: Optimized for Amazon Q Developer workflows

๐Ÿ“‹ Requirements

  • Python 3.11+
  • requests library
  • AIDLC Dashboard service running (for integration)

๐Ÿ› ๏ธ Installation

Option 1: Using uv (Recommended)

# Install with uv
uv pip install -e .

# Or install from PyPI (when published)
uv pip install mcp-tools

Option 2: Using pip

# Install in development mode
pip install -e .

# Or install dependencies manually
pip install -r requirements.txt

Option 3: Quick Setup Script

./setup.sh

๐ŸŒ Usage

As MCP Server (Amazon Q Integration)

  1. Configure Amazon Q MCP settings:
{
  "mcpServers": {
    "aidlc-dashboard": {
      "command": "aidlc-mcp-server",
      "env": {
        "AIDLC_DASHBOARD_URL": "http://localhost:8000/api"
      }
    }
  }
}
  1. Start the MCP server:
aidlc-mcp-server
  1. Use in Amazon Q:
Create a new project called "E-commerce Platform" and upload the epics artifact with user authentication features.

As Python Library

from aidlc_mcp_tools import AIDLCDashboardMCPTools

# Initialize tools
tools = AIDLCDashboardMCPTools("http://localhost:8000/api")

# Create a project
result = tools.create_project("My New Project")
if result.success:
    project_id = result.data['project']['id']
    print(f"Created project: {project_id}")

# Upload an artifact
artifact_content = {
    "title": "User Authentication",
    "description": "Implement user login and registration",
    "priority": "high"
}

result = tools.upload_artifact(project_id, "epics", artifact_content)
if result.success:
    print("Artifact uploaded successfully")

Standalone Script

# Create a project
python -m aidlc_mcp_tools.cli create-project "My Project"

# Upload artifact
python -m aidlc_mcp_tools.cli upload-artifact PROJECT_ID epics '{"title": "Epic Title"}'

# Check health
python -m aidlc_mcp_tools.cli health-check

๐Ÿ”ง Configuration

Environment Variables

Variable Description Default
AIDLC_DASHBOARD_URL Dashboard API base URL http://localhost:8000/api
AIDLC_TIMEOUT Request timeout (seconds) 30
AIDLC_RETRY_ATTEMPTS Number of retry attempts 3
AIDLC_LOG_LEVEL Logging level INFO

Configuration File

Create config.json:

{
  "dashboard_url": "http://localhost:8000/api",
  "timeout": 30,
  "retry_attempts": 3,
  "log_level": "INFO"
}

๐Ÿ“– Available MCP Tools

1. aidlc_create_project

Create a new project in the AIDLC Dashboard.

Parameters:

  • name (string): Project name

Example:

{
  "name": "create_project",
  "arguments": {
    "name": "E-commerce Platform"
  }
}

2. aidlc_upload_artifact

Upload an artifact to a project.

Parameters:

  • project_id (string): Project identifier
  • artifact_type (string): Type of artifact (epics, user_stories, domain_model, model_code_plan, ui_code_plan)
  • content (object): Artifact content

Example:

{
  "name": "upload_artifact",
  "arguments": {
    "project_id": "project-123",
    "artifact_type": "epics",
    "content": {
      "title": "User Management",
      "description": "Complete user management system",
      "priority": "high"
    }
  }
}

3. aidlc_update_status

Update the status of an artifact.

Parameters:

  • project_id (string): Project identifier
  • artifact_type (string): Type of artifact
  • status (string): New status (not-started, in-progress, completed)

4. aidlc_get_project

Get project details and current status.

Parameters:

  • project_id (string): Project identifier

5. aidlc_list_projects

List all projects in the dashboard.

Parameters: None

6. aidlc_health_check

Check if the dashboard service is healthy and accessible.

Parameters: None

๐ŸŽฏ Artifact Types and Schemas

Epics

{
  "title": "Epic Title",
  "description": "Epic description",
  "user_stories": ["US-001", "US-002"],
  "priority": "high|medium|low",
  "acceptance_criteria": ["Criteria 1", "Criteria 2"]
}

User Stories

{
  "stories": [
    {
      "id": "US-001",
      "title": "Story Title",
      "description": "As a user, I want...",
      "acceptance_criteria": ["Criteria 1"],
      "priority": "high",
      "story_points": 5
    }
  ],
  "total_count": 1,
  "epics": ["Epic-001"]
}

Domain Model

{
  "entities": [
    {
      "name": "User",
      "attributes": ["id", "username", "email"],
      "description": "System user entity"
    }
  ],
  "relationships": [
    {
      "from": "User",
      "to": "Order",
      "type": "one-to-many"
    }
  ]
}

Model Code Plan

{
  "components": [
    {
      "name": "UserService",
      "type": "service",
      "dependencies": ["UserRepository"]
    }
  ],
  "implementation_steps": [
    "Create entities",
    "Implement repositories"
  ]
}

UI Code Plan

{
  "pages": [
    {
      "name": "LoginPage",
      "route": "/login",
      "components": ["LoginForm", "Header"]
    }
  ],
  "navigation": {
    "type": "SPA",
    "router": "React Router"
  }
}

๐Ÿงช Testing

Unit Tests

# Run all tests
python -m pytest

# Run with coverage
python -m pytest --cov=aidlc_mcp_tools

Integration Tests

# Start dashboard service first
cd ../dashboard-service
python run.py --generate-demo &

# Run integration tests
python -m pytest tests/integration/

Manual Testing

# Test MCP server
python test_mcp_server.py

# Test individual tools
python examples/test_tools.py

๐Ÿ“ Project Structure

aidlc-mcp-tools/
โ”œโ”€โ”€ README.md                    # This file
โ”œโ”€โ”€ pyproject.toml              # Project configuration
โ”œโ”€โ”€ requirements.txt            # Python dependencies
โ”œโ”€โ”€ setup.sh                   # Quick setup script
โ”œโ”€โ”€ aidlc_mcp_tools/           # Main package
โ”‚   โ”œโ”€โ”€ __init__.py            # Package initialization
โ”‚   โ”œโ”€โ”€ server.py              # MCP server implementation
โ”‚   โ”œโ”€โ”€ tools.py               # MCP tools implementation
โ”‚   โ”œโ”€โ”€ cli.py                 # Command-line interface
โ”‚   โ””โ”€โ”€ config.py              # Configuration management
โ”œโ”€โ”€ tests/                     # Test suite
โ”‚   โ”œโ”€โ”€ unit/                  # Unit tests
โ”‚   โ”œโ”€โ”€ integration/           # Integration tests
โ”‚   โ””โ”€โ”€ fixtures/              # Test fixtures
โ”œโ”€โ”€ examples/                  # Usage examples
โ”‚   โ”œโ”€โ”€ basic_usage.py         # Basic usage examples
โ”‚   โ”œโ”€โ”€ amazon_q_workflow.py   # Amazon Q integration examples
โ”‚   โ””โ”€โ”€ batch_operations.py    # Batch processing examples
โ”œโ”€โ”€ docs/                      # Documentation
โ”‚   โ”œโ”€โ”€ API.md                 # API documentation
โ”‚   โ”œโ”€โ”€ INTEGRATION.md         # Integration guide
โ”‚   โ””โ”€โ”€ TROUBLESHOOTING.md     # Troubleshooting guide
โ””โ”€โ”€ scripts/                   # Utility scripts
    โ”œโ”€โ”€ test_connection.py     # Test dashboard connection
    โ””โ”€โ”€ generate_config.py     # Generate configuration files

๐Ÿ”— Integration Examples

Amazon Q Workflow

# In Amazon Q, you can use natural language:
# "Create a project for an e-commerce platform and add user authentication epics"

# This translates to MCP tool calls:
tools.create_project("E-commerce Platform")
tools.upload_artifact(project_id, "epics", {
    "title": "User Authentication",
    "description": "Implement secure user login and registration",
    "priority": "high"
})

Batch Processing

# Upload multiple artifacts at once
artifacts = [
    ("epics", {"title": "User Management", "priority": "high"}),
    ("user_stories", {"stories": [...], "total_count": 5}),
    ("domain_model", {"entities": [...], "relationships": [...]})
]

for artifact_type, content in artifacts:
    tools.upload_artifact(project_id, artifact_type, content)

๐Ÿ› Troubleshooting

Common Issues

Connection refused:

# Check if dashboard service is running
curl http://localhost:8000/api/health

# Start dashboard service
cd ../dashboard-service
python run.py

Import errors:

# Install in development mode
pip install -e .

# Or install dependencies
pip install -r requirements.txt

MCP server not responding:

# Check MCP server logs
aidlc-mcp-server --debug

# Test MCP server directly
python -m aidlc_mcp_tools.server --test

Debug Mode

# Enable debug logging
export AIDLC_LOG_LEVEL=DEBUG
aidlc-mcp-server

# Or use debug flag
aidlc-mcp-server --debug

๐Ÿ“š Documentation

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Run the test suite
  6. Submit a pull request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Built for Amazon Q Developer integration
  • Follows MCP (Model Context Protocol) standards
  • Designed for AIDLC methodology workflows
  • Optimized for AI-assisted development

Happy coding with AI! ๐Ÿค–โœจ

For questions or support, please check the documentation or create an issue in the repository.

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

aidlc_mcp_tools-1.0.1.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

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

aidlc_mcp_tools-1.0.1-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file aidlc_mcp_tools-1.0.1.tar.gz.

File metadata

  • Download URL: aidlc_mcp_tools-1.0.1.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for aidlc_mcp_tools-1.0.1.tar.gz
Algorithm Hash digest
SHA256 bd6d9f283aaba77612112a494d3ad39a4d4e82d44dfb5f508e438cd7f676bde6
MD5 b16baf3149481801b2953b95e3cf74eb
BLAKE2b-256 be5fb9c5cacf36afa27dbe8724cfc9f3fb0de55f98dbc48667992f897c449641

See more details on using hashes here.

File details

Details for the file aidlc_mcp_tools-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for aidlc_mcp_tools-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ce34ebc0be208218eef19a03eab310063a40a794a001d5c3bb8e73b3c87a58de
MD5 d53487f3518ce2734058f9f71c0fbc90
BLAKE2b-256 acbff7040d6a462598c310f9bcae26df1835d79a6ef41251abe09ad0ea06a169

See more details on using hashes here.

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