Skip to content

insights operations

The exact fields each insights.* operation takes and returns.

Every op is POST /v1/<op> over HTTP and the MCP tool loom_<op>. The identity fields (org, namespace, agent, user_id, session_id) are filled from the token and the MCP session when a transport can; for an HTTP call with no token on a single-user server, the install's org on every op but code.* and tracker.* (which keep their plane's), and on some ops its namespace and agent; see identities and namespaces. The operations index explains role, kind and the MCP all listing. Unknown input fields are served and named in ignored_args.

insights.catalog

List the tables insights.query can read: each column with its type and meaning, how to read the table correctly (one live row per key, or one row per event), and the caps a statement runs under.

POST /v1/insights.catalog · MCP loom_insights_catalog · role viewer · read · not listed under the MCP all toolset

Input field Type Default Meaning
org str required The tenant (first element of the identity tuple).
namespace str required The namespace the op reads or writes.
Output field Type Meaning
tables list[CatalogTable] The tables insights.query reads, with their columns and how to read them.
max_result_rows int The most rows one statement returns; past it the answer is truncated.
max_execution_s float The longest one statement runs before ClickHouse stops it (this replica's cap; during a roll the stored caps profile may differ).
max_rows_to_read int The most rows one statement may read; add a time or key filter past it.

insights.query

Run one read-only SQL SELECT (or WITH) over the tables insights.catalog lists, for questions no other read answers: counts, rankings and trends over memories, conflicts, usage, documents and the…

POST /v1/insights.query · MCP loom_insights_query · role viewer · read · not listed under the MCP all toolset

Input field Type Default Meaning
org str required The tenant (first element of the identity tuple).
namespace str required The namespace the op reads or writes.
sql str required One SELECT or WITH statement over the tables insights.catalog lists; it reads only this namespace's rows.
limit int 100 Rows to return at most (default 100); the deployment's cap (LOOM_CH_ANALYSIS_MAX_RESULT_ROWS) wins when lower.
Output field Type Meaning
columns list[AnalysisColumn] The statement's result columns, each with its ClickHouse type.
rows list[list[Any]] One list per row, in columns order; dates, UUIDs and decimals as strings.
row_count int How many rows rows holds, at most limit.
truncated bool More rows matched than limit; narrow the statement or aggregate.
sql_digest str The digest the request ledger records for sql (sha256:<hex>/<length>), which a citation of the statement is checked against.