49 lines
1.4 KiB
Markdown
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.
|