Meridian-powered one-command deployment for MCP servers
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
169fd9c4e6c2196caa4bc72d0a0156cebf70938b7cc8eb869d376e08e2c55f6b
|
|
| MD5 |
7664623735b5739ed53879097a7fb9e3
|
|
| BLAKE2b-256 |
5f72bc33794a1606bb37412763787ce81ba5075279d83c173030eb38f7ce9ce4
|
File details
Details for the file meridian_mcp_deploy-1.0.1-py3-none-any.whl.
File metadata
- Download URL: meridian_mcp_deploy-1.0.1-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab2b320bcceebf32ea7813cc9be0b28f7463888ea27eb113494576320d093dc8
|
|
| MD5 |
ff656ecb25a06af5c1685d833bcb33c5
|
|
| BLAKE2b-256 |
23de721f580095d77081f9b964b843c4edd8d6ecfbc29717db8fec0296f0b9a0
|