Skip to main content
Glama

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

  • AWS MCP Integration

    • AWS service access (S3, EC2, Lambda, CloudFormation, IAM)

    • AWS best practices enforcement

    • Cost optimization recommendations

    • Security and compliance guidance

    • See AWS_MCP.md for details

Related MCP server: MCP Maker

Installation

pip install mcp-project-orchestrator

For AWS integration support:

pip install mcp-project-orchestrator[aws]

Or with Poetry:

poetry add mcp-project-orchestrator # Or with AWS support poetry add mcp-project-orchestrator -E aws

Using as a Conan dependency (for ai-servis)

This repository provides a Conan v2 package exposing the Python environment and CLI. In ai-servis's conanfile.py add:

def requirements(self): self.requires("mcp-project-orchestrator/0.1.0@sparesparrow/stable")

Then activate the run environment so mcp-orchestrator is on PATH and the package is on PYTHONPATH:

conan profile detect --force conan create . --user=sparesparrow --channel=stable conan install mcp-project-orchestrator/0.1.0@sparesparrow/stable -g VirtualRunEnv ./conanrun.sh mcp-orchestrator --help

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" })

JSON-Driven Project Orchestration

The setup script reads config/project_orchestration.json to enable/disable features and set ports and tool options.

Run the setup:

chmod +x scripts/setup_orchestrator.sh scripts/setup_orchestrator.sh

Edit config/project_orchestration.json to control scaffolding:

{ "enable": { "cursorConfigs": true, "pythonMcp": true, "tsMcp": true, "cppMcp": true, "mcpClient": true, "backgroundAgent": true, "githubActions": true, "devcontainer": true, "awsTerraform": true, "webAndMcp": true, "cppConan": true, "esp32": true, "android": true } }
  • Set items to false to skip generating those components.

  • Ports and URLs are respected across .cursor/webhooks, .cursor/agents, Dockerfile EXPOSE, and compose.yaml.

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

OpenSSL Integration

Enhanced with OpenSSL project templates and Cursor AI configuration.

Create OpenSSL Project

mcp-orchestrator create-openssl-project \ --project-name my-secure-app \ --deployment-target fips-government

Deploy AI Configuration

mcp-orchestrator deploy-cursor --project-type openssl

Templates Available

  • openssl-consumer: Standard OpenSSL application

  • openssl-fips: FIPS 140-3 government deployment

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sparesparrow/mcp-project-orchestrator'

If you have feedback or need assistance with the MCP directory API, please join our Discord server