get_widget
Beta. Read precomputed current-month cloud spend and forecast metrics. Widget results are refreshed in the background; reading a widget returns the latest cached result and never starts a synchronous refresh. Use the list operation to discover the complete catalogue. Returns the latest precompute...
This record as markdown: /tools/doit/get-widget.md
What get_widget does on Doit
AI agents call get_widget 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 |
|---|---|---|---|
widgetId | string | Yes | |
X-Tenant-Id | string | — | |
customerContext | string | — | Scope the request to a specific customer by ID. Required for DoiT employees (whose token isn't tied to a single customer); omit for direct customer users. |
Parameters from the server's own tool schema.
Why get_widget is rated Low
Even though get_widget 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 get_widget 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 get_widget, this is the rule to start with:
get_widget 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 get_widget call is checked against it from then on.
Questions about get_widget
Beta. Read precomputed current-month cloud spend and forecast metrics. Widget results are refreshed in the background; reading a widget returns the latest cached result and never starts a synchronous refresh. Use the list operation to discover the complete catalogue. Returns the latest precomputed cached result for one widget. This read does not refresh or recompute the widget synchronously. Use either the customer-specific id returned by the list-widgets operation or one of these stable aliases: - current-month-cloud-spend — total cloud spend accumulated during the current calendar month. - current-month-cloud-forecast — forecast of total cloud spend for the current calendar month. The two concrete alias requests are: - GET https://api.doit.com/analytics/v1/widgets/current-month-cloud-spend - GET https://api.doit.com/analytics/v1/widgets/current-month-cloud-forecast Authenticate with Authorization: Bearer <token>. Omit X-Tenant-Id when the credential resolves to one customer. When the credential can act on multiple customers, send X-Tenant-Id: <tenant-id> to select the customer. A 403 response means the caller or selected customer is not authorized or entitled to use this API. The result's period.endTime is exclusive. Monetary amount values are decimal strings and currency values are ISO 4217 currency codes. monthToMonthGrowthPercentage and monthToMonthGrowthAmount are both null when no comparable prior-period value exists. It is categorised as a Read tool in the Doit MCP Server, which means it retrieves data without modifying state.
get_widget accepts 3 parameters: widgetId, X-Tenant-Id, customerContext. Required: widgetId. 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 get_widget: 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.
get_widget 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 get_widget 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 get_widget. 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.
get_widget 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