Sumanshu Arora
MCP aggregator with many existing NCP templates and allows running external MCP servers too
README
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:
┌────────────┐ ┌────────────────────┐ ┌────────────────────────────┐
│ CLI Tool │──▶──▶│ DeploymentManager │──▶──▶│ Backend (Docker/K8s/Mock) │
└────────────┘ └────────────────────┘ └────────────────────────────┘
│ │ │
▼ ▼ ▼
TemplateDiscovery Template Config Container/Pod/Mock
│ │
▼ ▼
ConfigMapping Environment Variables
Configuration Flow:
- Template Defaults → 2. Config File → 3. CLI Options → 4. Environment Variables
- CLI Tool:
mcp-templatewith 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:
{
"name": "File Server MCP",
"description": "Secure file system access for AI assistants...",
"version": "1.0.0",
"author": "Data Everything",
"category": "File System",
"tags": ["filesystem", "files", "security"],
"docker_image": "dataeverything/mcp-file-server",
"docker_tag": "latest",
"ports": {
"8080": 8080
},
"command": ["python", "server.py"],
"transport": {
"default": "stdio",
"supported": ["stdio", "http"],
"port": 8080
},
"config_schema": {
"type": "object",
"properties": {
"allowed_directories": {
"type": "array",
"env_mapping": "MCP_ALLOWED_DIRS",
"env_separator": ":",
"default": ["/data"],
"description": "Allowed directories for file access"
},
"read_only_mode": {
"type": "boolean",
"env_mapping": "MCP_READ_ONLY",
"default": false,
"description": "Enable read-only mode"
},
"log_level": {
"type": "string",
"env_mapping": "MCP_LOG_LEVEL",
"default": "info",
"description": "Logging level (debug, info, warning, error)"
}
},
"required": ["allowed_directories"]
}
}
🛠️ 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:
# View template.json to see available config options
cat templates/file-server/template.json
2. Deploy with Config File:
# JSON config file
mcp-template deploy file-server --config-file ./config.json
# YAML config file
mcp-template deploy file-server --config-file ./config.yml
3. Deploy with CLI Configuration Options:
There are two types of CLI configuration:
--config: Forconfig_schemaproperties (becomes environment variables)--override: For template data modifications (modifies template structure directly)
# Configuration schema properties (recommended for server settings)
mcp-template deploy file-server \
--config read_only_mode=true \
--config max_file_size=50 \
--config log_level=debug
# Template data overrides (for metadata, tools, custom fields)
mcp-template deploy file-server \
--override "metadata__version=2.0.0" \
--override "metadata__author=MyName" \
--override "tools__0__enabled=false"
# Combined usage with custom name
mcp-template deploy file-server \
--name my-file-server \
--no-pull \
--config read_only_mode=true \
--override "metadata__description=Custom file server"
4. Double Underscore Notation for Nested Configuration:
Both --config and --override support double underscore notation for nested structures:
# Config schema properties (nested configuration)
mcp-template deploy file-server \
--config security__read_only=true \
--config security__max_file_size=50 \
--config logging__level=debug
# Template data overrides (nested modifications)
mcp-template deploy file-server \
--override "metadata__version=2.0.0" \
--override "config__custom_setting=value" \
--override "tools__0__description=Modified tool" \
--override "servers__0__config__host=remote.example.com"
5. Advanced Override Examples:
# Array modifications with automatic type conversion
mcp-template deploy demo \
--override "tools__0__enabled=false" \
--override "tools__1__timeout=30.5" \
--override "metadata__tags=[\"custom\",\"modified\"]"
# Complex nested structure creation
mcp-template deploy demo \
--override "config__database__connection__host=localhost" \
--override "config__database__connection__port=5432" \
--override "config__security__enabled=true"
# JSON object overrides
mcp-template deploy demo \
--override "metadata__custom={\"key\":\"value\",\"nested\":{\"prop\":true}}"
6. Deploy with Environment Variables:
mcp-template deploy file-server \
--env MCP_READ_ONLY=true \
--env MCP_MAX_FILE_SIZE=50 \
--env MCP_LOG_LEVEL=debug
7. Mixed Configuration (precedence: env > cli > file > defaults):
mcp-template deploy file-server \
--config-file ./base-config.json \
--config log_level=warning \
--override "metadata__version=1.5.0" \
--env MCP_READ_ONLY=true
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):
{
"security": {
"allowedDirs": ["/data", "/workspace"],
"readOnly": false,
"maxFileSize": 100,
"excludePatterns": ["**/.git/**", "**/node_modules/**"]
},
"logging": {
"level": "info",
"enableAudit": true
},
"performance": {
"maxConcurrentOperations": 10,
"timeoutMs": 30000
}
}
YAML Configuration (config.yml):
security:
allowedDirs:
- "/data"
- "/workspace"
readOnly: false
maxFileSize: 100
excludePatterns:
- "**/.git/**"
- "**/node_modules/**"
logging:
level: info
enableAudit: true
performance:
maxConcurrentOperations: 10
timeoutMs: 30000
🐳 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.jsonwithdocker_imagefield - 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.jsonwith config schema and environment mappings - Add
Dockerfilefor 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
# Install development dependencies
pip install -r requirements-dev.txt
# Run all tests
pytest
# Run specific test categories
pytest tests/test_configuration.py # Configuration system tests
pytest tests/test_deployment_*.py # Deployment tests
pytest tests/test_all_templates.py # Template validation 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
# Clone and setup
git clone <repo-url>
cd mcp-server-templates
pip install -e .
# Run in development mode
mcp-template list
Testing
# Run all tests
make test
# Run tests for all templates
make test-templates
# Run tests for a specific template
make test-template TEMPLATE=file-server
# Run unit tests only
make test-unit
# Run integration tests
make test-integration
Documentation
# Build documentation
make docs
# Serve documentation locally
make docs-serve
# Clean documentation build
make docs-clean
📚 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
# 1. Install from PyPI
pip install mcp-templates
# 2. List available deployments
mcp-template list
# 3. Deploy with defaults
mcp-template deploy file-server
# 4. Deploy with custom config and skip image pull
mcp-template deploy file-server --config-file ./my-config.json --no-pull
# 5. View deployment status
mcp-template status file-server-deployment
# 6. Delete when done
mcp-template delete file-server-deployment
Template Discovery
# List all available templates
mcp-template create --help
# Create new template interactively
mcp-template create my-custom-template
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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。