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.2.tar.gz (23.3 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.2-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aidlc_mcp_tools-1.0.2.tar.gz
  • Upload date:
  • Size: 23.3 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.2.tar.gz
Algorithm Hash digest
SHA256 e80a47360add54b4d87335fbbeaaf8030b9a311e08775f1e748a3dd7c203fa25
MD5 c95386fd4d02c986ee5a3fa9d5cda9d6
BLAKE2b-256 916ba8bde3beab1af9a308d5d4c5320222965a2869a5b2439ccede6c6a92bdf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aidlc_mcp_tools-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dabd8f8b4bc5d59055d456e8de7447ed95ba379b5302bf3df85d857821f68072
MD5 9fdd0a70869a1339da1b025cd265ca85
BLAKE2b-256 1ca1851fd4d6af895dab92d5c3def37da9df8b49a46d74ef2fe392c04452a95e

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