Skip to content

Analyze user input to identify suitable design patterns and project templates. Orchestrate the project, creating initial files from templates.

License

Notifications You must be signed in to change notification settings

sparesparrow/mcp-project-orchestrator

Repository files navigation

MCP Project Orchestrator

CI/CD codecov PyPI version Python 3.9+ License: MIT

A comprehensive project orchestration tool for managing Model Context Protocol (MCP) projects, templates, prompts, and Mermaid diagrams.

Features

  • Template Management

    • Project templates for quick project setup
    • Component templates for modular development
    • Variable substitution and validation
    • Template discovery and versioning
  • Prompt Management

    • System and user prompt templates
    • Variable substitution
    • Prompt categorization and versioning
    • Easy prompt discovery and reuse
  • Mermaid Diagram Generation

    • Flowchart generation
    • Sequence diagram generation
    • Class diagram generation
    • SVG and PNG rendering
    • Diagram validation

Installation

pip install mcp-project-orchestrator

Or with Poetry:

poetry add mcp-project-orchestrator

Quick Start

Project Templates

from mcp_project_orchestrator.templates import TemplateManager

# Initialize template manager
manager = TemplateManager("path/to/templates")

# List available templates
templates = manager.list_templates()
print(templates)

# Apply a project template
manager.apply_template("fastapi-project", {
    "project_name": "my-api",
    "project_description": "My FastAPI project",
    "author_name": "John Doe",
    "author_email": "john@example.com"
})

Prompt Management

from mcp_project_orchestrator.prompts import PromptManager

# Initialize prompt manager
manager = PromptManager("path/to/prompts")

# List available prompts
prompts = manager.list_prompts()
print(prompts)

# Render a prompt with variables
rendered = manager.render_prompt("system-prompt", {
    "name": "User",
    "project": "MCP"
})
print(rendered)

Mermaid Diagrams

from mcp_project_orchestrator.mermaid import MermaidGenerator, MermaidRenderer

# Initialize generators
generator = MermaidGenerator()
renderer = MermaidRenderer()

# Generate a flowchart
flowchart = generator.generate_flowchart(
    nodes=[
        ("A", "Start"),
        ("B", "Process"),
        ("C", "End")
    ],
    edges=[
        ("A", "B", ""),
        ("B", "C", "")
    ]
)

# Render to SVG
renderer.render(flowchart, "flowchart.svg")

Project Structure

mcp-project-orchestrator/
├── src/
│   └── mcp_project_orchestrator/
│       ├── templates/
│       │   ├── __init__.py
│       │   ├── base.py
│       │   ├── project.py
│       │   ├── component.py
│       │   └── manager.py
│       ├── prompts/
│       │   ├── __init__.py
│       │   ├── template.py
│       │   └── manager.py
│       └── mermaid/
│           ├── __init__.py
│           ├── generator.py
│           └── renderer.py
├── tests/
│   ├── __init__.py
│   ├── conftest.py
│   ├── test_templates.py
│   ├── test_prompts.py
│   └── test_mermaid.py
├── docs/
├── examples/
├── .github/
│   └── workflows/
│       └── ci.yml
├── pyproject.toml
├── Containerfile
└── README.md

Development

  1. Clone the repository:
git clone https://github.com/yourusername/mcp-project-orchestrator.git
cd mcp-project-orchestrator
  1. Install dependencies:
poetry install
  1. Run tests:
poetry run pytest
  1. Run linting:
poetry run ruff check .
poetry run mypy src/mcp_project_orchestrator

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

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

Acknowledgments

About

Analyze user input to identify suitable design patterns and project templates. Orchestrate the project, creating initial files from templates.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published