Skip to main content
Glama
nesar-ai-assistant

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 in tools/hydro_tools.py; der zentrale SEPIA-Wrapper ist in tools/emulator.py.

  • mcp_server/ ist ein generischer Wrapper mit etwa 70 Zeilen. Er liest eine Konfigurationszeile aus pyproject.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: copamind-mcp

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 guide

Parameter

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

list_observables()

listet alle 11 emulierten Observablen mit Metadaten auf

describe_parameters()

den 7-Parameter-Designraum mit Bereichen

predict_observable(...)

sagt jede Observabl bei z=0 voraus, schreibt CSV

predict_observable_redshift(...)

sagt bei beliebigem z voraus (interpoliert)

plot_observable_comparison(...)

Zweifeld-Abbildung: Observabl + Verhältnis

Zwei Konventionen, die es wert sind, in jeden Wissenschafts-MCP-Server übernommen zu werden:

  1. Jedes Werkzeug gibt {status, files, message, metadata} zurück (ArtifactResult).

  2. 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 observable

Ohne 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 8000

Clients 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 Validation

Pk Sensitivity

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 Wissenschaftsfunktionen

  • pyproject.toml [tool.mcp-server]-Konfiguration verbindet sie

  • Alle SEPIA-Importe sind lazy (innerhalb von Funktionen, nicht auf Modulebene)

  • Modelle werden beim ersten Gebrauch geladen und für spätere Aufrufe zwischengespeichert

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables interaction with the CopaMind platform via MCP, exposing read-only and write tools for querying match predictions, Monte Carlo simulations, team rankings, and RAG-based explanations, all while maintaining full traceability and reproducibility.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Exposes 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.
    MIT

View all related MCP servers

Related MCP Connectors

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

  • Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nesar-ai-assistant/hydroemu-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server