Skip to main content
Ana’s tools are organized into groups so you can keep your client’s tool list focused. The defaults (analysis and catalog) are on for every connection; the rest are off by default and enabled per connection.

Tool groups

  • analysis (default) — ask the data analyst agent questions, synchronous and streaming: ana, ana_ask, ana_poll.
  • catalog (default) — discover the connectors you can query: list_connectors.
  • sandcastle — run code and queries in a managed Python sandcastle: create, inspect, and stop sandcastles; run Python in a persistent kernel; load connector data or saved .tql queries from your Ontology into dataframes; run shell commands; read and upload files; and propose Ontology changes as a reviewable patch.
  • ontology — review and govern proposed Ontology changes: list pending patches, read one, and approve, deny, or restore.

Scoping a connection’s tools

Scope a connection’s tools with the ?toolsets= query parameter (or the X-MCP-Toolsets header) — name the groups you want, or use a keyword: all for every group, default for the default-on groups:
https://app.textql.com/mcp?toolsets=analysis,catalog,sandcastle
This lets you expose, say, an analysis-only endpoint to one client and a fuller one to another.

Dynamic mode

Let your assistant load tools on demand with ?dynamic=1:
https://app.textql.com/mcp?dynamic=1
In dynamic mode the connecting client starts with just the four toolset meta-tools — list_available_toolsets, get_toolset_tools, enable_toolset, and disable_toolset — and enables a group only when a task needs it, so your assistant keeps a small, relevant tool list instead of loading everything up front. Dynamic mode needs a client that supports MCP tool-list updates (Claude Code, Cursor, and the MCP Inspector all do). You can combine the two — ?dynamic=1&toolsets=sandcastle pre-enables a group in a dynamic session. In dynamic mode the server also keeps track of your active sandcastle for the session, so you can call execute_python, run_query, and the other sandcastle tools without passing a sandbox_id — one is created automatically the first time you need it, and reused after.