Mcp Regional Ocean Debugger — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Regional Ocean Debugger (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP server for debugging regional ocean (MOM6 + CESM) model runs.
Combines practical log analysis tools with a searchable knowledge base of expert interview transcripts, giving an LLM agent both the ability to inspect model output files and access to domain-expert guidance.
| Tool | Purpose |
|---|---|
read_run_log(case_dir, component, lines) | Read recent CESM/MOM6 run log lines |
find_errors(case_dir) | Scan all logs for FATAL/NaN/CFL/etc. |
classify_error(error_text) | Match error against known MOM6 failure modes |
check_obc_forcing_status(inputdir) | Check CrocoDash forcing outputs: OBC raw data + ocn/ segment files, IC, WW3 spectra in wav/, CICE forcing in ice/ |
read_mom6_params(case_dir, filter) | Read MOM_input + MOM_override |
diff_params(case_dir_a, case_dir_b) | Compare MOM_input between two cases |
check_cfl(case_dir) | Evaluate CFL stability from MOM_input timestep settings |
suggest_timestep(resolution_deg) | Recommend DT and DT_THERM for a given resolution |
read_diag_table(case_dir) | Parse enabled MOM6 diagnostics |
suggest_diagnostics(symptoms) | Suggest useful diagnostics for a given problem |
query_domain_knowledge(question) | Search expert interview knowledge base |
get_parameter_advice(param_name) | Look up guidance for a specific MOM6 parameter |
read_cesm_timing(case_dir) | Summarise CIME's timing/cesm_timing.* throughput/cost file |
| URI | Content |
|---|---|
ocean://case/{case_dir*}/params | MOM_input + MOM_override as KEY = VALUE (same as read_mom6_params) |
ocean://case/{case_dir*}/errors | Error lines from the latest run's logs (same as find_errors) |
ocean://knowledge/index | Summary of knowledge base contents |
{case_dir*} takes the case path as-is, slashes included, e.g. ocean://case//glade/u/home/<user>/croc_cases/my_case/errors.
Domain knowledge comes from expert interviews on regional MOM6 modelling (private repo: AidanJanney/RegionalOceanModelingInterviews). Topics include: OBC setup, tidal forcing, bathymetry, stability, BGC, grid design, and regional ocean dynamics.
The transcripts are a git submodule in data/transcripts/. After cloning this repo:
git submodule update --init data/transcriptspip install -e .
# with the transcripts submodule:
git submodule update --init data/transcriptsregional-ocean-debugger-mcp
# or
python server.pyAdd to .mcp.json:
{
"mcpServers": {
"ocean-debugger": {
"command": "python",
"args": ["/path/to/MCP_regional_ocean_debugger/server.py"]
}
}
}find_errors → classify_error → query_domain_knowledge in sequence for triageCases: ~/croc_cases/ Run dir: the case's RUNDIR (default $CIME_OUTPUT_ROOT/$CASE/run, read from env_run.xml) MOM_input: RUNDIR/MOM_input or <case_dir>/Buildconf/momconf/MOM_input diag_table: RUNDIR/diag_table or <case_dir>/Buildconf/momconf/diag_table
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.