Enables deployment and management of MCP servers through Docker containers with one-click deployment, pre-built templates, and automatic image management.
Provides secure file system access for AI assistants through the File Server MCP template, with features for directory access control, read-only modes, and file operation security.
File access patterns can be configured to exclude Git directories, indicating Git repository integration capabilities.
Planned feature for deploying MCP servers to Kubernetes clusters with easy scaling capabilities.
Supports installation through PyPI package manager with the 'pip install mcp-templates' command.
Enables configuration through YAML files as an alternative to JSON for setting up MCP server deployments.
MCP Server Templates
Production-ready Model Context Protocol (MCP) server templates with a unified deployment architecture and comprehensive configuration support. Easily deploy, manage, and extend AI server templates with flexible configuration options matching commercial platform capabilities.
⚡ Features
Get ready to supercharge your MCP journey! The MCP Platform is packed with electrifying features that make server deployment a thrill ride:
🚀 Current Features
- 🖱️ One-Click Docker Deployment: Launch MCP servers instantly with pre-built templates—no hassle, just pure speed.
- 🔎 Smart Tool Discovery: Automatically finds and showcases every tool your server can offer. No more guesswork!
- 💻 Slick CLI Management: Command-line magic for easy, powerful control over all deployments.
- 🤝 Bring Your Own MCP Server: Plug in your own MCP server and run it on our network—even with limited features!
- 🐳 Effortless Docker Image Integration: Add any existing MCP Docker image to the templates library with minimal setup and unlock all the platform’s cool benefits.
- ⚡ Boilerplate Template Generator: Instantly create new MCP server projects with a CLI-powered generator—kickstart your next big idea!
- 🛠️ Multiple Ways to Set Configuration: Flex your setup with config via JSON, YAML, environment variables, CLI config, or CLI override options—total flexibility for every workflow!
🌈 Planned Features
- 🦸 MCP Sidekick (Coming Soon): Your friendly AI companion, making every MCP server compatible with any AI tool or framework.
- 🛸 Kubernetes Support: Deploy to Kubernetes clusters with ease, scaling your MCP servers effortlessly.
Release Timeline: All this and more dropping mid-August 2025—don’t miss out!
Want the full scoop? Check out the docs for more features & details!
🚀 How It Works
Architecture Overview:
Configuration Flow:
- Template Defaults → 2. Config File → 3. CLI Options → 4. Environment Variables
- CLI Tool:
mcp-template
with comprehensive config support - DeploymentManager: Unified interface for Docker, Kubernetes, or Mock backends
- TemplateDiscovery: Auto-discovers templates with config schema validation
- ConfigMapping: Generic mapping system supporting nested JSON/YAML configs
- Multi-source Configuration: File-based, CLI options, and environment variables
📦 Template Structure
Each template must include:
template.json
— Metadata and config schema with environment mappingsDockerfile
— Container build instructionsREADME.md
— Usage and description- (Optional)
USAGE.md
,requirements.txt
,src/
,tests/
,config/
Example template.json
:
🛠️ CLI Usage
Basic Commands
Command | Description |
---|---|
mcp-template list | List all deployments |
mcp-template deploy <template> | Deploy template with defaults |
mcp-template deploy <template> --no-pull | Deploy without pulling image (use local) |
mcp-template status <deployment> | View deployment status |
mcp-template delete <deployment> | Delete deployment |
mcp-template create <template-id> | Create new template |
Configuration Options
1. Check Template Configuration:
2. Deploy with Config File:
3. Deploy with CLI Configuration Options:
There are two types of CLI configuration:
--config
: Forconfig_schema
properties (becomes environment variables)--override
: For template data modifications (modifies template structure directly)
4. Double Underscore Notation for Nested Configuration:
Both --config
and --override
support double underscore notation for nested structures:
5. Advanced Override Examples:
6. Deploy with Environment Variables:
7. Mixed Configuration (precedence: env > cli > file > defaults):
Configuration vs Override Usage Guide
Use Case | Recommended Method | Example |
---|---|---|
Server settings (logging, security, performance) | --config | --config log_level=debug |
Nested server configuration | --config with __ | --config security__read_only=true |
Template metadata changes | --override | --override "metadata__version=2.0.0" |
Tool modifications | --override | --override "tools__0__enabled=false" |
Custom fields addition | --override | --override "custom_field=value" |
Complex nested structures | --override with __ | --override "config__db__host=localhost" |
Configuration File Examples
JSON Configuration (config.json
):
YAML Configuration (config.yml
):
🐳 Docker Images & Backends
Supported Backends
- Docker (default): Uses local Docker daemon or nerdctl/containerd
- Kubernetes: Coming soon - will deploy to K8s clusters
- Mock: For testing and development
Image Management
Templates automatically build and tag images as:
- Format:
dataeverything/mcp-{template-name}:latest
- Custom images: Specify in
template.json
withdocker_image
field - Auto-pull: Images are pulled automatically during deployment
🏗️ Architecture & Extensibility
Core Components
- Backend Abstraction: Easily extend with Kubernetes, cloud providers
- CLI + Library: Use as command-line tool or import as Python library
- Platform Integration Ready: Same codebase powers MCP Platform commercial UI
- Configuration System: Generic mapping supporting any template structure
- Type Conversion: Automatic conversion based on JSON schema types
Adding New Templates
- Create
templates/{name}/
directory - Add
template.json
with config schema and environment mappings - Add
Dockerfile
for container build - Test with
mcp-template {name} --show-config
Adding New Backends
- Inherit from base deployment service interface
- Implement
deploy_template()
,list_deployments()
, etc. - Register in
DeploymentManager._get_deployment_backend()
🧪 Testing & Development
Running Tests
Test Configuration Files
Sample configuration files are available in examples/config/
:
file-server-config.json
: Example file-server configuration- Additional template configs as they're added
Development Setup
Testing
Documentation
📚 Documentation Hub
Core Documentation
- Documentation Index: Central hub for all documentation
- Configuration Strategy: Configuration design decisions
- Template Development Guide: Creating new templates
- Testing Guide: Testing strategies and tools
Template-Specific Docs
Each template includes:
README.md
: Overview and basic usageUSAGE.md
: Detailed configuration and examplestests/
: Template-specific test suites
🚀 Getting Started
Quick Start
Template Discovery
License
This project is licensed under the Elastic License 2.0.
You may use, deploy, and modify it freely in your organization or personal projects. You may not resell, rehost, or offer it as a commercial SaaS product without a commercial license.
See LICENSE and ATTRIBUTION for details.
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
See CONTRIBUTING.md for detailed contribution guidelines.
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Community Slack: Join mcp-platform workspace
- Documentation: docs/index.md
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
MCP aggregator with many existing NCP templates and allows running external MCP servers too
Related MCP Servers
- GoApache 2.0
- -securityAlicense-qualityOpen source MCP server specializing in easy, fast, and secure tools for Databases.Last updated -8,768GoApache 2.0
- TypeScriptMozilla Public License 2.0
- PythonMIT License