cloud-native-architecture-mcp


Namecloud-native-architecture-mcp JSON
Version 0.1.5 PyPI version JSON
download
home_pageNone
SummaryMCP server for building cloud-native architecture diagrams (Kubernetes, AWS, GCP)
upload_time2025-11-02 13:49:44
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords architecture aws cloud-native diagrams gcp kubernetes mcp
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Cloud Native Architecture MCP Server

An MCP (Model Context Protocol) server that provides tools to generate architecture diagrams for cloud-native infrastructure:

- **Kubernetes** cluster diagrams
- **AWS** infrastructure diagrams
- **GCP** infrastructure diagrams

Built using the [Diagrams](https://diagrams.mingrammer.com/) library to create professional, visual architecture diagrams programmatically.

## Features

- **Three specialized tools** for different cloud platforms
- **Visual diagram generation** with proper cloud provider icons
- **Cluster/VPC grouping** support for organizing components
- **Connection mapping** between components
- **Returns diagrams as images** directly in MCP responses

## Installation

### From PyPI (Recommended)

```bash
pip install cloud-native-architecture-mcp
```

Or use with `uvx` for on-demand execution:

```bash
uvx cloud-native-architecture-mcp
```

### From Source

```bash
git clone https://github.com/yourusername/cloud-native-architecture-mcp-server
cd cloud-native-architecture-mcp-server
pip install -e .
```

## Prerequisites

This package requires **Graphviz** to be installed on your system:

**macOS:**
```bash
brew install graphviz
```

**Ubuntu/Debian:**
```bash
sudo apt-get install graphviz
```

**Windows:**
Download from [graphviz.org](https://graphviz.org/download/)

## Usage with MCP Clients

### Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "cloud-architecture": {
      "command": "uvx",
      "args": ["cloud-native-architecture-mcp"]
    }
  }
}
```

### AgentGateway

Add to your AgentGateway configuration:

```yaml
mcp_servers:
  - name: cloud-architecture
    stdio:
      cmd: uvx
      args: ["cloud-native-architecture-mcp"]
