list_reports
Use this when the user wants to see their saved Cloud Analytics reports or browse available reports. Returns pages of up to 40 reports with IDs and metadata, newest creation first. rowCount counts this page; pageToken retrieves the next page and is null at the end. Empty results return an error. ...
This record as markdown: /tools/doit/list-reports.md
What list_reports does on Doit
AI agents call list_reports to retrieve information from Doit without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | — | Partial name filter (case-insensitive). Returns only reports whose name contains this string. |
filter | string | — | Filter string in format 'key:value|key:value'. Different keys are combined with AND; each key can be used once. Supported keys: reportName (exact, case-sensitiv |
pageToken | string | — | Token for pagination, from a previous response; returns the next page of results. |
Parameters from the server's own tool schema.
Why list_reports is rated Low
Even though list_reports only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.
Attacks that exploit this kind of access
The rule that runs list_reports safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Doit, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For list_reports, this is the rule to start with:
list_reports is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Doit, apply this rule, and every list_reports call is checked against it from then on.
Questions about list_reports
Use this when the user wants to see their saved Cloud Analytics reports or browse available reports. Returns pages of up to 40 reports with IDs and metadata, newest creation first. rowCount counts this page; pageToken retrieves the next page and is null at the end. Empty results return an error. Supports server-side, case-insensitive partial name filtering through name. Do NOT use this for running queries (use run_query) or getting report results (use get_report_results). It is categorised as a Read tool in the Doit MCP Server, which means it retrieves data without modifying state.
list_reports accepts 3 parameters: name, filter, pageToken. The full parameter table on this page comes from the server's own tool schema.
Register the Doit MCP server in PolicyLayer and add a rule for list_reports: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Doit. Nothing to install.
list_reports is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the list_reports rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for list_reports. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
list_reports is provided by the Doit MCP server (@doitintl/doit-mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Doit, and thousands of servers like it.
This server
Across the catalogue