Skip to content

Available Tools

Cerebro MCP exposes a large static tool surface spanning discovery, governed metrics, query execution, visualisation, on-chain RPC, multi-phase workflows, and interactive mini-apps — plus a small set of dynamically registered SQL tools. This page is the categorised reference; for step-by-step recipes see the Usage Guide, and for individual workflow walk-throughs see Workflows.

How to discover tools at runtime

From any MCP host: find(query) is the single front door — one call routes a request to the right tools, metrics, and models with a pre-filled next action (see Finding Tools). get_help() returns the top-level navigation; system_status() confirms the server is healthy; list_custom_tools() enumerates the dynamically registered SQL tools.

192 static tools across 8 packages, plus 7 dynamic SQL-templated tools from custom_tools.yaml.

Package Tools Core Advanced
analytics 49 5 44
governance 6 1 5
research 15 0 15
semantic 31 5 26
storyteller 11 0 11
visualization 59 7 52
web3 18 0 18
workflow 3 0 3
Risk class Tools
app_only 29
external_write 1
read_only 135
server_state_write 26
subprocess 1
Feature flag Tools gated
CUSTOM_TOOLS_ENABLED 1
DASHBOARD_BUILDER_ENABLED 2
GRAFANA_TOOLS_ENABLED 5
LEAN_CORE_ENABLED 1
RPC_SCAN_ENABLED 11
SANDBOX_ENABLED 4
SEMANTIC_ENABLED 8
WORKFLOW_RESUME_TOOLS_ENABLED 3

Analytics

The raw data-warehouse surface: dbt model discovery (search_models, discover_models, get_model_details), exact schema inspection (describe_table — call it before writing SQL), and query execution. Use execute_query for synchronous exploration (< 30s) and start_query + get_query_results for long-running queries; save_query / run_saved_query persist and replay SQL by name. This package also carries the metadata helpers (docs search, platform constants, token metadata, address resolution), deterministic networkx lineage (get_upstream_lineage, get_downstream_impact), the DuckDB + Parquet simulation sandbox tools (registered when SANDBOX_ENABLED=true), and the Model Lineage Explorer mini-app.

Agent Knowledge (agent_knowledge.py)

Tool Summary Tier Risk Gate
search_dbt_knowledge Search the dbt repo's engineering knowledge: lesson records for known advanced read_only --
get_dbt_change_context Get the engineering change packet for dbt model(s) BEFORE changing, advanced read_only --

Custom query tools (custom_queries.py)

Tool Summary Tier Risk Gate
list_custom_tools List all available custom parameterized query tools. advanced read_only CUSTOM_TOOLS_ENABLED

Model discovery & lineage (dbt.py)

Tool Summary Tier Risk Gate
search_models Search dbt models by name, description, or tags. advanced read_only --
discover_models Search models AND return full details for top N matches in one call. advanced read_only --
get_model_details Get comprehensive details about a dbt model including SQL, columns, and lineage. core read_only --
get_relevant_columns Return a column-scoped schema block for a dbt model, ranked by advanced read_only --
get_upstream_lineage Return the full transitive set of upstream dependencies for a dbt model. advanced read_only --
get_downstream_impact Return the full transitive set of dbt models that depend on this one. advanced read_only --

Lineage graphs (lineage_graph.py)

Tool Summary Tier Risk Gate
get_model_subgraph Return a bounded model-lineage subgraph as JSON for traversal. advanced read_only --
get_column_lineage Trace column-level lineage for a model column as JSON. advanced read_only --

Unified listing (list_unifier.py)

Tool Summary Tier Risk Gate
list List things of a given kind — one front door for the listing family. advanced read_only --

Metadata & reference (metadata.py)

Tool Summary Tier Risk Gate
list_databases List all available ClickHouse databases with descriptions and table counts. advanced read_only --
quality_metrics Show quality-discipline gate evaluations and discovered-model coverage. advanced read_only --
system_status Show server status: ClickHouse connectivity, manifest state, config. core read_only --
resolve_address Look up an address label or find addresses by name using dune_labels (5.3M entries). advanced read_only --
get_token_metadata Look up token metadata: address, decimals, name, and price data availability. advanced read_only --
search_models_by_address Find dbt models related to a specific smart contract address. advanced read_only --
search_docs Search across all platform documentation and reference resources. advanced read_only --
get_doc_chunk Retrieve full text of a documentation page by its location path. advanced read_only --
get_docs_overview Retrieve the curated docs overview published at llms.txt. advanced read_only --
get_docs_context Retrieve the generated broad docs context artifact. advanced read_only --
get_gnosis_chain_docs_context Retrieve the Gnosis Chain docs llms context artifact. advanced read_only --
get_gnosis_chain_doc_chunk Retrieve a single Gnosis Chain docs section from the llms artifact. advanced read_only --
get_help Overview of all available tools, prompts, and resources in Cerebro MCP. core read_only --
get_platform_constants Returns hardcoded Gnosis Chain platform constants: chain parameters, advanced read_only --

