49 lines
1.4 KiB
Markdown

# Media Intelligence
Human-led media intelligence MVP hosted on Arrowstack, exposed through its own MCP.
## MVP scope
- Ingest four open NZ public sources:
- GeoNet earthquake GeoJSON
- NZ Parliament evidence/submissions Atom feed
- Stats NZ information releases
- data.govt.nz CKAN catalogue
- Normalize and hash incoming items.
- Retain source provenance/evidence.
- Surface candidate opportunities using deterministic scoring.
- Human triage via MCP.
- No drafting, journalist database, email distribution, or autonomous publication.
## MCP
Endpoint: `/api/mcp`
Tools:
- `sources_list`
- `sources_status`
- `sources_sync`
- `opportunities_list`
- `opportunity_get`
- `opportunity_mark`
- `evidence_get`
- `evidence_search`
The MCP is a separate application boundary from the Arrowstack control-plane MCP.
## Environment
- `DATABASE_URL` — injected by Arrowstack tenant DB provisioning.
- `PUBLIC_URL` — public origin, e.g. `https://media.arrowstack.dev`.
- `KEYCLOAK_ISSUER` — Keycloak realm issuer.
- `KEYCLOAK_CLIENT_ID` — dedicated MCP OAuth client.
- `AUTH_DISABLED=true` — local/bootstrap only; do not use for public production.
- `WATCH_TERMS` — optional comma-separated relevance terms.
- `OPPORTUNITY_MIN_SCORE` — default 1.
- `SYNC_INTERVAL_MINUTES` — default 15, minimum 5.
## Human gate
The MVP cannot draft or distribute a media release. The only state-changing media action is human triage of an opportunity.