Egile Mcp Starter
БесплатноНе проверенA comprehensive and extensible cookiecutter template system for creating Model Context Protocol (MCP) servers with plugin architecture supporting multiple templ
Описание
A comprehensive and extensible cookiecutter template system for creating Model Context Protocol (MCP) servers with plugin architecture supporting multiple templates including RAG-enabled servers
README
PyPI - Version Tests Python Versions License Docker Code Style FastMCP MCP Documentation
A comprehensive cookiecutter template for creating Model Context Protocol (MCP) servers using the FASTMCP framework.
📖 Full Documentation | 🚀 Quick Start | 🛠️ Templates
Features
- 🚀 Modern Python Setup: Uses Poetry for dependency management and packaging
- 🏗️ FASTMCP Framework: Built on the efficient FASTMCP framework for MCP servers
- � Plugin Architecture: Extensible template system with multiple server types
- 🛠️ Multiple Templates: Choose from MCP, RAG, or custom templates
- 🧪 Testing Ready: Comprehensive test suite with pytest and coverage
- 🔧 Development Tools: Pre-configured with Black, Flake8, MyPy, and pre-commit hooks
- 🐳 Docker Support: Optional Docker configuration for easy deployment
- 🔄 CI/CD Ready: GitHub Actions workflows for automated testing and deployment
- 📚 Rich Documentation: Detailed README and code documentation
- 🎛️ Configurable: YAML-based configuration with environment variable support
Quick Start
Installation
# Install with pip (recommended)
pip install egile-mcp-starter
# Or use Docker
docker pull jpoullet2000/egile-mcp-starter
docker run -it jpoullet2000/egile-mcp-starter
# Or install from source
git clone https://github.com/jpoullet2000/egile-mcp-starter.git
cd egile-mcp-starter
poetry install
Generate a New MCP Server
# Using the installed command (default MCP template)
egile-mcp-starter
# Or if installed from source
poetry run egile-mcp-starter
# Choose a specific template
egile-mcp-starter --template rag
# List available templates
egile-mcp-starter --list-templates
# With custom project name
egile-mcp-starter --project-name "my_custom_server"
# With multiple options
egile-mcp-starter --template rag --output-dir ./my-projects --project-name "my_rag_server" --verbose
CLI Options
The egile-mcp-starter command supports the following options:
| Option | Short | Description | Example |
|---|---|---|---|
--template |
-t |
Choose the template to use | --template rag |
--project-name |
Override the project name (affects directory and package name) | --project-name "my_server" |
|
--output-dir |
-o |
Output directory for the generated project | --output-dir ./projects |
--list-templates |
List all available templates and exit | --list-templates |
|
--verbose |
-v |
Print detailed status information | --verbose |
--no-input |
Don't prompt for parameters, use defaults | --no-input |
|
--config-file |
Path to cookiecutter config file | --config-file config.yaml |
|
--default-config |
Use default values for all template variables | --default-config |
|
--help |
Show help message and exit | --help |
Examples:
# Generate with custom name and template
egile-mcp-starter --template rag --project-name "my_awesome_rag_server"
# Non-interactive generation for CI/CD
egile-mcp-starter --no-input --project-name "test_server" --output-dir ./build
# List available templates
egile-mcp-starter --list-templates
Available Templates
The egile-mcp-starter uses a plugin architecture that supports multiple project templates. Choose the template that best fits your needs:
🔧 MCP Template (default)
The standard MCP server template with comprehensive features:
- Server Types: Tools, resources, prompts, or full-featured servers
- FASTMCP Integration: Built on the efficient FASTMCP framework
- Development Ready: Testing, linting, CI/CD, Docker support
- Flexible Configuration: YAML-based config with environment variables
egile-mcp-starter --template mcp
🧠 RAG Template
Advanced RAG-enabled MCP server with vector search capabilities:
- Vector Databases: Chroma, Pinecone, Weaviate, Qdrant, FAISS support
- Embedding Models: Sentence Transformers, OpenAI, Cohere
- Document Processing: PDF, DOCX, Excel, text files
- Web Scraping: Optional web page scraping and indexing
- Chunking Strategies: Recursive, semantic, fixed-size
- Reranking: Optional result reranking for better relevance
- MCP Tools:
ingest_documents,search_documents,scrape_and_index - MCP Resources: Document listing, metadata access, chunk search
egile-mcp-starter --template rag
🔌 Plugin System Features
- Extensible: Easy to add new templates without modifying core code
- External Plugins: Third-party templates via entry points
- Template Hooks: Pre/post-generation customization
- Backward Compatible: Original functionality preserved
# List all available templates
egile-mcp-starter --list-templates
# Generate with specific template and options
egile-mcp-starter --template rag --output-dir ./my-projects --project-name "my_rag_server" --verbose
Generated Project Structure
The generated project will have this structure:
my-mcp-server/
├── src/
│ ├── my_mcp_server/
│ │ ├── __init__.py
│ │ ├── server.py # Main MCP server implementation
│ │ ├── config.py # Configuration management
│ │ ├── tools/ # Tool implementations (if enabled)
│ │ ├── resources/ # Resource handlers (if enabled)
│ │ ├── prompts/ # Prompt templates (if enabled)
│ │ └── utils.py # Utility functions
│ └── main.py # Entry point
├── tests/ # Comprehensive test suite
├── pyproject.toml # Poetry configuration
├── README.md # Project documentation
├── Dockerfile # Docker configuration (optional)
└── .github/workflows/ # CI/CD workflows (optional)
Extending the Plugin System
Adding Custom Templates
The plugin architecture makes it easy to add new templates:
- Create a Template Plugin:
from egile_mcp_starter import TemplatePlugin
from pathlib import Path
class MyTemplatePlugin(TemplatePlugin):
def __init__(self):
super().__init__(
name="my_template",
description="My custom MCP server template",
version="1.0.0"
)
def get_template_path(self) -> Path:
return Path(__file__).parent / "my_template"
def get_default_context(self) -> dict:
return {"project_name": "My Custom Server"}
- Register the Plugin:
from egile_mcp_starter import get_registry
registry = get_registry()
registry.register(MyTemplatePlugin())
- External Plugin Distribution:
# In your package's setup.py or pyproject.toml
entry_points = {
'egile_mcp_starter.templates': [
'my_template = my_package.my_template:MyTemplatePlugin',
],
}
Template Hooks
Customize the generation process with hooks:
- Pre-generation: Modify context, validate inputs, compute dependencies
- Post-generation: Initialize databases, download models, set up git repos
Development
Setting up Development Environment
# Clone the repository
git clone https://github.com/jpoullet2000/egile-mcp-starter.git
cd egile-mcp-starter
# Install dependencies
poetry install --with dev
# Install pre-commit hooks
poetry run pre-commit install
Running Tests
# Run all tests
poetry run pytest
# Run with coverage
poetry run pytest --cov=egile_mcp_starter --cov-report=html
# Run specific tests
poetry run pytest tests/test_generator.py -v
Code Quality
# Format code
poetry run black .
# Check linting
poetry run flake8 egile_mcp_starter tests
# Type checking
poetry run mypy egile_mcp_starter
# Run all pre-commit checks
poetry run pre-commit run --all-files
Documentation
📖 Complete Documentation - Full documentation hosted on ReadTheDocs
The documentation includes:
- Installation Guide: Detailed installation instructions
- Quick Start: Get up and running quickly
- Configuration: Detailed configuration options
- Server Types: Available templates and their features
- API Reference: Complete API documentation
- Contributing: How to contribute to the project
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (
poetry run pytest) - Run code quality checks (
poetry run pre-commit run --all-files) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
- � Documentation: egile-mcp-starter.readthedocs.io
- �📧 Email: [email protected]
- 🐛 Issues: GitHub Issues
- 📖 MCP Documentation: Model Context Protocol
- 🚀 FASTMCP: FASTMCP Framework
Acknowledgments
- FASTMCP - The amazing framework that powers the generated servers
- Model Context Protocol - The protocol specification
- Cookiecutter - The templating engine
Built with ❤️ to accelerate MCP server development
Установка Egile Mcp Starter
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/jpoullet2000/egile-mcp-starterFAQ
Egile Mcp Starter MCP бесплатный?
Да, Egile Mcp Starter MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Egile Mcp Starter?
Нет, Egile Mcp Starter работает без API-ключей и переменных окружения.
Egile Mcp Starter — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Egile Mcp Starter в Claude Desktop, Claude Code или Cursor?
Открой Egile Mcp Starter на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
wenb1n-dev/SmartDB_MCP
A universal database MCP server supporting simultaneous connections to multiple databases. It provides tools for database operations, health analysis, SQL optim
автор: wenb1n-devPostgres Server
This server enables interaction with PostgreSQL databases through the Model Context Protocol, optimized for the AWS Bedrock AgentCore Runtime. It provides tools
автор: madhurprashPostgres
Query your database in natural language
автор: AnthropicPostgreSQL
Read-only database access with schema inspection.
автор: modelcontextprotocolCompare Egile Mcp Starter with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории data