Model Lineage mini-app (model_lineage_app.py)

Tool Summary Tier Risk Gate
open_model_lineage Open the Model Lineage Explorer mini app. advanced read_only --
expand_model_lineage_node Expand the lineage graph by one hop around node_id and merge it in. advanced read_only --
set_model_lineage_filters Re-run the subgraph from the current seed with new filters/layer. advanced read_only --
load_column_lineage Compute column-level lineage and load it into the column drawer. advanced read_only --

Query execution (query.py)

Tool Summary Tier Risk Gate
execute_query Execute a read-only SQL query against a Gnosis Chain ClickHouse database. core read_only --
explain_query Show the execution plan for a SQL query without running it. advanced read_only --

Async queries (query_async.py)

Tool Summary Tier Risk Gate
start_query Submit a long-running query for async execution. Returns a query ID to poll. advanced read_only --
get_query_results Check status and retrieve paginated results of an async query. advanced read_only --

Simulation sandboxes (sandbox.py)

Tool Summary Tier Risk Gate
create_simulation_sandbox Fork ClickHouse data into a private DuckDB sandbox for what-if analysis. advanced read_only SANDBOX_ENABLED
query_sandbox Run any SQL against a sandbox. Reads, UPDATEs, INSERTs, DELETEs allowed. advanced read_only SANDBOX_ENABLED
destroy_sandbox Close and remove a simulation sandbox. Idempotent. advanced read_only SANDBOX_ENABLED
list_sandboxes List active simulation sandboxes (id, table, rows, bytes, idle time). advanced read_only SANDBOX_ENABLED

Saved queries (saved_queries.py)

Tool Summary Tier Risk Gate
save_query Save a query for later reuse. Validates SQL before saving. advanced server_state_write --
list_saved_queries List all saved queries with their names, databases, and descriptions. advanced read_only --
run_saved_query Execute a previously saved query by name. advanced read_only --

Schema & sampling (schema.py)

Tool Summary Tier Risk Gate
list_tables List tables in a ClickHouse database with cursor pagination. advanced read_only --
record_model_exclusion Mark a model surfaced by search_models / discover_models as advanced read_only --
record_model_exclusion_batch Exclude multiple discovered models from the coverage gate in advanced read_only --
exclude_models_by_prefix Exclude every discovered model whose name starts with prefix. advanced read_only --
exclude_module Exclude every discovered model belonging to a dbt module. advanced read_only --
exclude_all_discovered_except Inverse exclusion: keep the named discovered models in scope, advanced read_only --
describe_table Get the column schema for a specific table. core read_only --
get_sample_data Get sample rows from a table to understand data shape and values. advanced read_only --

Semantic

Governed metrics and semantic-layer routing (registered when SEMANTIC_ENABLED=true). Prefer query_metrics over raw SQL whenever an approved metric covers the question — it runs the canonical, pre-validated query (see Semantic Metrics). The find router is the recommended first call for almost any analytical question, and preflight_analytics_request is the hard gate in front of chart/report generation. The package also hosts the Data Catalog (search-first browse over models, metrics, and glossary terms, with Elementary-backed run/test health) and the Graph Explorer mini-app.

Data Catalog (data_catalog.py)

Tool Summary Tier Risk Gate
catalog_search_tool Search the data catalog (models, metrics, glossary) with facets. advanced read_only --
get_catalog_entity_tool Return a structured catalog profile for one entity (model/metric/glossary). advanced read_only --
catalog_sample Return up to limit live sample rows for a model's table. advanced read_only --
catalog_table_stats Row count + on-disk size for a model's physical table (n/a for views). advanced read_only --
catalog_run_state Latest run + recent history for a model (Elementary; feature-flagged). advanced read_only --
catalog_test_results Latest test pass/fail/warn for a model (Elementary; feature-flagged). advanced read_only --
catalog_health Platform freshness / failing-tests health (Elementary; feature-flagged). advanced read_only --
catalog_observability Platform observability dashboard: model-run + test health, needs-attention, advanced read_only --
open_data_catalog Open the Data Catalog mini app. advanced read_only --

