About GenericMCPModelWithDataLoader
GenericMCPModelWithDataLoader is an MCP server published by douglashiga in the AI category: genericMCPModelWithDataLoader.
Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/douglashiga/GenericMCPModelWithDataLoaderThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about GenericMCPModelWithDataLoader
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
MCP Server Template
Complete template for creating MCP (Model Control Protocol) servers with data loader architecture and PostgreSQL support.
Architecture
This template follows a modular architecture that allows creating MCP servers for different domains with ease. The architecture is composed of the following layers:
1. Configuration Layer
- Centralized Configuration: All server configurations are maintained in a single location (
CONFIG) - Environment Variables: Support for different environments (development, production)
- Database Connection: Configuration for PostgreSQL with seed data initialization
2. Data Layer (SQLAlchemy Models)
- Contexts: Models to represent different data contexts
- Jobs: Models for data loader job management
- Seed Data: Initial data for database initialization
- ORM Connection: Integration with PostgreSQL using SQLAlchemy
3. Service Layer (MCP Server)
- MCP Server: Main server instance
- Decorators: Tools for defining tools, resources and prompts
- Connection Management: Connection verification (e.g., IB - Interactive Brokers)
- Lifecycle Management: Server startup and shutdown
4. Business Layer (Data Loader)
- Job Manager: Complete system for creating, executing and monitoring jobs
- Job Types: Support for different job types (ingestion, processing, etc.)
- Job Status: Complete job status management
- Parameters: Support for custom parameters in jobs
5. Interface Layer (Tools)
- Main Tools: Basic context and management functionalities
- Data Loader Tools: Specific operations for data loader jobs
- Specific Tools: Domain-specific functionalities
- Resources: Direct access to server information
- Prompts: Usage guides and documentation
Componentes Principais
1. Configuração (CONFIG)
CONFIG = {
"host": "127.0.0.1",
"port": 8080,
"transport": "tcp",
"ib_enabled": False,
"database_url": "postgresql://user:password@localhost/mcp_db",
"data_loader_enabled": True,
"max_concurrent_jobs": 5
}
2. Modelos SQLAlchemy
- Context: Representa diferentes contextos de dados
- Job: Representa jobs de data loader com status e parâmetros
3. Gerenciador de Jobs (JobManager)
create_job(): Cria novos jobsget_job(): Obtém job específicoupdate_job_status(): Atualiza status de jobslist_jobs(): Lista todos os jobsget_jobs_by_type(): Filtra jobs por tipo
4. Ferramentas Principais
todo_method(): Método placeholder para implementações específicasget_context_info(): Obter informações de contextosearch_context(): Buscar contextoslist_contexts(): Listar todos os contextostrigger_job(): Executar jobs de data loaderget_job_status(): Obter status de jobcancel_job(): Cancelar job
5. Recursos
server_status(): Status do servidorserver_health(): Saúde do servidorserver_capabilities(): Capacidades do servidor
6. Prompts
usage_guide(): Guia de uso do servidordata_loader_guide(): Guia de uso do data loader
Como Usar
- Configuração: Atualize a string de conexão do PostgreSQL em
CONFIG["database_url"] - Personalização: Modifique o método
todo_methodpara implementar funcionalidades específicas - Extensão: Adicione novos modelos e ferramentas conforme necessário
- Execução:
python final_mcp_template.py
Estrutura de Diretórios
.
├── final_mcp_template.py # Template principal
├── README.md # Documentação
└── (outros arquivos de template)
Funcionalidades
- Data Loader Completo: Sistema completo de gerenciamento de jobs
- PostgreSQL: Suporte a banco de dados relacional
- Seed Data: Dados iniciais para inicialização
- MCP Compatível: Totalmente compatível com protocolo MCP
- Extensível: Fácil de estender para novos domínios
- Seguro: Sistema de gerenciamento de conexões e erros
Exemplo de Uso
# Executar o servidor
python final_mcp_template.py
# O servidor estará disponível em:
# http://127.0.0.1:8080
Personalização
Para criar um novo MCP server baseado neste template:
- Atualize as configurações no arquivo
CONFIG - Modifique o método
todo_methodpara implementar lógica específica - Adicione novos modelos no sistema de dados conforme necessário
- Crie novas ferramentas usando o decorator
@server.tool - Adicione novos recursos usando o decorator
@server.resource - Crie novos prompts usando o decorator
@server.prompt
Requisitos
- Python 3.7+
- mcp
- SQLAlchemy
- PostgreSQL
- Docker e Docker Compose (opcional, para execução em container)
Execução com Docker
Para executar o servidor MCP em um container Docker:
- Construir a imagem:
docker-compose build
- Iniciar os serviços:
docker-compose up -d
- Verificar o status:
docker-compose ps
-
Acessar o servidor: O servidor estará disponível em:
http://localhost:8080 -
Para parar os serviços:
docker-compose down
Estrutura de Diretórios
.
├── final_mcp_template.py # Template principal
├── README.md # Documentação
├── Dockerfile # Dockerfile para container
├── docker-compose.yml # Compose para múltiplos containers
├── requirements.txt # Dependências Python
├── .env # Variáveis de ambiente
└── logs/ # Diretório para logs
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.