Skip to content

Querying the graph

Toise exposes one read model — the current-state projection plus the bi-temporal change log — through three surfaces. They all read the same in-memory projection and event log, so they always report the same world.

  • GraphQL API


    The typed, introspectable query surface for tools, dashboards, and scripts. Relay pagination, bi-temporal queries, live subscriptions.

    GraphQL API

  • MCP for AI assistants


    A native Model Context Protocol server so an AI assistant can query the graph in plain language — over stdio or Streamable HTTP.

    MCP server

  • Debug UI


    A minimal, zero-dependency browser view for operators to eyeball the graph.

    Debug UI

Which one should I use?

If you are… Use
an AI assistant / LLM agent MCP — typed tools, name-bearing results
a script, dashboard, or another service GraphQL — introspectable, paginated
an operator wanting a quick look Debug UI — open a browser, no setup

Toise is a read model for producer truth: graph state enters only through the OTLP ingestion boundary. The one write either surface exposes is annotate_entity (MCP) / annotateEntity (GraphQL) — operator notes kept as an overlay in a per-tenant sidecar, never mixed into the event log. It needs a write-capable token; a read-only token is refused.