Data Tools (data_tools.py)

Tool Summary Tier Risk Gate
search_graph_catalog Search the knowledge-graph catalog (node types, edge profiles). advanced read_only --
explore_neighborhood Bounded multi-hop neighborhood traversal around seed node ids. advanced read_only --
calculate_flow_efficiency Per-node weighted-flow efficiency = outflow / inflow for a profile. advanced read_only --
graph_usage_analytics Adoption analytics for the graph tools (WS12). advanced read_only --

Discovery router (find.py)

Tool Summary Tier Risk Gate
find Single front door: one call routes a request to the right tools, core read_only SEMANTIC_ENABLED

Governed metrics (semantic.py)

Tool Summary Tier Risk Gate
preflight_analytics_request Route an analytics question to the right workflow before charting or reporting. core read_only SEMANTIC_ENABLED
discover_metrics Search the semantic layer for metrics matching a natural-language query. advanced read_only SEMANTIC_ENABLED
get_metric_details Get the full definition of one governed metric: dimensions, grains, lineage, docs. core read_only SEMANTIC_ENABLED
explain_metric_query Show the planner's plan and compiled ClickHouse SQL without executing it. core read_only SEMANTIC_ENABLED
query_metrics Execute governed metrics through the semantic layer and return result rows. core read_only SEMANTIC_ENABLED
reload_semantic_registry Force an immediate refresh of the semantic registry, bypassing advanced read_only SEMANTIC_ENABLED
get_clickhouse_query_rules Return the ClickHouse query-writing rules for raw-SQL fallback work. advanced read_only SEMANTIC_ENABLED

Ui Tools (ui_tools.py)

Tool Summary Tier Risk Gate
open_graph_explorer Open the Graph Explorer mini app. advanced read_only --
load_graph_explorer_seed Load a bounded 1-hop subgraph around seed_node_id (INVESTIGATE mode). advanced read_only --
expand_graph_explorer_node Expand node_id by hops hops across the active profiles. advanced read_only --
update_graph_explorer_focus Mutate selection, controls, and mode under one focus lock. advanced read_only --
load_graph_atlas_preview Load one inspect-only relationship sample without applying it. advanced read_only --
App-internal tools (5) — called by mini-app UIs, not meant for direct use | Tool | Summary | Tier | Risk | Gate | |------|---------|------|------|------| | `load_graph_flows` | Trace fund flows from seed addresses (app-only, Flows mode). | advanced | app_only | -- | | `load_graph_timeline` | Load a fixed-universe, bucketed Money Trail (app-only). | advanced | app_only | -- | | `load_graph_transactions` | Open transactions and return every transfer leg (Transactions mode). | advanced | app_only | -- | | `load_graph_atlas_sample` | [App-only] Load top-weight sample subgraphs for the Atlas mode. | advanced | app_only | -- | | `set_graph_explorer_view` | [App-only] Bulk view-state sync target for the frontend reducer. | advanced | app_only | -- |

Visualization & Reporting

Charts, reports, dashboards, and the mini-app plumbing. generate_charts is the batch chart generator (always ≥ 3 charts in one call — required for reports); generate_chart / quick_chart are for one-off scratch plots; the *_metric_chart* variants are driven by metric names instead of raw SQL. Three report layouts exist: dashboard (generate_report), research essay (generate_research_report), and scrollytelling case study (generate_case_study_report) — see Report Generation and Quality Gates for the enforcement rules. The package also carries the Metric Lab and Portfolio mini-apps, export_report (docx / pdf / pptx), and the Grafana dashboard publishing family (registered when GRAFANA_TOOLS_ENABLED=true).

Charts & reports (charts.py)

