# Coral

> A self-hosted multi-agent AI assistant for NOAA ocean data, model code, and HPC workflows — powered by Ollama and MCP

- **Type:** MCP server
- **Install:** `agentstack add mcp-mansurjisan-coral`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [mansurjisan](https://agentstack.voostack.com/s/mansurjisan)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [mansurjisan](https://github.com/mansurjisan)
- **Source:** https://github.com/mansurjisan/coral

## Install

```sh
agentstack add mcp-mansurjisan-coral
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

🪸 CORAL — Coastal Ocean Research AI Layer

  A self-hosted AI agent for NOAA HPC that connects local LLMs to ocean data,scientific documentation, and HPC workflows entirely within NOAA's network.

  
  
  
  
  

## What It Does

- **Ocean data & analysis** — Real-time water levels, hurricane tracks, storm surge forecasts, satellite data via [ocean-mcp](https://github.com/mansurjisan/ocean-mcp), plus Python code execution for plotting and analysis
- **Code & documentation** — RAG search over SCHISM/ADCIRC source code, NOAA tech memos, namelists, and NOS workflow configs
- **HPC workflows** — Slurm and PBS job diagnostics, ecFlow suite monitoring, UFS-Coastal experiment management, disk quotas, FairShare, threshold alerting
- **Persistent & portable** — Memory across sessions, CLI with slash commands, web UI, deployed on NOAA Ursa and TACC Vista

All self-hosted on Ollama with open-weight LLMs. No external APIs, no cloud dependencies.

## Quick Start

```bash
git clone https://github.com/mansurjisan/coral.git
cd coral
pip install -e .
ollama pull qwen3:32b
coral chat --model qwen3:32b --mode multi
```

For HPC deployment, see [NOAA Ursa setup](docs/setup_ursa.md) or [TACC Vista setup](docs/setup_vista.md).

## Supported Models

CORAL works with any model available in [Ollama](https://ollama.com/library). Pull the model and pass it with `--model`:

```bash
ollama pull gemma4
coral chat --model gemma4 --mode multi
```

You can also switch models mid-session using the `@` prefix:

```
You: @gemma4 What is the current water level at The Battery?
```

| Model | Size | Notes |
|-------|------|-------|
| `qwen3:32b` | 20 GB | Default, strong tool calling |
| `gemma4` | 10 GB | Google's latest, good reasoning |
| `llama3.3:70b` | 40 GB | Largest open model, needs >48 GB VRAM |
| `qwen3:8b` | 5 GB | Lightweight, fast, good for testing |

## MCP Servers

CORAL connects to **22 MCP servers** providing 150+ tools across three categories:

- **Ocean data** (12 servers) — CO-OPS, NHC, STOFS, ERDDAP, OFS, GOES, USGS, NDBC, WW3, ADCIRC, SCHISM, Hurricane Recon via [ocean-mcp](https://github.com/mansurjisan/ocean-mcp)
- **HPC & workflow** (6 servers) — Slurm, PBS (WCOSS2), ecFlow, UFS experiment runner, HPC system admin, NOS workflow configs
- **Local tools** (4 servers) — NetCDF queries, RAG documentation search, Python execution (sandboxed), threshold alerting

## CLI Features

```
╭──────────────────────── CORAL v0.1.0 ────────────────────────╮
│  🪸 Model  qwen3:32b  │  Tools  150  │  Mode  multi-agent   │
│  🖥️  User   mansurjisan  │  Host   login2.vista.tacc.utexas.edu │
│  🧠 3 memories loaded                                        │
╰──── Coastal Ocean Research AI Layer · /help for commands ────╯
```

| Command | Description |
|---------|-------------|
| `/help` | Show all commands |
| `/tools` | Tool count per section (DATA/CODE/WORKFLOW) |
| `/status` | Quick dashboard: Ollama health, running jobs, disk usage |
| `/memory` | Show saved memories |
| `/remember` | Save a preference (e.g. `/remember account = coastal`) |
| `/forget` | Remove a memory |
| `/save` | Export conversation to markdown |
| `/report` | Auto-generate HPC status report |
| `/techmemo` | Auto-generate NOAA tech memo draft |
| `/alert` | Set threshold alert (e.g. `/alert 8518750 > 1.5`) |
| `/watch` | Monitor a job (e.g. `/watch 9848988`) |
| `/branch` | Save conversation, start fresh |
| `/audit` | Show tool call history and stats |
| `/clear` | Clear conversation history |
| `@model` | Override model for one query (e.g. `@qwen3:8b What is SCHISM?`) |

## Audit & Policy

- **Audit logging** — Every query and tool call recorded with timestamps, routing decisions, tool timing, confidence scores, and sandbox usage
- **Policy manifest** (`src/coral/policy_manifest.json`) — Defines which MCP servers each agent section can access, trust classes, and per-environment sandbox requirements
- **Sandbox enforcement** — Set `CORAL_REQUIRE_SANDBOX=1` to block host-side Python execution
- **Tool caching** — 5-minute TTL cache for read-only tools (HPC status, configs)
- **Retry with backoff** — Automatic retry on transient Ollama connection failures

## Related

- [ocean-mcp](https://github.com/mansurjisan/ocean-mcp) — MCP servers for NOAA ocean data (18 servers)
- [nos-workflow](https://github.com/mansurjisan/nos-workflow) — NOS Unified Operational Forecast System workflow
- [Ollama](https://ollama.com) — Local LLM inference
- [Model Context Protocol](https://modelcontextprotocol.io) — Tool integration standard

## Citation

If you use CORAL in your research or operations, please cite:

```bibtex
@software{jisan2025coral,
  author = {Jisan, Mansur},
  title = {CORAL: Coastal Ocean Research AI Layer},
  year = {2025},
  url = {https://github.com/mansurjisan/coral},
  note = {A self-hosted AI agent connecting local LLMs to NOAA ocean data via MCP}
}
```

## Author

**Mansur Jisan** — NOAA National Ocean Service

## License

Apache 2.0

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [mansurjisan](https://github.com/mansurjisan)
- **Source:** [mansurjisan/coral](https://github.com/mansurjisan/coral)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-mansurjisan-coral
- Seller: https://agentstack.voostack.com/s/mansurjisan
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
