hydroemu-mcp-server
hydroemu-mcp-server
Un servidor MCP que expone emuladores de simulaciones hidrodinámicas cosmológicas HACC — modelos preentrenados de procesos gaussianos SEPIA — como herramientas para cualquier agente LLM.
La única idea que enseña este repositorio
El código científico permanece en Python habitual. El envoltorio MCP solo lo publica.
tools/es un paquete científico ordinario. Nunca importa MCP. Las herramientas del emulador viven entools/hydro_tools.py; el envoltorio central de SEPIA está entools/emulator.py.mcp_server/es un envoltorio genérico de ~70 líneas. Lee una línea de configuración depyproject.toml, importa el paquete científico y registra cada función listada en su__all__como una herramienta MCP.
[tool.mcp-server]
tool_modules = ["tools"]Tus anotaciones de tipo, restricciones de Field de Pydantic y docstrings se convierten en el esquema de herramientas que ven los agentes. Para construir tu propio servidor: coloca tus módulos en tools/ (o apunta esa línea de configuración a tu propio paquete), lista las funciones públicas en __all__, listo.
Related MCP server: MCP Refana Server
Estructura
models/ Pre-trained SEPIA pickles (copy from CosmoHydro/models/)
tools/
emulator.py Core SEPIA wrapper: lazy load, predict, redshift interpolation
hydro_tools.py The 5 MCP tool functions + ArtifactResult contract
__init__.py __all__ — ONLY these names become tools
mcp_server/ Generic drop-in wrapper (FastMCP)
tests/test_tools.py Tools tested as plain Python, no MCP needed
docs/mcp-clients.md Multi-client setup guideParámetros
7 parámetros en total (5 de subred + 2 de cosmología):
Parámetro | Símbolo | Rango | Unidades |
Acoplamiento del viento AGN | κ_w | [0.03, 3.0] | — |
Eficiencia energética AGN | e_w | [0.001, 0.1] | — |
Masa de semilla de BH | M_seed | [0.5, 50.0] | 10⁶ M☉ |
Velocidad de retroalimentación cinética | v_kin | [0.1, 1.0] | 10⁴ km/s |
Eficiencia de retroalimentación cinética | ε_kin | [0.1, 1.0] | 10¹ |
Densidad de materia | ω_m | [0.12, 0.155] | — |
Amplitud de fluctuación | σ₈ | [0.7, 0.9] | — |
Diseño: 110 simulaciones (cajas de 400 Mpc/h) a partir de un diseño de hipercubo latino.
Observables
Observable | Descripción | Instantáneas | Rango z |
GSMF | Función de masa estelar de galaxias | 11 | 0–2 |
HMF | Función de masa de halos | 11 | 0–2 |
fGas | Fracción de gas en cúmulos | 7 | 0–1.0 |
CGD | Perfil de densidad de gas en cúmulos | 5 | 0–0.5 |
CGED | Perfil de densidad electrónica de gas en cúmulos | 5 | 0–0.5 |
CPP | Perfil de presión de gas en cúmulos | 5 | 0–0.5 |
CTP | Perfil de temperatura de gas en cúmulos | 5 | 0–0.5 |
CEP | Perfil de entropía de gas en cúmulos | 5 | 0–0.5 |
CEEP | Perfil de entropía electrónica en cúmulos | 5 | 0–0.5 |
CMP | Perfil de metalicidad de gas en cúmulos | 5 | 0–0.5 |
CYP | Perfil de Compton-y (tSZ) en cúmulos | 5 | 0–0.5 |
Herramientas
herramienta | qué hace |
| lista los 11 observables emulados con metadatos |
| el espacio de diseño de 7 parámetros con rangos |
| predice cualquier observable en z=0, escribe CSV |
| predice en z arbitrario (interpolado) |
| figura de dos paneles: observable + cociente |
Dos convenciones que vale la pena copiar en cualquier servidor MCP científico:
Cada herramienta devuelve
{status, files, message, metadata}(ArtifactResult).Los arreglos se mueven entre herramientas como rutas de archivo, nunca a través de la ventana de contexto del agente.
Instalación
conda create -n hydroemu python=3.12 -y
conda activate hydroemu
pip install -e ".[dev]"
pytest # tests pass without SEPIA models (fixture data)Modelos preentrenados
Copia los pickles de SEPIA entrenados desde CosmoHydro/models/ al directorio models/:
cp -r /path/to/CosmoHydro/models/GSMF_multiz models/
cp -r /path/to/CosmoHydro/models/HMF_multiz models/
# ... etc for each observableSin modelos, list_observables(), describe_parameters() y plot_observable_comparison() siguen funcionando; solo predict_observable y predict_observable_redshift requieren los pickles.
Ejecutar el servidor
HTTP transmisible — el servidor es un proceso visible con una URL:
python -m mcp_server --transport streamable-http --port 8000Los clientes se conectan a http://127.0.0.1:8000/mcp. Detén el servidor con Ctrl+C (Ctrl+Z solo lo suspende, dejando el puerto ocupado — si eso ocurre, simplemente inicia el servidor de nuevo: detecta un mcp_server residual que mantiene el puerto y lo limpia automáticamente).
Para usar este servidor desde Claude Code, la aplicación de escritorio de Claude, Codex, Cursor o cualquier otro cliente MCP — consulta docs/mcp-clients.md; un .mcp.json incluido ya lo conecta a Claude Code.
Arquitectura
Este servidor sigue la misma arquitectura que spectra-mcp-server:
Gráficos del emulador
Consulta la galería completa para ver 24 gráficos de validación, sensibilidad y comparación de los cuadernos de entrenamiento de CosmoHydro. Destacados:
|
|
GSMF: emulador vs simulaciones reservadas | Supresión de P(k): sensibilidad por parámetro |
Arquitectura (detallada)
mcp_server/es un envoltorio MCP genérico y reutilizable (copia entre repositorios)tools/contiene las funciones científicas específicas del dominioLa configuración
[tool.mcp-server]enpyproject.tomllos conectaTodas las importaciones de SEPIA son perezosas (dentro de funciones, no en el ámbito del módulo)
Los modelos se cargan en el primer uso y se almacenan en caché para llamadas posteriores
This server cannot be deployed
Maintenance
Related MCP Connectors
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
MCP-Native LLM Orchestration Agent
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides MCP tools for high-performance computing (HPC) and converged computing, enabling agentic interactions with HPC resources and workflows.6MIT
- FlicenseAqualityDmaintenanceEnables Mu2e analysis workflows by exposing event counting, cut analysis, sensitivity computation, and ML selection as MCP tools for agentic frameworks.10-
- AlicenseAqualityAmaintenanceExposes SwarmLabs physics-informed scientific experiment predictions as MCP tools, enabling agents to run predictions, list engines, and perform parameter sweeps with honesty-first uncertainty reporting.6MIT
- FlicenseNot gradedqualityBmaintenanceMCP server that exposes cosmology tools to LLM agents, including CLASS matter power spectrum computation, eBOSS DR14 Lyman-α forest data retrieval, and plotting capabilities.2-

