astroflora-core

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

  1. 🔧 Herramientas Atómicas Científicas

    • blast_search: Búsqueda de homología con BLAST
    • uniprot_annotations: Anotaciones funcionales de UniProt
    • sequence_features: Análisis computacional de secuencias
    • llm_analysis: Análisis con inteligencia artificial
  2. 🤖 Gateway Agéntico

    • Gestión inteligente de herramientas
    • Recomendación contextual de análisis
    • Métricas y health checks comprehensivos
    • Compatibilidad con MCP Protocol
  3. ⚙️ 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 disponibles
  • GET /tools/{tool_name}/schema - Schema de parámetros
  • POST /tools/invoke - Invoca herramienta específica
  • POST /tools/recommend - Recomendación contextual

Análisis Científico

  • POST /analyze/sequence - Análisis integrado de secuencia
  • GET /capabilities - Capacidades del sistema
  • GET /metrics - Métricas operacionales

Sistema

  • GET /health - Health check comprehensivo
  • GET / - Información del servidor
  • GET /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

  1. Fork el repositorio
  2. Crear branch feature (git checkout -b feature/nueva-funcionalidad)
  3. Commit cambios (git commit -am 'Agregar nueva funcionalidad')
  4. Push al branch (git push origin feature/nueva-funcionalidad)
  5. Crear Pull Request

📄 Licencia

Este proyecto está bajo la licencia MIT. Ver LICENSE para más detalles.

🔗 Enlaces Relacionados

📞 Soporte

Para soporte técnico y preguntas:

  • 📧 Crear issue en GitHub
  • 📖 Consultar documentación en /docs
  • 🧪 Ejecutar test_migration.py para 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 🧬