hydroemu-mcp-server
hydroemu-mcp-server
Ein MCP-Server, der HACC-kosmologische hydrodynamische Simulations-Emulatoren – vortrainierte SEPIA-Gaußprozessmodelle – als Werkzeuge für jeden LLM-Agenten bereitstellt.
Die eine Idee, die dieses Repo vermittelt
Der Wissenschaftscode bleibt in gewöhnlichem Python. Der MCP-Wrapper veröffentlicht ihn nur.
tools/ist ein gewöhnliches Wissenschaftspaket. Es importiert nie MCP. Die Emulator-Werkzeuge befinden sich intools/hydro_tools.py; der zentrale SEPIA-Wrapper ist intools/emulator.py.mcp_server/ist ein generischer Wrapper mit etwa 70 Zeilen. Er liest eine Konfigurationszeile auspyproject.toml, importiert das Wissenschaftspaket und registriert jede Funktion, die in dessen__all__aufgeführt ist, als MCP-Werkzeug.
[tool.mcp-server]
tool_modules = ["tools"]Deine Typannotationen, Pydantic-Field-Einschränkungen und Docstrings werden zum Werkzeugschema, das Agenten sehen. Um deinen eigenen Server zu bauen: Lege deine Module in tools/ ab (oder richte diese eine Konfigurationszeile auf dein eigenes Paket), liste die öffentlichen Funktionen in __all__ auf, fertig.
Related MCP server: MCP Refana Server
Aufbau
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 guideParameter
Insgesamt 7 Parameter (5 Subgrid + 2 Kosmologie):
Parameter | Symbol | Bereich | Einheiten |
AGN-Windkopplung | κ_w | [0.03, 3.0] | — |
AGN-Energieeffizienz | e_w | [0.001, 0.1] | — |
BH-Keimmasse | M_seed | [0.5, 50.0] | 10⁶ M☉ |
Geschwindigkeit des kinetischen Feedbacks | v_kin | [0.1, 1.0] | 10⁴ km/s |
Effizienz des kinetischen Feedbacks | ε_kin | [0.1, 1.0] | 10¹ |
Materiedichte | ω_m | [0.12, 0.155] | — |
Fluktuationsamplitude | σ₈ | [0.7, 0.9] | — |
Design: 110 Simulationen (400 Mpc/h-Boxen) aus einem Latin-Hypercube-Design.
Observablen
Observable | Beschreibung | Snapshots | z-Bereich |
GSMF | Galaxien-Sternmassenfunktion | 11 | 0–2 |
HMF | Halomassenfunktion | 11 | 0–2 |
fGas | Gasanteil von Clustern | 7 | 0–1.0 |
CGD | Dichteprofil des Cluster-Gases | 5 | 0–0.5 |
CGED | Elektronendichteprofil des Cluster-Gases | 5 | 0–0.5 |
CPP | Druckprofil des Cluster-Gases | 5 | 0–0.5 |
CTP | Temperaturprofil des Cluster-Gases | 5 | 0–0.5 |
CEP | Entropieprofil des Cluster-Gases | 5 | 0–0.5 |
CEEP | Elektronenentropieprofil des Clusters | 5 | 0–0.5 |
CMP | Metallizitätsprofil des Cluster-Gases | 5 | 0–0.5 |
CYP | Compton-y-Profil (tSZ) des Clusters | 5 | 0–0.5 |
Werkzeuge
Werkzeug | Funktion |
| listet alle 11 emulierten Observablen mit Metadaten auf |
| den 7-Parameter-Designraum mit Bereichen |
| sagt jede Observabl bei z=0 voraus, schreibt CSV |
| sagt bei beliebigem z voraus (interpoliert) |
| Zweifeld-Abbildung: Observabl + Verhältnis |
Zwei Konventionen, die es wert sind, in jeden Wissenschafts-MCP-Server übernommen zu werden:
Jedes Werkzeug gibt
{status, files, message, metadata}zurück (ArtifactResult).Arrays werden zwischen Werkzeugen als Dateipfade übergeben, niemals durch den Kontextfenster des Agenten.
Installation
conda create -n hydroemu python=3.12 -y
conda activate hydroemu
pip install -e ".[dev]"
pytest # tests pass without SEPIA models (fixture data)Vortrainierte Modelle
Kopiere die trainierten SEPIA-Pickles aus CosmoHydro/models/ in das Verzeichnis models/:
cp -r /path/to/CosmoHydro/models/GSMF_multiz models/
cp -r /path/to/CosmoHydro/models/HMF_multiz models/
# ... etc for each observableOhne Modelle funktionieren list_observables(), describe_parameters() und plot_observable_comparison() weiterhin; nur predict_observable und predict_observable_redshift benötigen die Pickles.
Server ausführen
Streamable HTTP – der Server ist ein sichtbarer Prozess mit einer URL:
python -m mcp_server --transport streamable-http --port 8000Clients verbinden sich mit http://127.0.0.1:8000/mcp. Stoppe den Server mit Ctrl+C (Ctrl+Z setzt ihn nur aus, sodass der Port belegt bleibt – falls das passiert, starte den Server einfach erneut: Er erkennt einen übrig gebliebenen mcp_server, der den Port hält, und räumt ihn automatisch auf).
Um diesen Server von Claude Code, der Claude-Desktop-App, Codex, Cursor oder einem anderen MCP-Client zu verwenden, siehe docs/mcp-clients.md; eine eingecheckte .mcp.json bindet ihn bereits in Claude Code ein.
Architektur
Dieser Server folgt derselben Architektur wie spectra-mcp-server:
Emulator-Diagramme
Siehe die vollständige Galerie für 24 Validierungs-, Sensitivitäts- und Vergleichsdiagramme aus den CosmoHydro-Trainingsnotebooks. Highlights:
|
|
GSMF: Emulator vs. zurückgehaltene Simulationen | P(k)-Unterdrückung: Sensitivität pro Parameter |
Architektur (detailliert)
mcp_server/ist ein generischer Drop-in-MCP-Wrapper (zwischen Repos kopierbar)tools/enthält die domänenspezifischen Wissenschaftsfunktionenpyproject.toml[tool.mcp-server]-Konfiguration verbindet sieAlle SEPIA-Importe sind lazy (innerhalb von Funktionen, nicht auf Modulebene)
Modelle werden beim ersten Gebrauch geladen und für spätere Aufrufe zwischengespeichert
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 gradedqualityCmaintenanceMCP server that exposes cosmology tools to LLM agents, including CLASS matter power spectrum computation, eBOSS DR14 Lyman-α forest data retrieval, and plotting capabilities.2-

