MCP Deploy Framework
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
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Add tests for new functionality
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| meridian_mcp_deploy-1.0.1.tar.gz | 16.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|