Skip to main content

MCP Deploy Framework

Python 3.9+ License: MIT

One-command deployment for MCP servers. Generate Docker Compose configurations, validate manifests, and perform health checks for Model Context Protocol (MCP) servers.

Quick Start

# Install
pip install meridian-mcp-deploy  # Coming soon - or clone this repo

# Validate a manifest
meridian-mcp-deploy validate manifests/filesystem-server.yaml

# Generate Docker Compose configuration
meridian-mcp-deploy generate manifests/filesystem-server.yaml manifests/playwright-server.yaml -o docker-compose.yml

# Run health check
meridian-mcp-deploy health manifests/filesystem-server.yaml

Features

  • Manifest Validation: YAML schema validation for MCP server definitions
  • Docker Compose Generation: Auto-generate optimized container configurations
  • Health Check System: HTTP, TCP, and stdio protocol support with retries
  • Dependency Resolution: Python import → apt package mapping (Phase 2)
  • Connectivity Validator: Test server connectivity before deployment (Phase 2)

Installation

# From source
git clone https://github.com/meridian-mind/mcp-deploy.git
cd mcp-deploy-framework
pip install -r requirements.txt

# Or via pip (coming soon)
pip install meridian-mcp-deploy

Usage

1. Validate a Manifest

mcp-deploy validate manifests/filesystem-server.yaml

Output:

✓ Manifest 'filesystem-server' v1.0.0 is valid
 Runtime: python
 Description: MCP filesystem server for file operations

2. Generate Docker Compose

mcp-deploy generate manifests/filesystem-server.yaml -o docker-compose.yml

Output:

✓ Parsed manifest: filesystem-server
✓ Generated Docker Compose configuration: docker-compose.yml
 Services: filesystem-server

3. Perform Health Check

mcp-deploy health manifests/filesystem-server.yaml --retries 3

Output:

Performing health check for filesystem-server...
✓ Health check passed: HTTP 200 OK

Example Manifests

Filesystem Server

name: filesystem-server
version: "1.0.0"
runtime: python
port: 8080
description: MCP server for file system operations
health_check:
  type: http
  endpoint: /health
  timeout: 10

Playwright Server

name: playwright-server
version: "1.0.0"
runtime: node
port: 3000
description: MCP server for browser automation
health_check:
  type: http
  endpoint: /health
  timeout: 15

CLI Commands

Command Description
meridian-mcp-deploy validate <manifest> Validate manifest YAML file
meridian-mcp-deploy generate <manifests...> -o <output> Generate Docker Compose config
meridian-mcp-deploy health <manifest> [--retries N] Perform health check
meridian-mcp-deploy list <manifests...> List parsed manifest details

Project Structure

mcp-deploy-framework/
├── src/
│   ├── cli.py                 # Command-line interface
│   ├── manifest_parser.py     # YAML manifest parsing
│   ├── manifest_schema.py     # JSON schema validation
│   ├── docker_compose_generator.py  # Docker Compose generation
│   ├── health_check.py        # Health check system
│   └── phase2/
│       ├── dependency_resolver.py    # Import → apt mapping
│       └── mcp_connectivity_validator.py  # Connectivity testing
├── manifests/                 # Example manifests
├── tests/                     # Test suite
├── docs/                      # Documentation
└── scripts/                   # Utility scripts

Roadmap

  • Phase 1: Core CLI, manifest parser, Docker generator, health checks
  • Phase 2: Dependency resolver, connectivity validator
  • PyPI package publication
  • Kubernetes manifest generation
  • Multi-server orchestration
  • Web UI for manifest editing
  • Enterprise features (RBAC, audit logs)

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Add tests for new functionality
  4. Submit a pull request

License

MIT License - See LICENSE file for details.

Community

  • GitHub Issues: Report bugs and feature requests
  • Discussions: Share ideas and ask questions
  • MCP Discord: Join the Model Context Protocol community

Built for the MCP ecosystem • awesome-mcp-servers has 3,858+ stars

Metadata

Release files for meridian-mcp-deploy 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for meridian-mcp-deploy 1.0.1
File Size Uploaded
meridian_mcp_deploy-1.0.1.tar.gz 16.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for meridian-mcp-deploy 1.0.1
File Interpreter ABI Platform
meridian_mcp_deploy-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 33.0 kB

Release files / meridian_mcp_deploy-1.0.1.tar.gz

Download URL meridian_mcp_deploy-1.0.1.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
169fd9c4e6c2196caa4bc72d0a0156cebf70938b7cc8eb869d376e08e2c55f6b
BLAKE2b-256 checksum
How to use checksums
5f72bc33794a1606bb37412763787ce81ba5075279d83c173030eb38f7ce9ce4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / meridian_mcp_deploy-1.0.1-py3-none-any.whl

Download URL meridian_mcp_deploy-1.0.1-py3-none-any.whl
Size 17.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab2b320bcceebf32ea7813cc9be0b28f7463888ea27eb113494576320d093dc8
BLAKE2b-256 checksum
How to use checksums
23de721f580095d77081f9b964b843c4edd8d6ecfbc29717db8fec0296f0b9a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page