juaness38/astroflora-core
3.1
If you are the rightful owner of astroflora-core and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Astroflora MCP Core Server is a Model Context Protocol server designed for autonomous bioinformatics analysis, optimized for VPS deployment.
Tools
4
Resources
0
Prompts
0
🧬 Astroflora MCP Core Server
Servidor MCP (Model Context Protocol) para análisis bioinformático autónomo. Migrado desde juaness38/app con arquitectura API-First optimizada para despliegue VPS.
🏗️ Arquitectura Migrada
Componentes Principales
-
🔧 Herramientas Atómicas Científicas
blast_search: Búsqueda de homología con BLASTuniprot_annotations: Anotaciones funcionales de UniProtsequence_features: Análisis computacional de secuenciasllm_analysis: Análisis con inteligencia artificial
-
🤖 Gateway Agéntico
- Gestión inteligente de herramientas
- Recomendación contextual de análisis
- Métricas y health checks comprehensivos
- Compatibilidad con MCP Protocol
-
⚙️ Servidor MCP Core
- API REST compatible con MCP
- Endpoints especializados para análisis científico
- Arquitectura API-First para separación frontend/backend
- Optimizado para despliegue VPS
🚀 Modos Operacionales
- Static: Protocolo estático predefinido
- ReAct: Framework de razonamiento y acción
- Hybrid: Combinación inteligente (por defecto)
📦 Instalación
# Clonar repositorio
git clone <repository-url>
cd astroflora-core
# Instalar dependencias
pip install -r requirements.txt
# Configurar variables de entorno
cp .env.example .env
# Editar .env con tu configuración
⚡ Uso Rápido
Iniciar Servidor MCP
# Modo development
python src/main.py
# Modo production
python -m uvicorn src.main:app --host 0.0.0.0 --port 8000
Validar Migración
# Ejecutar tests de migración
python test_migration.py
# Ejecutar ejemplos de uso
python examples/mcp_usage_examples.py
🔬 API Endpoints
Herramientas Atómicas
GET /tools/list- Lista herramientas disponiblesGET /tools/{tool_name}/schema- Schema de parámetrosPOST /tools/invoke- Invoca herramienta específicaPOST /tools/recommend- Recomendación contextual
Análisis Científico
POST /analyze/sequence- Análisis integrado de secuenciaGET /capabilities- Capacidades del sistemaGET /metrics- Métricas operacionales
Sistema
GET /health- Health check comprehensivoGET /- Información del servidorGET /docs- Documentación interactiva
📊 Ejemplo de Uso
import asyncio
from src.services.agentic.agentic_gateway import AgenticToolGateway
async def analyze_protein():
# Inicializar gateway
gateway = AgenticToolGateway()
# Analizar secuencia
result = await gateway.invoke_atomic_tool("sequence_features", {
"sequence": "MKWVTFISLLLLFSSAYSRGVFRRD",
"analysis_type": "detailed"
})
if result.success:
print(f"Análisis exitoso: {result.result}")
# Obtener recomendaciones
context = {
"sequence": "MKWVTFISLLLLFSSAYSRGVFRRD",
"analysis_goal": "function_discovery"
}
recommendations = await gateway.recommend_tools(context)
print(f"Herramientas recomendadas: {recommendations}")
# Ejecutar
asyncio.run(analyze_protein())
🎯 Características Migradas
✅ Desde juaness38/app
- 4 Herramientas Atómicas: Implementación completa
- Gateway Agéntico: Con recomendación contextual
- Sistema de Métricas: Tracking de uso y rendimiento
- Health Checks: Monitoreo comprehensive
- Configuración Avanzada: Timeouts, cache, circuit breakers
- Compatibilidad MCP: Protocolo Model Context Protocol
- Arquitectura API-First: Separación frontend/backend
🆕 Mejoras Implementadas
- Optimización VPS: Configuración para Virtual Private Server
- FastAPI Integration: Servidor HTTP moderno
- Documentación OpenAPI: Auto-generada en
/docs - Logging Estructurado: Sistema de logs comprehensivo
- Tests de Migración: Validación automática
- Ejemplos de Uso: Casos de uso documentados
🔧 Configuración
Variables de Entorno Principales
# Modo operacional
MODE_SELECTION="hybrid" # static|react|hybrid
# Servidor MCP
MCP_SERVER_PORT=8000
LOG_LEVEL="INFO"
# Optimización VPS
VPS_MEMORY_LIMIT_MB=1024
VPS_CPU_CORES=2
CACHE_SIZE_MB=256
# Timeouts y límites
REACT_SESSION_TIMEOUT=1800
MAX_CONCURRENT_REQUESTS=10
TOOL_TIMEOUT_SECONDS=60
Configuración de Herramientas
# src/config/mcp_config_new.py
"blast_search": AtomicToolConfig(
enabled=True,
timeout_seconds=60,
retry_attempts=3,
cache_ttl_seconds=7200
)
📁 Estructura del Proyecto
astroflora-core/
├── src/
│ ├── config/
│ │ ├── settings.py # Configuración principal
│ │ ├── mcp_config.py # Configuración MCP original
│ │ └── mcp_config_new.py # Configuración migrada
│ ├── core/
│ │ └── mcp_server.py # Servidor MCP original
│ ├── models/
│ │ ├── analysis.py # Modelos de datos
│ │ ├── mcp.py # Modelos MCP
│ │ └── tools.py # Modelos de herramientas
│ ├── services/
│ │ ├── agentic/
│ │ │ ├── atomic_tools.py # Herramientas atómicas
│ │ │ └── agentic_gateway.py # Gateway agéntico
│ │ └── interfaces.py # Interfaces de servicios
│ ├── tools/
│ │ └── __init__.py # Registry de herramientas
│ └── main.py # Aplicación principal
├── examples/
│ └── mcp_usage_examples.py # Ejemplos de uso
├── tests/
├── requirements.txt # Dependencias
├── .env.example # Variables de entorno ejemplo
├── test_migration.py # Tests de migración
└── README.md # Esta documentación
🧪 Testing
Tests de Migración
# Ejecutar todos los tests
python test_migration.py
# Tests individuales
python -c "
import asyncio
from test_migration import test_atomic_tools
asyncio.run(test_atomic_tools())
"
Health Checks
# Health check completo
curl http://localhost:8000/health
# Capacidades del sistema
curl http://localhost:8000/capabilities
# Métricas
curl http://localhost:8000/metrics
🚀 Despliegue VPS
Docker (Recomendado)
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY src/ ./src/
COPY .env .
EXPOSE 8000
CMD ["python", "src/main.py"]
Systemd Service
[Unit]
Description=Astroflora MCP Core Server
After=network.target
[Service]
Type=simple
User=astroflora
WorkingDirectory=/opt/astroflora-core
ExecStart=/opt/astroflora-core/venv/bin/python src/main.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
📚 Documentación Adicional
- API Docs:
/docs(Swagger UI) - ReDoc:
/redoc(Documentación alternativa) - Health Check:
/health - Capacidades:
/capabilities
🤝 Contribución
- Fork el repositorio
- Crear branch feature (
git checkout -b feature/nueva-funcionalidad) - Commit cambios (
git commit -am 'Agregar nueva funcionalidad') - Push al branch (
git push origin feature/nueva-funcionalidad) - Crear Pull Request
📄 Licencia
Este proyecto está bajo la licencia MIT. Ver LICENSE para más detalles.
🔗 Enlaces Relacionados
- Repositorio Original: juaness38/app
- MCP Frontend: ASTROFLORA/mcp-server
- Documentación MCP: Model Context Protocol
📞 Soporte
Para soporte técnico y preguntas:
- 📧 Crear issue en GitHub
- 📖 Consultar documentación en
/docs - 🧪 Ejecutar
test_migration.pypara diagnóstico
🏗️ Arquitectura de la Metrópolis
El Puerto Principal: La API MCP
- MCP Tools Server (
/mcp/tools): Registro y ejecución de todas las herramientas científicas - MCP Data Server (
/mcp/data): Gestión de contextos y recursos de datos - Standardized Communication: Comunicación estandarizada entre todos los componentes
El Centro de Control: IntelligentOrchestrator
- Gerente de Proyectos: Distribuye y gestiona tareas
- Protocol Execution: Ejecuta PromptProtocols generados por DriverIA
- Resource Management: Gestiona la capacidad y recursos del sistema
La Ciudadela del Conocimiento: DriverIA y MCP
- El Gran Sabio (DriverIA): Razonamiento científico con LLMs
- La Gran Biblioteca (MCP): Herramientas, recursos y plantillas
- Protocol Generation: Creación de workflows científicos adaptativos
Los Parques Industriales: AnalysisWorkers
- Atomic Tools: Herramientas científicas especializadas
- LLM Workers: Procesamiento con modelos de lenguaje
- Hardware Namespace: Abstracción para dispositivos de laboratorio
El Gran Archivo Histórico: EventStore y ContextManager
- Immutable Audit Trail: Registro completo de todas las operaciones
- Context Management: Estado de análisis en curso
- Auto-Fine-Tuning Ready: Preparado para aprendizaje continuo
🚀 Inicio Rápido
# Clonar y configurar
git clone <repository>
cd astroflora-core
# Configurar entorno
cp .env.example .env
# Editar .env con tus claves API
# Instalar dependencias
pip install -r requirements.txt
# Iniciar servidor MCP
python -m src.main
# El servidor estará disponible en http://localhost:8000
📚 Documentación
🧪 Testing
# Tests unitarios
python -m pytest tests/
# Tests de integración MCP
python scripts/test_mcp_integration.py
🌟 Características Principales
- ✅ Arquitectura MCP Completa: Servidores MCP para tools y data
- ✅ DriverIA Avanzado: Razonamiento científico con LLMs
- ✅ Herramientas Atómicas: BLAST, UniProt, Análisis de secuencias
- ✅ Hardware Simulation: Microscopio, PCR, dispositivos de lab
- ✅ Event Sourcing: Audit trail completo e inmutable
- ✅ Circuit Breakers: Resiliencia ante fallos
- ✅ Auto-Scaling: Gestión dinámica de capacidad
Astroflora Core - El Futuro de la Investigación Científica Autónoma 🧬