Galaxy Cluster Catalogs MCP Server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
clusters-mcp-server
Galaxy Cluster Catalogs MCP Server. An MCP server for public SZ and X-ray galaxy-cluster catalogues:
Planck PSZ2
SPT-SZ 2500d (Bocquet+19), SPTpol 100d, SPT-ECS and SPT-3G Main 5yr
ACT DR6
eROSITA eRASS1, primary and cosmology samples
Each catalogue downloads on demand and is harmonised to one schema.
Tools. The server includes tools to:
plot the multi-survey M500–z plane and Mollweide sky maps
build N(z) and N(>M) counts
crossmatch catalogues by angle and redshift, and compare mass calibrations
predict LCDM cluster counts with a Tinker+08 HMF × Eisenstein–Hu P(k), pure numpy/scipy, dispatchable to HPC
It is part of the cosmo-*-mcp-server family (port 8014), built from cosmo-mcp-template. See docs/CONVENTIONS.md.
|
|
|
|
Datasets
key | catalogue | N | access | source |
psz2 | Planck PSZ2 union R2.08 | 1653 | bundled (+IRSA) | https://irsa.ipac.caltech.edu/data/Planck/release_2/catalogs/HFI_PCCS_SZ-union_R2.08.fits.gz |
spt_sz | SPT-SZ 2500d, Bocquet+19 masses | 677 | bundled (+pole) | https://pole.uchicago.edu/public/data/sptsz-clusters/2500d_cluster_sample_Bocquet19.fits |
sptpol_100d | SPTpol 100d (Huang+20) | 89 | bundled (+pole) | https://pole.uchicago.edu/public/data/sptsz-clusters/sptpol100d_catalog_huang19.fits |
spt_ecs | SPT-ECS (Bleem+20) | 470 | bundled (+pole) | https://pole.uchicago.edu/public/data/sptsz-clusters/sptecs_catalog_oct919.fits |
spt3g_5yr | SPT-3G Main field 5yr | 8892 | download | https://lambda.gsfc.nasa.gov/data/suborbital/SPT/spt_3gsz/spt3g_main_field_5yr_clusters_070126.fits |
act_dr6 | ACT DR6 SZ clusters (ACT Collab. 2025) | 10040 | download | |
erass1 | eRASS1 primary clusters (Bulbul+24) | 12247 | download | |
erass1_cosmo | eRASS1 cosmology sample (Ghirardini+24) | 5259 | download |
All URLs were verified by download on 2026-11-04.
The eROSITA bare
.fitsURLs return HTTP 403; the.fits.tgzarchives work.The cache lives in
~/.cache/cosmo-mcp/clusters-mcp-server/; override it with$COSMO_MCP_DATA.
Harmonised schema. Every catalogue is written with these columns:
name, ra, dec [deg]
z, z_err
M500 [1e14 Msun, M500c], M500_err_lo, M500_err_hi
snr: the survey-native statistic
survey, dataset
Masses come from each survey's own scaling relation. Run describe_catalog_columns to see which. In particular, Planck PSZ2 MSZ is hydrostatic and sits about 20% low.
Related MCP server: esa-gaia
Tools
tool | what |
| meta |
| download + harmonise + z/mass/SNR cuts → CSV |
| mapping, units, mass conventions, native FITS columns |
| multi-survey M500–z overlay |
| Mollweide map (equatorial/galactic), coloured by survey/z/M500 |
| N(z) and N(>M), raw and per deg² |
| KD-tree angular + Δz/(1+z) one-to-one match → matched CSV + mass ratios |
| M500_b vs M500_a: median ratio ± bootstrap, ln scatter, z trend, bisector slope |
| Tinker+08 × EH98 dN/dz above M for a sky area, obs/pred, Poisson σ8 profile |
| observed N(z) vs LCDM with pulls and σ8 profile |
| HPC dispatch (generic) |
The HMF kernel (tools/lcdm/kernels.py, lcdm.kernels.predict_counts) needs only numpy and scipy:
Accuracy: agrees with
colossusTinker08 +eisenstein98_zbto 1–2% for 3e13–1e15 M☉/h, and to ≤5% at 3e15.Speed: about 0.2 s per prediction.
Skills
clusters-tourmulti-survey-mass-redshiftsz-xray-crossmatchcluster-counts-vs-lcdmhpc-dispatch-handoff
Key numbers (tour, verified)
ACT DR6 × PSZ2 (3′): 386 matches. M_Planck/M_ACT = 0.80 ± 0.02, ln-scatter 0.34. This is the Planck hydrostatic bias, 1−b ≈ 0.8.
SPT-SZ × eRASS1 (2′): 330 matches. M_eRASS1/M_SPT = 0.95 ± 0.01.
SPT-SZ, M500 > 5e14, z > 0.25: LCDM (σ8 = 0.8, Ωm = 0.3) predicts 138 against 105 observed. The Poisson-only best fit is σ8 ≈ 0.78 (Bocquet+19: 0.77).
SPT-3G, M500 > 3e14: 542 predicted, 550 observed.
Install / run
uv venv --python 3.12 .venv && uv pip install --python .venv/bin/python -e ".[dev]"
MPLBACKEND=Agg .venv/bin/python -m pytest -q # includes network tests
.venv/bin/python tests/smoke_server.py
PYTHONPATH=. MPLBACKEND=Agg .venv/bin/python scripts/run_tour.py output/tour
./run_server.sh # stdio; or: .venv/bin/python -m mcp_server --transport http --port 8014Caveats
predict_cluster_counts_lcdmhas no selection function, mass–observable scatter or Eddington bias. It is a sanity check, not a cosmology constraint.Cross-survey masses use different calibrations, with 5–25% offsets between them.
PSZ2 and eRASS1 count deficits relative to LCDM reflect incompleteness and the mass scale; they do not indicate new physics.
This server cannot be deployed
Maintenance
Related MCP Connectors
arXiv, PubMed, Crossref and OpenAlex scholarly metadata.
ESA Gaia MCP — the Gaia star catalogue, queried over the ESA TAP service.
Observational astronomy in one place
VizieR MCP — CDS astronomical catalogue access.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceExposes HACC cosmological hydrodynamic simulation emulators (GSMF, HMF, cluster profiles, P(k) suppression) as MCP tools, allowing LLM agents to predict observables and generate comparison plots.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables querying the ESA Gaia star catalogue (DR3) for astrometric and photometric data via cone searches, source ID lookups, and arbitrary ADQL queries over the TAP service.501 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables fetching and analyzing public Type Ia supernova Hubble diagrams, including covariance-aware binning, plotting, chi-squared evaluation, and flat LCDM/wCDM/w0waCDM fits with contour comparisons and optional HPC dispatch.MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying and analyzing spectroscopic galaxy survey data, including BAO/RSD compilations with cosmological fits and plots, SDSS SkyServer catalog queries and galaxy properties, and GSWLC-A2 catalog access and crossmatching.MIT