```

## Available Tools

### 1. build-kubernetes-diagram

Build Kubernetes architecture diagrams with support for:
- Deployments, StatefulSets, DaemonSets, Jobs, Pods
- Services, Ingress
- PVCs, PVs, StorageClass
- ConfigMaps, Secrets
- HPA (Horizontal Pod Autoscaler)
- Namespace clustering

**Example Input:**

```json
{
  "name": "microservices-app",
  "components": [
    {"type": "deployment", "name": "api-server", "replicas": 3},
    {"type": "service", "name": "api-svc"},
    {"type": "ingress", "name": "main-ingress"},
    {"type": "deployment", "name": "worker", "replicas": 2},
    {"type": "pvc", "name": "shared-storage"}
  ],
  "clusters": [
    {
      "name": "Production Namespace",
      "components": ["api-server", "api-svc", "worker"]
    }
  ],
  "connections": [
    {"from": "main-ingress", "to": "api-svc", "label": "HTTPS"},
    {"from": "api-svc", "to": "api-server"},
    {"from": "api-server", "to": "shared-storage"}
  ]
}
```

### 2. build-aws-diagram

Build AWS infrastructure diagrams with support for:
- Compute: EC2, ECS, EKS, Lambda
- Database: RDS, DynamoDB, ElastiCache, Redshift
- Storage: S3, EBS, EFS
- Network: ALB, NLB, ELB, CloudFront, Route53, VPC
- Integration: SQS, SNS, EventBridge
- VPC grouping

**Example Input:**

```json
{
  "name": "webapp-infrastructure",
  "components": [
    {"type": "route53", "name": "dns"},
    {"type": "alb", "name": "load-balancer"},
    {"type": "ec2", "name": "web-server"},
    {"type": "rds", "name": "postgres-db"},
    {"type": "s3", "name": "assets-bucket"},
    {"type": "elasticache", "name": "redis-cache"}
  ],
  "vpcs": [
    {
      "name": "Production VPC",
      "components": ["web-server", "postgres-db", "redis-cache", "load-balancer"]
    }
  ],
  "connections": [
    {"from": "dns", "to": "load-balancer"},
    {"from": "load-balancer", "to": "web-server"},
    {"from": "web-server", "to": "postgres-db"},
    {"from": "web-server", "to": "redis-cache"},
    {"from": "web-server", "to": "assets-bucket"}
  ]
}
```

### 3. build-gcp-diagram

Build GCP infrastructure diagrams with support for:
- Compute: GCE, GKE, Cloud Functions
- Database: Cloud SQL, Firestore, BigTable, Spanner
- Storage: GCS, Persistent Disk
- Network: Load Balancing, Cloud DNS, VPC
- Analytics: BigQuery, Dataflow, Pub/Sub
- VPC/Network grouping

**Example Input:**

```json
{
  "name": "data-processing-pipeline",
  "components": [
    {"type": "gcs", "name": "input-bucket"},
    {"type": "functions", "name": "process-files"},
    {"type": "pubsub", "name": "events"},
    {"type": "dataflow", "name": "etl-pipeline"},
    {"type": "bigquery", "name": "data-warehouse"}
  ],
  "connections": [
    {"from": "input-bucket", "to": "process-files", "label": "trigger"},
    {"from": "process-files", "to": "events"},
    {"from": "events", "to": "etl-pipeline"},
    {"from": "etl-pipeline", "to": "data-warehouse"}
  ]
}
```

## Development

### Setup Development Environment

```bash
# Clone the repository
git clone https://github.com/yourusername/cloud-native-architecture-mcp-server
cd cloud-native-architecture-mcp-server

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in development mode with dev dependencies
pip install -e ".[dev]"
```

### Testing Locally

You can test the MCP server directly:

```bash
# Run the server
python -m cloud_native_architecture_mcp.server
```

Or use with an MCP client like the MCP Inspector:

```bash
npx @modelcontextprotocol/inspector uvx cloud-native-architecture-mcp
```

## Publishing to PyPI

### Prerequisites

1. Create accounts on:
   - [PyPI](https://pypi.org) (production)
   - [TestPyPI](https://test.pypi.org) (testing)

2. Install build tools:
```bash
pip install build twine
```

### Build and Publish

1. **Build the package:**
```bash
python -m build
```

2. **Test on TestPyPI first:**
```bash
twine upload --repository testpypi dist/*
```

3. **Install from TestPyPI to verify:**
```bash
pip install --index-url https://test.pypi.org/simple/ cloud-native-architecture-mcp
```

4. **Publish to PyPI:**
```bash
twine upload dist/*
```

5. **Verify installation:**
```bash
pip install cloud-native-architecture-mcp
```

## Architecture

```
cloud-native-architecture-mcp-server/
├── src/
│   └── cloud_native_architecture_mcp/
│       ├── __init__.py
│       └── server.py          # Main MCP server implementation
├── pyproject.toml             # Package configuration
├── README.md
└── LICENSE
```

## How It Works

1. **MCP Client** (Claude Desktop, AgentGateway, etc.) calls one of the three tools
2. **MCP Server** receives the component configuration (JSON)
3. **Diagrams Library** generates the architecture diagram using Graphviz
4. **Server returns** the diagram as a base64-encoded PNG image
5. **Client displays** the visual diagram to the user

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

MIT License - see [LICENSE](LICENSE) file for details

## Education

### Resources

- [MCP Documentation](https://modelcontextprotocol.io/)
- [Diagrams Documentation](https://diagrams.mingrammer.com/)
- [PyPI Publishing Guide](https://packaging.python.org/tutorials/packaging-projects/)

## Support

For issues, questions, or contributions, please visit the [GitHub repository](https://github.com/yourusername/cloud-native-architecture-mcp-server/issues).

### Why So Much JSON?
MCP communicates via the JSON-RPC protocol. All tools within an MCP Server, parameters, and responses are transmitted as JSON. If the JSON didn't exist, the MCP client wouldn't know what parameters to send and what the tool actually does. JSON-RPC is the MCP communication protocol
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cloud-native-architecture-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "architecture, aws, cloud-native, diagrams, gcp, kubernetes, mcp",
    "author": null,
    "author_email": "Michael Levan <mlevan1992@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/cd/84/3ee66e43738de0ca37a938b07f0a1b2fc30fcaff4d333381cc19faa33438/cloud_native_architecture_mcp-0.1.5.tar.gz",
    "platform": null,
    "description": "# Cloud Native Architecture MCP Server\n\nAn MCP (Model Context Protocol) server that provides tools to generate architecture diagrams for cloud-native infrastructure:\n\n- **Kubernetes** cluster diagrams\n- **AWS** infrastructure diagrams\n- **GCP** infrastructure diagrams\n\nBuilt using the [Diagrams](https://diagrams.mingrammer.com/) library to create professional, visual architecture diagrams programmatically.\n\n## Features\n\n- **Three specialized tools** for different cloud platforms\n- **Visual diagram generation** with proper cloud provider icons\n- **Cluster/VPC grouping** support for organizing components\n- **Connection mapping** between components\n- **Returns diagrams as images** directly in MCP responses\n\n## Installation\n\n### From PyPI (Recommended)\n\n```bash\npip install cloud-native-architecture-mcp\n```\n\nOr use with `uvx` for on-demand execution:\n\n```bash\nuvx cloud-native-architecture-mcp\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/yourusername/cloud-native-architecture-mcp-server\ncd cloud-native-architecture-mcp-server\npip install -e .\n```\n\n## Prerequisites\n\nThis package requires **Graphviz** to be installed on your system:\n\n**macOS:**\n```bash\nbrew install graphviz\n```\n\n**Ubuntu/Debian:**\n```bash\nsudo apt-get install graphviz\n```\n\n**Windows:**\nDownload from [graphviz.org](https://graphviz.org/download/)\n\n## Usage with MCP Clients\n\n### Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"cloud-architecture\": {\n      \"command\": \"uvx\",\n      \"args\": [\"cloud-native-architecture-mcp\"]\n    }\n  }\n}\n```\n\n### AgentGateway\n\nAdd to your AgentGateway configuration:\n\n```yaml\nmcp_servers:\n  - name: cloud-architecture\n    stdio:\n      cmd: uvx\n      args: [\"cloud-native-architecture-mcp\"]\n```\n\n## Available Tools\n\n### 1. build-kubernetes-diagram\n\nBuild Kubernetes architecture diagrams with support for:\n- Deployments, StatefulSets, DaemonSets, Jobs, Pods\n- Services, Ingress\n- PVCs, PVs, StorageClass\n- ConfigMaps, Secrets\n- HPA (Horizontal Pod Autoscaler)\n- Namespace clustering\n\n**Example Input:**\n\n```json\n{\n  \"name\": \"microservices-app\",\n  \"components\": [\n    {\"type\": \"deployment\", \"name\": \"api-server\", \"replicas\": 3},\n    {\"type\": \"service\", \"name\": \"api-svc\"},\n    {\"type\": \"ingress\", \"name\": \"main-ingress\"},\n    {\"type\": \"deployment\", \"name\": \"worker\", \"replicas\": 2},\n    {\"type\": \"pvc\", \"name\": \"shared-storage\"}\n  ],\n  \"clusters\": [\n    {\n      \"name\": \"Production Namespace\",\n      \"components\": [\"api-server\", \"api-svc\", \"worker\"]\n    }\n  ],\n  \"connections\": [\n    {\"from\": \"main-ingress\", \"to\": \"api-svc\", \"label\": \"HTTPS\"},\n    {\"from\": \"api-svc\", \"to\": \"api-server\"},\n    {\"from\": \"api-server\", \"to\": \"shared-storage\"}\n  ]\n}\n```\n\n### 2. build-aws-diagram\n\nBuild AWS infrastructure diagrams with support for:\n- Compute: EC2, ECS, EKS, Lambda\n- Database: RDS, DynamoDB, ElastiCache, Redshift\n- Storage: S3, EBS, EFS\n- Network: ALB, NLB, ELB, CloudFront, Route53, VPC\n- Integration: SQS, SNS, EventBridge\n- VPC grouping\n\n**Example Input:**\n\n```json\n{\n  \"name\": \"webapp-infrastructure\",\n  \"components\": [\n    {\"type\": \"route53\", \"name\": \"dns\"},\n    {\"type\": \"alb\", \"name\": \"load-balancer\"},\n    {\"type\": \"ec2\", \"name\": \"web-server\"},\n    {\"type\": \"rds\", \"name\": \"postgres-db\"},\n    {\"type\": \"s3\", \"name\": \"assets-bucket\"},\n    {\"type\": \"elasticache\", \"name\": \"redis-cache\"}\n  ],\n  \"vpcs\": [\n    {\n      \"name\": \"Production VPC\",\n      \"components\": [\"web-server\", \"postgres-db\", \"redis-cache\", \"load-balancer\"]\n    }\n  ],\n  \"connections\": [\n    {\"from\": \"dns\", \"to\": \"load-balancer\"},\n    {\"from\": \"load-balancer\", \"to\": \"web-server\"},\n    {\"from\": \"web-server\", \"to\": \"postgres-db\"},\n    {\"from\": \"web-server\", \"to\": \"redis-cache\"},\n    {\"from\": \"web-server\", \"to\": \"assets-bucket\"}\n  ]\n}\n```\n\n### 3. build-gcp-diagram\n\nBuild GCP infrastructure diagrams with support for:\n- Compute: GCE, GKE, Cloud Functions\n- Database: Cloud SQL, Firestore, BigTable, Spanner\n- Storage: GCS, Persistent Disk\n- Network: Load Balancing, Cloud DNS, VPC\n- Analytics: BigQuery, Dataflow, Pub/Sub\n- VPC/Network grouping\n\n**Example Input:**\n\n```json\n{\n  \"name\": \"data-processing-pipeline\",\n  \"components\": [\n    {\"type\": \"gcs\", \"name\": \"input-bucket\"},\n    {\"type\": \"functions\", \"name\": \"process-files\"},\n    {\"type\": \"pubsub\", \"name\": \"events\"},\n    {\"type\": \"dataflow\", \"name\": \"etl-pipeline\"},\n    {\"type\": \"bigquery\", \"name\": \"data-warehouse\"}\n  ],\n  \"connections\": [\n    {\"from\": \"input-bucket\", \"to\": \"process-files\", \"label\": \"trigger\"},\n    {\"from\": \"process-files\", \"to\": \"events\"},\n    {\"from\": \"events\", \"to\": \"etl-pipeline\"},\n    {\"from\": \"etl-pipeline\", \"to\": \"data-warehouse\"}\n  ]\n}\n```\n\n## Development\n\n### Setup Development Environment\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/cloud-native-architecture-mcp-server\ncd cloud-native-architecture-mcp-server\n\n# Create virtual environment\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n\n# Install in development mode with dev dependencies\npip install -e \".[dev]\"\n```\n\n### Testing Locally\n\nYou can test the MCP server directly:\n\n```bash\n# Run the server\npython -m cloud_native_architecture_mcp.server\n```\n\nOr use with an MCP client like the MCP Inspector:\n\n```bash\nnpx @modelcontextprotocol/inspector uvx cloud-native-architecture-mcp\n```\n\n## Publishing to PyPI\n\n### Prerequisites\n\n1. Create accounts on:\n   - [PyPI](https://pypi.org) (production)\n   - [TestPyPI](https://test.pypi.org) (testing)\n\n2. Install build tools:\n```bash\npip install build twine\n```\n\n### Build and Publish\n\n1. **Build the package:**\n```bash\npython -m build\n```\n\n2. **Test on TestPyPI first:**\n```bash\ntwine upload --repository testpypi dist/*\n```\n\n3. **Install from TestPyPI to verify:**\n```bash\npip install --index-url https://test.pypi.org/simple/ cloud-native-architecture-mcp\n```\n\n4. **Publish to PyPI:**\n```bash\ntwine upload dist/*\n```\n\n5. **Verify installation:**\n```bash\npip install cloud-native-architecture-mcp\n```\n\n## Architecture\n\n```\ncloud-native-architecture-mcp-server/\n\u251c\u2500\u2500 src/\n\u2502   \u2514\u2500\u2500 cloud_native_architecture_mcp/\n\u2502       \u251c\u2500\u2500 __init__.py\n\u2502       \u2514\u2500\u2500 server.py          # Main MCP server implementation\n\u251c\u2500\u2500 pyproject.toml             # Package configuration\n\u251c\u2500\u2500 README.md\n\u2514\u2500\u2500 LICENSE\n```\n\n## How It Works\n\n1. **MCP Client** (Claude Desktop, AgentGateway, etc.) calls one of the three tools\n2. **MCP Server** receives the component configuration (JSON)\n3. **Diagrams Library** generates the architecture diagram using Graphviz\n4. **Server returns** the diagram as a base64-encoded PNG image\n5. **Client displays** the visual diagram to the user\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details\n\n## Education\n\n### Resources\n\n- [MCP Documentation](https://modelcontextprotocol.io/)\n- [Diagrams Documentation](https://diagrams.mingrammer.com/)\n- [PyPI Publishing Guide](https://packaging.python.org/tutorials/packaging-projects/)\n\n## Support\n\nFor issues, questions, or contributions, please visit the [GitHub repository](https://github.com/yourusername/cloud-native-architecture-mcp-server/issues).\n\n### Why So Much JSON?\nMCP communicates via the JSON-RPC protocol. All tools within an MCP Server, parameters, and responses are transmitted as JSON. If the JSON didn't exist, the MCP client wouldn't know what parameters to send and what the tool actually does. JSON-RPC is the MCP communication protocol",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "MCP server for building cloud-native architecture diagrams (Kubernetes, AWS, GCP)",
    "version": "0.1.5",
    "project_urls": {
        "Documentation": "https://github.com/yourusername/cloud-native-architecture-mcp-server#readme",
        "Homepage": "https://github.com/yourusername/cloud-native-architecture-mcp-server",
        "Issues": "https://github.com/yourusername/cloud-native-architecture-mcp-server/issues",
        "Repository": "https://github.com/yourusername/cloud-native-architecture-mcp-server"
    },
    "split_keywords": [
        "architecture",
        " aws",
        " cloud-native",
        " diagrams",
        " gcp",
        " kubernetes",
        " mcp"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "27d3cf6b116a5d11138d44492f3711de7635b8cc1cf6d48a9d4277be773af086",
                "md5": "06f9db90e747f7080e499cfc293c34fa",
                "sha256": "2bbe0513b2bd2abe374ed15b411b2f4c273542ffa540f4c7cb26566165507cbf"
            },
            "downloads": -1,
            "filename": "cloud_native_architecture_mcp-0.1.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "06f9db90e747f7080e499cfc293c34fa",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 8899,
            "upload_time": "2025-11-02T13:49:44",
            "upload_time_iso_8601": "2025-11-02T13:49:44.031138Z",
            "url": "https://files.pythonhosted.org/packages/27/d3/cf6b116a5d11138d44492f3711de7635b8cc1cf6d48a9d4277be773af086/cloud_native_architecture_mcp-0.1.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cd843ee66e43738de0ca37a938b07f0a1b2fc30fcaff4d333381cc19faa33438",
                "md5": "672f1ae9011c969a99e6b2160d8766c6",
                "sha256": "afbb33719cb11155b1ebe1afa8a8c3eccaa591dd6bd18f9960a22b5b80044089"
            },
            "downloads": -1,
            "filename": "cloud_native_architecture_mcp-0.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "672f1ae9011c969a99e6b2160d8766c6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 7752,
            "upload_time": "2025-11-02T13:49:44",
            "upload_time_iso_8601": "2025-11-02T13:49:44.878417Z",
            "url": "https://files.pythonhosted.org/packages/cd/84/3ee66e43738de0ca37a938b07f0a1b2fc30fcaff4d333381cc19faa33438/cloud_native_architecture_mcp-0.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-02 13:49:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "yourusername",
    "github_project": "cloud-native-architecture-mcp-server#readme",
    "github_not_found": true,
    "lcname": "cloud-native-architecture-mcp"
}
        
Elapsed time: 3.51887s