server/core/main.py). Every tool is declared: its profile, whether it reads
or writes, and what it may touch are part of the declaration, not of the code
that answers the call.
This page describes the surface and documents the tools you will reach first.
It is not a listing of all 147 tools: the tool catalog a host receives at
tools/list is generated from the server itself, and that catalog is the
reference which cannot fall behind. Every tool named on this page is checked
against the server registry by a conformance test.1. Three profiles, one surface
A host does not see all 147 tools. It sees the profiles its session is entitled to, and nothing else.
A tool that writes cannot be declared
insights — the server refuses to
assemble a surface where one is. 52 tools are declared confirmed write:
each is refused before it runs unless a person is verifiably present at the host.
Some of those additionally consume a single-use confirmation issued by a
preceding prepare_* call, so the act and its authorisation cannot be the same
request.
2. Reading what the platform already holds
get_daily_report
Canonical daily marketing metrics for a project, across every active connector.
get_report
Runs a saved report definition and returns its rows.
list_reports, get_report_versions and run_report_version cover the rest of
the report lifecycle. A report version names the query intent and the default
presentation; running it produces a new immutable Result.
get_data_quality_report
The state of the ten data-quality monitors for a project, or for one connector.
get_source_capabilities
What one connected source can actually deliver: fields, supported grains, filter
bounds.
3. Asking a new question: the analytical path
toorow has one governed analytical path, and these tools are its steps. Query intent becomes an immutable Result; a Result may become a Render; Renders may be composed into a Dossier; a Dossier version or a single Render may be handed out through a revocable Share. See Renders, Dossiers and Sharing.explore_analyze_query
States a question against a Semantic View — governed measures, governed
dimensions, a grain and a window — and executes it.
discover_analyze_matches and list_analyze_facets are the read-only tools that
let an agent find which Semantic View and which governed names to ask for,
before it asks.
execute_analyze_query_spec
Re-executes an existing Query Spec version. Same question, new data.
analyze_result
Opens an existing Result — its data, its definitions, its quality, its
provenance, its freshness, and its reasoning path (or an explicit No AI path).
render_analyze_result
Turns a Result into a presentation, either from a saved Visualization Spec
version or from a Chart Template version.
compose_dossier
Keeps what the model drew and wrote. Each figure is frozen server-side into an
immutable Render, and the narrative blocks are stamped with their author — the
model, or a person — in the same transaction as the Dossier version.
4. Governed flows and configuration
flows_list
Lists datastreams and report configurations for a project.
flows_get
Retrieves one datastream or report definition.
flows_upsert
Creates or updates a datastream configuration. flows_validate checks a
definition without writing it.
5. Connectors: installed, verified, activated
There is no per-connector tool. A connector is not a tool surface — it is a source the platform knows how to pull. Three read tools answer the three questions a host actually asks, andlist_connectors enumerates the catalog.
get_connector_installation_status
Is this connector present in the running server?
get_connector_verification_status
Has this connector been proved against a real account?
get_connector_activation_status
Is this connector connected and pulling for this organization?
6. Context, insights and feedback
get_context_hub
The registered context of a project: what happened, when, and who recorded it.
add_context_event records one. correct_context_event appends a correction
and preserves the original wording — a correction never overwrites.
withdraw_context_event withdraws one, auditably, and a withdrawal is not
undone. search_context and get_context_adherence read.
preview_daily_insight / publish_daily_insights
Composes the daily narrative, then publishes it.
get_daily_insight_readiness says whether there is anything to publish, and
retract_daily_insight withdraws a published one as an audited transition —
never as a deletion.
submit_feedback
Records a rating and commentary against a trace, a report or a connector.
submit_analyze_feedback is the equivalent on the analytical path: it attaches
the rating to the exact observation the reader was looking at.
Next Steps & Cross-References
Renders, Dossiers and Sharing
How an answer becomes a frozen figure, a document, and a revocable link.
Agent Rules
Review system instructions and constraints for tool execution.
MCP App Use Cases
Explore interactive MCP App UI widgets powered by tool outputs.
Host Integration
Connect Claude, ChatGPT or another MCP host to your workspace.

