Skip to main content

Meridian-powered one-command deployment for MCP servers

Project description

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 ecosystemawesome-mcp-servers has 3,858+ stars

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

meridian_mcp_deploy-1.0.1.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meridian_mcp_deploy-1.0.1-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file meridian_mcp_deploy-1.0.1.tar.gz.

File metadata

  • Download URL: meridian_mcp_deploy-1.0.1.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for meridian_mcp_deploy-1.0.1.tar.gz
Algorithm Hash digest
SHA256 169fd9c4e6c2196caa4bc72d0a0156cebf70938b7cc8eb869d376e08e2c55f6b
MD5 7664623735b5739ed53879097a7fb9e3
BLAKE2b-256 5f72bc33794a1606bb37412763787ce81ba5075279d83c173030eb38f7ce9ce4

See more details on using hashes here.

File details

Details for the file meridian_mcp_deploy-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for meridian_mcp_deploy-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ab2b320bcceebf32ea7813cc9be0b28f7463888ea27eb113494576320d093dc8
MD5 ff656ecb25a06af5c1685d833bcb33c5
BLAKE2b-256 23de721f580095d77081f9b964b843c4edd8d6ecfbc29717db8fec0296f0b9a0

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