Naragate v0.3.0 — MCP for any agent surface
Naragate v0.3.0 — use it from any agent surface
The headline of this release: Naragate is no longer web-UI-only. The same reality-gap engine now runs through an MCP server, so the exact same experience works on the custom web UI and on Claude Code, Claude Desktop, Cursor, Windsurf, Zed, VS Code, opencode, Codex, or any MCP-capable harness.
🔌 MCP server (new)
- 19 tools exposed over stdio — 9 high-level plus full
skills/*/tools.yamlparity:- High-level:
analyze_narrative,analyze_template,list_templates,get_claim,get_reality_gap,list_history,get_trend_summary,get_policy_precheck,get_usage - Low-level:
sectors_company_report,sectors_subsector_report,sectors_quarterly_financials,sectors_daily_transaction,sectors_news,sectors_corporate_actions,sectors_filings,evidence_cache_get,evidence_cache_merge,llm_complete
- High-level:
- Resources:
naragate://templates,naragate://usage,naragate://history,naragate://claim/{claim_id} - Credit-safe by construction: the MCP server is a thin client over the backend and never calls Sectors directly; a non-web run shares the web UI's Evidence Graph cache (0 extra Sectors calls on a warm cache)
- Parity enforced by tests:
mcp/tests/test_parity.pyasserts every tool declared in anyskills/*/tools.yamlexists on the server - Install:
pip install -e mcp(oruvx naragate-mcp) · config for every harness inmcp/README.md
🧩 Backend
POST /api/v1/analyze— non-streaming counterpart to/stream/evaluate; the single shared entry point for non-web clientsGET /api/v1/templates— the 12 curated narratives as the source of truth for both web tiles and non-web clientsGET/POST/DELETE /api/v1/tools/*— low-level agent primitives (Sectors fetches, Evidence Graph cache, one-shot LLM completion)- Policy detection fix: a policy keyword now wins when the narrative names a member ticker (
HBA … ADRO→ coal,… bijih nikel … INCO→ nickel); unrelated tickers keep the single-ticker path. Added the nickel sector - Policy pre-check is now scoped to the claim's own sector — a coal/nickel result never shows oil-gas names
🧪 Tests
e2e/templates— 13 Playwright tests driving all 12 dashboard templates (SSE mocked): verdict↔band coherence, section-intent, policy section, ticker guardrail (0 credits)e2e/history— read-only live/historycoherence tests, plus an opt-in (RUN_REAL_PIPELINE=1) real-pipeline generator- Backend 347 passed, MCP 17 passed
📚 Docs
- Main README: new "Use Naragate from any MCP agent" section, MCP in the architecture diagram/tech stack/features
skills/andagents/READMEs explaintools.yamland MCP as the portable data layerCONTEXT.md: new MCP Server and Agent Surface domain terms + a no-direct-Sectors rule
⛽ Credits
Non-web surfaces add zero Sectors cost: MCP tools route through the same backend pipeline and cache, and cache-only tools never touch Sectors. Parity/credit-safety are covered by tests.