Tool Summary Tier Risk Gate
generate_chart Generate a single ad-hoc chart. For reports, use generate_charts instead. core read_only --
quick_chart Generate a quick ad-hoc chart for a one-off plot request. core read_only --
generate_charts Create multiple charts in ONE tool call. core read_only --
quick_metric_chart Generate a one-off semantic chart without writing SQL. core read_only --
generate_metric_charts Create multiple semantic charts in one batch call. core read_only --
list_charts List all charts in the registry with IDs, titles, and types. advanced read_only --
generate_report Create an interactive report rendered as a native UI in the chat client. core server_state_write --
generate_research_report Create a long-form research report in the Anthropic-essay style. advanced read_only --
generate_case_study_report Create a scrollytelling case-study report (marketing / growth pitch style). advanced read_only --
open_report Reopen a previously generated report by its ID. advanced server_state_write --
list_reports List previously generated reports saved on disk. advanced read_only --
export_report Export a report as standalone HTML that can be saved and opened in any browser. advanced server_state_write --

Cow Explorer (cow_explorer.py)

Tool Summary Tier Risk Gate
open_cow_explorer Open the read-only CoW Data Explorer over indexed cow_db data. advanced read_only --

Dashboard builder (dashboard_builder.py)

Tool Summary Tier Risk Gate
discover_dashboard_metrics Discover dbt models suitable for dashboard metrics. advanced read_only DASHBOARD_BUILDER_ENABLED
scaffold_dashboard_tab Scaffold a dashboard tab from a JSON blueprint. advanced subprocess DASHBOARD_BUILDER_ENABLED

Governance Explorer (governance_explorer.py)

Tool Summary Tier Risk Gate
open_governance Open the read-only Governance Explorer over governance_db. advanced read_only --

Grafana publishing (grafana.py)

Tool Summary Tier Risk Gate
preview_grafana_dashboard Return an ASCII sketch of the dashboard layout plus the metric each advanced read_only GRAFANA_TOOLS_ENABLED
validate_grafana_dashboard Validate a dashboard spec without publishing. advanced read_only GRAFANA_TOOLS_ENABLED
verify_grafana_dashboard Run every panel against the live Grafana datasource and report advanced read_only GRAFANA_TOOLS_ENABLED
publish_grafana_dashboard Compile and publish a dashboard to Grafana (idempotent by UID). advanced external_write GRAFANA_TOOLS_ENABLED
get_grafana_dashboard Fetch metadata for a published dashboard by UID. advanced read_only GRAFANA_TOOLS_ENABLED

Metric Lab mini-app (metric_lab.py)

Tool Summary Tier Risk Gate
open_metric_lab Open the interactive Metric Lab app with an empty metric catalog. advanced read_only --
load_metric_lab_metric Load a dbt model (or legacy semantic metric) into an open view. advanced read_only --
open_metric_lab_from_sql Open the interactive Metric Lab app from a raw SQL query. advanced read_only --
open_metric_lab_from_metrics Open the interactive Metric Lab app from a semantic metric request. advanced read_only --
update_metric_lab_chart Patch one chart panel's configuration in an open Metric Lab view. advanced read_only --

Mini-app infrastructure (mini_apps.py)

Tool Summary Tier Risk Gate
load_tools Un-hide advanced tools so they appear in the tool list (lean-core mode). core read_only LEAN_CORE_ENABLED

Portfolio mini-app (portfolio.py)

Tool Summary Tier Risk Gate
open_portfolio Open an empty Portfolio mini app. advanced read_only --
load_portfolio_address Load one address into an existing Portfolio view. advanced read_only --
navigate_portfolio_relation Drill one hop into a related Safe or owner address. advanced read_only --
load_portfolio_section Lazy-load one portfolio section into an existing view. advanced read_only --
update_portfolio_focus Patch client-side section focus and filters. advanced read_only --

Report Studio (report_studio.py)

