CourtReserve MCP by usefulapi
Read club members, court availability, reservations, events, attendance and revenue reports.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
LIGO/Virgo/KAGRA gravitational-wave alerts (GraceDB), open data (GWOSC) and GCN follow-up.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
GRACEDB_FORCE_NOAUTH, GRACEDB_SERVICE_URL, GRACEDB_MCP_DATA_DIRต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"gracedb": {
"command": "uvx",
"args": [
"gracedb-mcp"
],
"env": {
"GRACEDB_FORCE_NOAUTH": "ใส่ค่าของคุณ",
"GRACEDB_SERVICE_URL": "ใส่ค่าของคุณ",
"GRACEDB_MCP_DATA_DIR": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add gracedb --env GRACEDB_FORCE_NOAUTH='ใส่ค่าของคุณ' --env GRACEDB_SERVICE_URL='ใส่ค่าของคุณ' --env GRACEDB_MCP_DATA_DIR='ใส่ค่าของคุณ' -- uvx gracedb-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"gracedb": {
"command": "uvx",
"args": [
"gracedb-mcp"
],
"env": {
"GRACEDB_FORCE_NOAUTH": "ใส่ค่าของคุณ",
"GRACEDB_SERVICE_URL": "ใส่ค่าของคุณ",
"GRACEDB_MCP_DATA_DIR": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"gracedb": {
"type": "stdio",
"command": "uvx",
"args": [
"gracedb-mcp"
],
"env": {
"GRACEDB_FORCE_NOAUTH": "ใส่ค่าของคุณ",
"GRACEDB_SERVICE_URL": "ใส่ค่าของคุณ",
"GRACEDB_MCP_DATA_DIR": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
GRACEDB_FORCE_NOAUTH envGRACEDB_SERVICE_URL envGRACEDB_MCP_DATA_DIR envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub izabelamaria24 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.4.0) เข้า registry 5 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv), Docker ในเครื่องด้วย
ในหมวดเดียวกันมี CourtReserve MCP by usefulapi, Census MCP by usefulapi, INDEC Argentina (no oficial)
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Read club members, court availability, reservations, events, attendance and revenue reports.
List reverse-ETL sources, destinations, models, syncs and runs; trigger syncs into SaaS tools.
Argentina's official statistics (INDEC): inflation, wages, poverty, trade, population. No signup.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An open-source Model Context Protocol (MCP) server that exposes LIGO/Virgo/KAGRA gravitational-wave alerts from GraceDB to LLM agents. It bridges the official ligo-gracedb client with the MCP standard so an agent can query, classify, and fetch data for gravitational-wave candidate events.
Intended as the data-ingestion layer for a downstream signal-processing / anomaly-detection pipeline (e.g. isolating astrophysical "chirps" from instrumental glitches).
| Tool | What it does |
|---|---|
search_superevents | Search recent superevents by time window and significance (FAR / astrophysical probability). |
get_event_metadata | Full superevent record + source classification (BBH / BNS / NSBH / Terrestrial). |
download_event_files | Download GraceDB artifacts: skymaps, p_astro.json, PE results, logs. |
download_strain_data | Fetch public strain time series from GWOSC around the event GPS time. |
utc_to_gps | Convert an ISO-8601 UTC timestamp to GPS seconds. |
search_catalog_events | Search published GWOSC catalogue events (GWTC-1 to GWTC-5) by masses, distance, SNR, p_astro. |
get_catalog_event | Source parameters with 90% intervals for one event, by GW name or GraceDB id. |
get_event_labels | GraceDB labels (data quality, review, retraction, products ready) explained in plain English. |
audit_alerts | The alerts of a period in one call: superevents, significant and low-significance alerts, retractions with hours to retraction, alerts by detector network and pipeline. |
check_data_availability | Which detectors have public GWOSC strain for an event or GPS span, before you download. |
check_data_quality | Per detector: which data-quality vetoes (CBC, Burst, CW, stochastic) the data passes, and any hardware injections. |
list_observing_runs | Released observing runs with dates, detectors and DOIs; which run (if any) covers a given time. |
analyze_skymap | 50%/90% credible areas, distance and peak position from a sky map; probability that given positions (galaxies, transients) or telescope fields contain the source. |
search_gcn_circulars | NASA GCN Circulars: what telescopes, satellites and neutrino detectors reported about an event (GW, GRB, IceCube...), or any Lucene query with date filters. |
get_gcn_circular | Full text of one GCN Circular, with links to cite it via ADS. |
Every file the server downloads (up to 50 MB) is also an MCP resource, so an agent can read it without filesystem access, which is useful when the server runs in Docker or on another machine:
gracedb://files/S190814bv/p_astro.json (application/json)
gracedb://files/S190814bv/bayestar.png (image/png) gracedb://files/GW150914/strain/H1-1126259458-8.hdf5 (application/x-hdf5)
The download tools return these URIs, clients are notified when new files appear, and files already in the data directory are listed at startup. Larger files, such as full parameter-estimation posteriors, stay on disk only.
Ready-made workflows that chain the tools. Most clients show them as slash commands.
| Prompt | Arguments | What you get |
|---|---|---|
alert_briefing | hours (24), max_far (3.8e-7 Hz, about one false alarm per month), category (Production, or MDC for the simulated alerts GraceDB creates about hourly) | New alerts triaged: retractions and data-quality flags first, then class, significance and sky map. |
event_dossier | event (S190814bv or GW190814), audience (scientist, student, public) | One event end to end: significance, review history, alert vs. final parameters, sky map, public data. |
alert_vs_catalog | event, or catalog + max_events (15) | How well the low-latency classification matched the final published masses. |
alert_audit | start, end (now), category | A period's alerts: how many, how many retracted, why (from the LVK retraction circulars) and how fast, plus the detectors and pipelines involved. |
Agent skills cover workflows that need more than this server, such as running Python locally. They live in skills/ and are not part of the PyPI package. To use one, copy its folder to your agent's skills directory:
~/.claude/skills/.github/skills/ in a project, or ~/.copilot/skills/cp -r skills/gw-open-data-analysis ~/.claude/skills/
| Skill | What it does |
|---|---|
gw-open-data-analysis | From an event name to plots: checks which detectors have open data, downloads the strain and whitens it. It then plots each detector's Q-transform (the chirp), the whitened strain and the noise spectrum. It also matched-filters the data with a waveform for the catalogue masses, which reproduces the published SNRs to within a few percent. It reports what is and is not seen. A targeted search takes a gamma-ray burst or neutrino alert from GCN and searches the data around it for a neutron-star merger, giving a false-alarm probability from about 3,400 background windows (time slides); it recovers GW170817 from GRB 170817A's time alone, at probability 0.0003. Needs local Python with gwpy, plus lalsuite for the matched filter and targeted search. |
GraceDB does not host raw strain data. It stores *event artifacts* (skymaps, classifications, parameter-estimation results). The public strain time series lives at [GWOSC](https://gwosc.org) and is fetched by GPS time via gwpy. Public strain is only available for released observing runs — fresh low-latency alerts will not have public strain yet. download_strain_data reflects this: it reads t_0 from GraceDB, then pulls open data from GWOSC (and cleanly reports when data isn't public).
mcp, ligo-gracedb, gwosc, python-dotenvgwpy (for download_strain_data) — installed via the strain extra.Run straight from PyPI with uv:
uvx --from "gracedb-mcp[strain]" gracedb-mcp
Or from source:
git clone https://github.com/izabelamaria24/gracedb-mcp.git
cd gracedb-mcp python -m venv .venv && source .venv/bin/activate pip install -e ".[strain]" # omit [strain] if you don't need strain download
Copy .env.example to .env and adjust. Anonymous access is enough for public superevents:
cp .env.example .env
| Variable | Purpose |
|---|---|
GRACEDB_SERVICE_URL | API base URL (production or playground). |
GRACEDB_FORCE_NOAUTH | true for anonymous public access. |
GRACEDB_PROXY / GRACEDB_CERT + GRACEDB_KEY | LVK member authentication (X.509). |
GRACEDB_MCP_DATA_DIR | Where downloaded files are written (default ~/.cache/gracedb-mcp; /data in Docker). |
gracedb-mcp # speaks MCP JSON-RPC over stdio
Requires Python 3.11+ (the mcp 2.x SDK needs 3.10+).
pip install -e ".[dev]"
pytest -q # tests mock the GraceDB client, no network needed
A prebuilt image (linux/amd64 and arm64) is published to GHCR:
docker run --rm -i -v gracedb-data:/data ghcr.io/izabelamaria24/gracedb-mcp:latest
| Tag | Download | Contents |
|---|---|---|
latest, X.Y.Z | ~165 MB | Everything, including strain download (gwpy). |
latest-slim, X.Y.Z-slim | ~60 MB | All tools except download_strain_data. |
Or build it yourself (add --build-arg EXTRAS= for the slim variant):
docker build -t gracedb-mcp .
docker run --rm -i -v gracedb-data:/data gracedb-mcp
mcp.json)Add to your MCP client configuration:
{
"mcpServers": { "gracedb": { "command": "gracedb-mcp", "env": { "GRACEDB_FORCE_NOAUTH": "true", "GRACEDB_MCP_DATA_DIR": "./data" } } } }
Or run the container directly:
{
"mcpServers": { "gracedb": { "command": "docker", "args": ["run", "--rm", "-i", "-v", "gracedb-data:/data", "ghcr.io/izabelamaria24/gracedb-mcp:latest"] } } }
A real session (tool results trimmed to the key fields).
You: Tell me about S190814bv. Was it real, what was it, and can I get its data?
| Tool call | Result |
|---|---|
get_event_metadata("S190814bv") | FAR 2.0e-33 Hz; alert classification NSBH 0.998, MassGap 0.002; 63 files |
get_event_labels("S190814bv") | DQOK, SKYMAP_READY, PASTRO_READY, ADVOK (human advocate approved), PE_READY; not retracted |
download_event_files("S190814bv", ["bayestar.png"]) | gracedb://files/S190814bv/bayestar.png (sky map, viewable as an image) |
get_catalog_event("S190814bv") | GW190814 in GWTC-2.1: 23.3 (21.9–24.7) and 2.6 (2.5–2.7) solar masses, 230 (180–270) Mpc, SNR 25.3 |
check_data_availability(event="S190814bv") | Public strain from H1, L1 and Virgo (H1 only via the event's own file) |
download_strain_data("S190814bv", ["H1", "L1", "V1"], duration=30) | gracedb://files/S190814bv/strain/L1-1249852242-30.hdf5, and the same for H1 and V1 |
Agent: Yes, it's real and extremely significant (false-alarm rate about 2×10⁻³³ Hz). It
passed data-quality checks, a human advocate approved it, and it was never retracted. The
alert called it a neutron star–black hole merger (99.8%). The final analysis (GW190814)
found a 23-solar-mass black hole and a 2.6-solar-mass companion, which is too heavy for
most neutron-star models and too light for known black holes, so its nature is still open.
It was 230 Mpc away. Here's the sky map, and I've saved 30 s of data from both LIGO
detectors and Virgo around the merger.
gw_rl is a Gymnasium environment built on strain fetched by this server. Each episode shows the agent a 1 s spectrogram and it answers noise, chirp or glitch (+1 correct, -1 wrong).
Real chirps are scarce, so training injects synthetic chirps into real detector noise; the real catalogue events are kept for evaluation. Chirps are IMRPhenomD waveforms from LALSimulation (--chirp imr, default) or a simple analytic sweep (--chirp toy). Glitches are real LIGO glitches labelled by Gravity Spy (--glitch real, default) or sine-Gaussian bursts (--glitch synthetic).
It is not part of the PyPI package; run it from a clone of this repository (ne
ตัดมาแค่ช่วงต้น อ่านต่อใน repo