Tool Summary Tier Risk Gate
open_report_studio Open the Report Studio: browse, preview, and manage generated advanced read_only --
compose_research_report [App-only] Assemble a long-form research essay (Anthropic layout) advanced read_only --
compose_case_study_report [App-only] Assemble a scrollytelling case study from chart records advanced read_only --
App-internal tools (24) — called by mini-app UIs, not meant for direct use | Tool | Summary | Tier | Risk | Gate | |------|---------|------|------|------| | `load_cow_explorer_section` | [App-only] Atomically load one CoW Explorer section. | advanced | app_only | -- | | `search_cow_explorer` | [App-only] Resolve a CoW order, transaction, address, auction, or token. | advanced | app_only | -- | | `load_cow_entity` | [App-only] Load a resolved CoW entity bundle. | advanced | app_only | -- | | `load_cow_explorer_datasets` | [App-only] Load one deferred CoW dataset group (additive). | advanced | app_only | -- | | `load_cow_icon_overlay` | [App-only] Resolve CoinGecko icons for tokens visible in the view. | advanced | app_only | -- | | `load_governance_section` | [App-only] Atomically load one Governance Explorer section. | advanced | app_only | -- | | `load_governance_datasets` | [App-only] Load one deferred governance dataset group (additive). | advanced | app_only | -- | | `search_governance` | [App-only] Resolve a proposal, voter, GIP, topic, or contributor. | advanced | app_only | -- | | `load_governance_entity` | [App-only] Load a resolved governance entity bundle. | advanced | app_only | -- | | `set_metric_lab_charts` | [App-only] Persist the full chart-panel grid for a view. | advanced | app_only | -- | | `run_metric_lab_sql` | [App-only] Re-run (possibly edited) SQL for one attached dataset. | advanced | app_only | -- | | `search_metric_catalog` | [App-only] Search / page the model catalog for the frontend. | advanced | app_only | -- | | `get_metric_catalog_entry` | [App-only] Full detail for one catalog entry (metric or model). | advanced | app_only | -- | | `get_mini_app_rows` | [App-only] Fetch the next page of rows for a mini-app dataset. | advanced | app_only | -- | | `get_mini_app_state` | [App-only] Return the current view state and dataset metadata. | advanced | app_only | -- | | `list_report_archive` | [App-only] Page of the report archive (filename metadata only). | advanced | app_only | -- | | `get_report_archive_entry` | [App-only] Full structured payload of one report (native preview: | advanced | app_only | -- | | `get_report_export_info` | [App-only] Paths/URLs for exporting a report. Conversion itself | advanced | app_only | -- | | `delete_report_archive_entry` | [App-only] Delete a report file — two-step confirm. | advanced | app_only | -- | | `rename_report_archive_entry` | [App-only] Retitle a report: rewrites the embedded report-data | advanced | app_only | -- | | `list_session_charts` | [App-only] Recent chart records (server-wide registry, 2h TTL), | advanced | app_only | -- | | `get_session_chart` | [App-only] One chart record incl. its ECharts option (lazy | advanced | app_only | -- | | `create_studio_chart` | [App-only] Run SQL and register a chart record for the composer. | advanced | app_only | -- | | `compose_report` | [App-only] Assemble a dashboard report from chart records + | advanced | app_only | -- |

Web3

Direct read access to EVM contracts via JSON-RPC. Prefer the single-call tools (contract_explore, contract_call_function, contract_decode_transaction_input, contract_decode_receipt_logs) over dbt for single-address current state — dbt is for sweeps, historical data, USD conversion, and aggregations. The Contract Explorer mini-app wraps the same engine as an interactive surface. For bulk work — sweeping logs, batched view calls, storage slots, bytecode classification, or trace scans across thousands of addresses — the rpc_scan_* / rpc_batch_call family (registered when RPC_SCAN_ENABLED=true) streams results into ClickHouse scratch tables for SQL analysis; see RPC Scans. Archive reads (non-latest blocks) and trace scans require GNOSIS_ARCHIVE_RPC_URL.

Contract Explorer mini-app (contract_explorer.py)

Tool Summary Tier Risk Gate
open_contract_explorer Launch the Contract Explorer — an Etherscan-style read-only contract page. advanced read_only --
load_contract_explorer_address Swap to a different contract inside an open Contract Explorer view. advanced read_only --
contract_explorer_call_function Call one view/pure function on the Contract Explorer's current contract. advanced read_only --

Contract inspection (rpc.py)

Tool Summary Tier Risk Gate
contract_explore Quickly inspect one contract by address — what functions/events it exposes, the proxy implementation, and where the ABI was resolved from. advanced read_only --
contract_call_function Get current on-chain state at one address with one RPC round-trip. advanced read_only --
contract_decode_transaction_input Decode a single transaction's calldata back into function name + arguments using the resolved contract ABI. advanced read_only --
contract_decode_receipt_logs Decode the event logs in a transaction receipt back into event name + args, with ABIs resolved per emitting contract. advanced read_only --

Bulk RPC scans (rpc_scan.py)

Tool Summary Tier Risk Gate
rpc_scan_logs Sweep eth_getLogs over ANY block window into a ClickHouse scratch table. advanced read_only RPC_SCAN_ENABLED
rpc_batch_call Batch view-function reads across thousands of addresses via advanced read_only RPC_SCAN_ENABLED
rpc_read_storage Read raw storage slots (eth_getStorageAt) across an address set at advanced read_only RPC_SCAN_ENABLED
rpc_get_code Classify every address in a set by its bytecode (eth_getCode): advanced read_only RPC_SCAN_ENABLED
rpc_scan_traces Sweep trace_filter for NATIVE xDAI value flows (and internal calls) advanced read_only RPC_SCAN_ENABLED
rpc_trace_transaction Render one transaction's full execution as an indented call tree advanced read_only RPC_SCAN_ENABLED
rpc_find_block Binary-search block finders (O(log N) RPC reads per target). advanced read_only RPC_SCAN_ENABLED
rpc_scan_status Status of an RPC scan job. advanced read_only RPC_SCAN_ENABLED
rpc_scan_cancel Stop a running RPC scan. Partial rows are KEPT in the scratch table advanced read_only RPC_SCAN_ENABLED
rpc_scan_resume Resume a partial/cancelled/restart-orphaned scan from its persisted advanced read_only RPC_SCAN_ENABLED
rpc_list_scans List RPC scan jobs — in-memory ones plus the persisted registry advanced read_only RPC_SCAN_ENABLED

Governance

Verification, reasoning traces, and the agent-persona loader. verify_numbers cross-checks a numerical claim against fresh SQL; get_agent_persona(role) loads one of the 28 persona contracts (the cerebro_dispatcher persona is the front door for non-trivial requests — see Dispatcher). The reasoning tools (set_thinking_mode, log_reasoning, get_reasoning_log, get_performance_stats) manage the 30-day reasoning trace, and the model-exclusion family (record_model_exclusion, exclude_module, …) satisfies the discovered-model-coverage gate that generate_report enforces.

Agent personas (agents.py)

Tool Summary Tier Risk Gate
get_agent_persona Fetch strict operational rules for a specific agent persona. advanced read_only --

Verification (cross_check.py)

Tool Summary Tier Risk Gate
verify_numbers Verify numerical claims before reporting to the user. core read_only --

Reasoning & tracing (reasoning.py)

Tool Summary Tier Risk Gate
set_thinking_mode Enable or disable thinking/reasoning capture mode. advanced server_state_write --
log_reasoning Record a reasoning step for audit and performance analysis. advanced read_only --
get_reasoning_log Retrieve the reasoning trace for a session. advanced read_only --
get_performance_stats Aggregate performance metrics across recent sessions. advanced read_only --

Research Workflow

Multi-phase research projects: plan → execute → verify per phase, with findings, memory notes, evidence bindings, schema snapshots, and a peer-review gate before publish_research_report flips the workflow to complete. Every step appends to the durable event log, so a crashed project resumes where it stopped. See Research Projects for the end-to-end recipe.

Research workflow (research.py)

Tool Summary Tier Risk Gate
start_research_project Create a new durable research project with explicit workflow phases. advanced server_state_write --
get_research_project Return a compact summary of a research project's state. advanced read_only --
plan_research_phase Record a structured plan for the current research phase. advanced server_state_write --
execute_research_phase Advance a research phase after the user/client completes the planned work. advanced server_state_write --
get_research_memory List project memory entries with pagination. advanced read_only --
get_research_evidence List research evidence refs with optional phase filtering. advanced read_only --
get_research_findings List project findings with pagination. advanced read_only --
attach_research_evidence Attach an existing query/chart/report/schema artifact to a research project. advanced server_state_write --
capture_schema_snapshot Persist a schema snapshot and register it as research evidence. advanced server_state_write --
record_research_memory Store a durable research memory entry linked to supporting evidence. advanced server_state_write --
record_research_finding Store a project-specific conclusion backed by evidence references. advanced server_state_write --
verify_research_phase Run structural validation checks before peer review/publication. advanced server_state_write --
prepare_peer_review Build a compact review packet for the research peer-review prompt. advanced server_state_write --
record_peer_review Store the structured result of an adversarial peer review. advanced server_state_write --
publish_research_report Publish a research report after verification and peer review. advanced server_state_write --

Storyteller Workflow

The narrative-first deliverable pipeline (Storytelling with Data): context brief → big idea → storyboard → per-scene visual specs → final story, with clarity and accessibility gates before storyteller_generate_story_report emits the report. Phase order is enforced in a state machine — skipping a gate raises an error. See Storyteller.

Storyteller workflow (storyteller.py)

Tool Summary Tier Risk Gate
storyteller_start_session Begin a new storyteller session. advanced server_state_write --
storyteller_end_session End the current storyteller session and clear all artifacts. advanced server_state_write --
storyteller_status Return a snapshot of the current storyteller session state. advanced read_only --
storyteller_record_context_brief Record the context brief that gates the whole pipeline. advanced server_state_write --
storyteller_record_big_idea Record the single governing takeaway as one declarative sentence. advanced server_state_write --
storyteller_record_storyboard Record the low-fidelity storyboard before any chart is rendered. advanced server_state_write --
storyteller_record_visual_spec Record the design rationale for one storyboard scene's visual. advanced server_state_write --
storyteller_record_final_story Record the assembled final story (title + markdown with chart placeholders). advanced server_state_write --
storyteller_run_clarity_checks Record the clarity review report from the Critic Agent. advanced server_state_write --
storyteller_record_accessibility_pass Record the accessibility and tone review outcome. advanced server_state_write --
storyteller_generate_story_report Render the final story as an interactive report. advanced server_state_write --

Workflow Resume

Crash recovery over the SQLite event log (registered when WORKFLOW_RESUME_TOOLS_ENABLED=true). list_resumable_workflows enumerates running / waiting-gate workflows, and get_workflow_resume_hint / recompute_workflow_resume_hint return a structured "here is where you stopped, do this next" payload. The underlying event store records workflow state regardless of this flag — it only gates the user-facing tools. See Resumable Workflows and Memory & Resume.

Workflow resume (resume.py)

Tool Summary Tier Risk Gate
list_resumable_workflows List workflows currently running or waiting on a gate, with advanced read_only WORKFLOW_RESUME_TOOLS_ENABLED
get_workflow_resume_hint Return the most recent resume hint for a specific workflow. advanced read_only WORKFLOW_RESUME_TOOLS_ENABLED
recompute_workflow_resume_hint Re-run the resume scan for a single workflow and append a new advanced read_only WORKFLOW_RESUME_TOOLS_ENABLED

Dynamic Custom Tools

Beyond the static surface, Cerebro registers SQL-templated tools from a YAML file at startup (the MCP Toolbox pattern). Each entry in custom_tools.yaml declares a tool name, description, typed parameters, a target database, and a parameterised read-only SELECT; the server registers each one as a first-class MCP tool when CUSTOM_TOOLS_ENABLED=true (with CUSTOM_TOOLS_PATH pointing at the file). This is how the bridge-flow, validator-history, and Gnosis Pay helpers ship — curated, pre-divided (wei/Gwei-safe) queries that are cheaper and safer than having the model re-derive the SQL. list_custom_tools() enumerates the set loaded in the current build; dynamic tools are auto-classified read_only in the security registry.

Tool Summary Parameters Database
get_validator_balance_history Get daily balance history for a specific Gnosis Chain validator. -- dbt
get_validator_withdrawals Get withdrawal history for a specific validator on Gnosis Chain. -- dbt
get_token_transfers_for_address Get daily ERC-20 token transfer summary for a specific address (sent and received). -- dbt
get_gpay_wallet_activity Get Gnosis Pay transaction history for a specific wallet address. -- dbt
get_liquidity_providers_by_token Get unique liquidity provider counts for a token across time windows (7D, 30D, 90D, All). -- dbt
get_bridge_flows_by_token Get daily bridge flow volume for a specific token across all bridges on Gnosis Chain. -- dbt
get_deposit_events Get GBC (Gnosis Beacon Chain) deposit events, optionally filtered by withdrawal credentials. -- dbt

Tool-classification rules

Every tool is classified by risk class; the classification drives the audit log and Prometheus counters. See Security & Audit for the full rules.

Risk class Examples
read_only execute_query, search_models, generate_charts, contract_call_function
server_state_write save_query, generate_report, start_research_project, storyteller_record_*
workspace_write scaffold_dashboard_tab
subprocess scaffold_dashboard_tab (runs pnpm build)
external_write publish_grafana_dashboard (writes to an external Grafana instance)
app_only get_mini_app_rows, get_mini_app_state (hidden from agents; frontend-only)