Work with DoiT MCP server
This page explains how to work with the DoiT MCP server, including the tools and prompts it exposes, suggested workflows, usage examples, and troubleshooting.
The DoiT MCP server maps tools to the DoiT developer API. Tool names and behavior follow the open-source @doitintl/doit-mcp-server package; see that repository for the latest list.
MCP prompts
The DoiT MCP server can expose prompts as defined in the MCP prompts specification. Prompts are reusable playbooks your client can list in a prompt picker. Some prompts currently accept arguments, while others do not.
The following example uses placeholder argument names (for example, project, cloud account, or date range) that may differ depending on your client. Some legacy prompts are being phased out as prompt definitions are standardized.
For example, spend on a specific Google Cloud service rises sharply over a week. Your MCP client shows a prompt like Review a cost spike for a cloud service. You can select it and supply the arguments the prompt defines (service name, project, start and end dates). The server returns prompt text that guides the model to use DoiT MCP tools, for example, narrow the window with get_anomaly or get_anomalies, then run a focused run_query or fetch a saved report with get_report_results, and to summarize likely drivers and follow-up checks. The same idea extends to AWS or multi-cloud cost views when that data is available through DoiT.
Clients discover prompts with prompts/list and retrieve content with prompts/get. On local stdio connections, the server supports the standard prompt flow, including arguments on the prompt definitions. Behavior may differ by transport or client version; use the latest @doitintl/doit-mcp-server if your client reports missing or invalid prompt handling.
DoiT MCP server tools
The DoiT MCP server provides the following tools:
Alerts
Use these tools to create, update, and review cost alerts for your accounts.
- create_alert: Create a new alert to notify when cloud costs exceed defined thresholds.
- get_alert: Returns a specific alert by ID.
- list_alerts: Returns a list of alerts that your account has access to.
- update_alert: Update an existing alert by ID.
Allocations
Use these tools to define and manage allocation rules for report and query analysis.
- create_allocation: Create a new allocation.
- get_allocation: Get a specific allocation by ID.
- list_allocations: List allocations for report or run_query configuration.
- update_allocation: Update an existing allocation.
Annotations
Use these tools to record and maintain annotation events for reporting context.
- create_annotation: Create a new annotation.
- get_annotation: Returns a specific annotation by ID.
- list_annotations: Returns a list of annotations.
- update_annotation: Update an existing annotation by ID.
Anomalies
Use these tools to review detected cost anomalies and investigate specific anomaly events.
- get_anomalies: Retrieve anomalies detected in cloud resources.
- get_anomaly: Get details about a specific anomaly by ID.
Assets
Use these tools to discover customer assets and inspect asset-level metadata.
- get_asset: Get details of a specific customer asset by ID.
- list_assets: List customer assets such as Google Cloud billing accounts, Google Workspace subscriptions, and related resources.
Ava
Use this tool to ask Ava account-specific questions about spend and optimization.
- ask_ava_sync: Ask DoiT AVA a question about your account, spend, or optimization. Complex questions may take longer to answer.
Budgets
Use these tools to set spending targets and track budget utilization over time.
- create_budget: Create a new budget to track actual cloud spend against planned spend.
- get_budget: Returns the details and current utilization of a specified budget.
- list_budgets: Returns the list of budgets that the user has access to.
- update_budget: Update an existing budget.
Cloud Analytics
These tools allow you to run ad-hoc cost and usage queries, manage saved reports, and explore available dimensions.
- create_report: Create a new Cloud Analytics report with a specific configuration.
- get_dimension: Get a specific Cloud Analytics dimension by type and ID.
- get_report_config: Get the configuration of a specific Cloud Analytics report by ID.
- get_report_results: Get the results of a specific report by ID.
- list_dimensions: List Cloud Analytics dimensions your account can access.
- list_reports: List Cloud Analytics reports your account can access.
- run_query: Run a report query with the specified configuration without persisting it. Use this to analyze cloud costs, generate cost breakdowns, and view spending trends.
- update_report: Update an existing Cloud Analytics report.
Cloud diagrams
Use this tool to quickly open Cloud Diagrams views for specific resources.
- find_cloud_diagrams: Return Cloud Diagrams URLs for the given resource IDs.
Cloud incidents
Use these tools to monitor known cloud-provider incidents and inspect incident details.
- get_cloud_incident: Get details about a specific cloud incident by ID.
- get_cloud_incidents: Retrieve cloud incidents from various platforms.
CloudFlow
Use this tool to start CloudFlow runs directly from your MCP client.
- trigger_cloud_flow: Trigger a CloudFlow by its flow ID, optionally with a JSON payload.
Commitments
Use these tools to inspect commitment agreements and their current performance.
- get_commitment: Returns details of a specific commitment by ID.
- list_commitments: Returns a list of commitments (reserved capacity or spend agreements).
Cost analysis helpers
These are convenience tools that simplify common cost analysis tasks. These tools are shortcuts provided by the MCP server. They do not link to an API endpoint.
- compare_spend: Compare spending between two time periods.
- cost_breakdown: Get a cost breakdown by service, project, or other dimensions for a given time period.
- cost_trend: View cost trends over time to identify spending patterns.
- get_cloud_overview: Get a high-level overview of your cloud spending and key metrics.
DataHub
Use these tools to manage DataHub datasets and send ingestion events.
- create_datahub_dataset: Create a DataHub dataset.
- get_datahub_dataset: Get dataset details by name.
- list_datahub_datasets: List DataHub datasets for the customer.
- send_datahub_events: Send events for ingestion (limits apply per API reference).
- update_datahub_dataset: Update a dataset description.
Invoices
Use these tools to list invoices and drill into detailed billing records.
- get_invoice: Retrieve the full details of an invoice specified by the invoice number.
- list_invoices: List all current and historical invoices for your organization.
Labels
Use these tools to create labels and manage label assignments across resources.
- assign_objects_to_label: Assign or unassign objects to a label.
- create_label: Create a label with name and color.
- get_label: Get label details by ID.
- get_label_assignments: List objects assigned to a label.
- list_labels: List labels you can access.
- update_label: Update a label name or color.
Optimization insights
Use these tools to find optimization opportunities and the resources linked to each insight. These tools are shortcuts provided by the MCP server. They do not link to an API endpoint.
- get_insight_resources: Get the resources associated with a specific optimization insight.
- list_optimization_recommendations: List optimization recommendations for your cloud resources.
Products
Use these tools to browse available platforms and products in your account context.
- list_platforms: List available platforms.
- list_products: List products available per platform, optionally filtered by platform name.
Session tools
Use these tools to control session context and confirm high-impact operations. These tools are shortcuts provided by the MCP server. They do not link to an API endpoint.
- change_customer: Switch MCP context to another customer when your account has access to multiple customers.
- confirm_action: Require explicit confirmation before executing sensitive or potentially destructive actions.
Support requests
Use these tools to review support tickets and manage ticket conversations.
- create_ticket_comment: Add a comment to an existing support request.
- get_ticket: Get details of a specific support request by ID.
- list_ticket_comments: List comments on a support request.
- list_tickets: List support requests using the support API.
Users and roles
Use these tools to manage organization users, invitations, and role assignments.
- invite_user: Invite a new user to the organization.
- list_organizations: Returns a list of organizations.
- list_roles: Returns a list of all IAM roles.
- list_users: Returns a list of all users in the organization.
- update_user: Update user information.
- validate_user: Validate the current API user and return domain and email information.
Common workflows
These patterns help your AI assistant use the smallest reliable sequence of tools.
Reporting and saved reports
- Optionally call
validate_userif you need to confirm which account or tenant the session targets. - Call
list_reportsto find a saved report when the user names a dashboard or recurring report. - Call
get_report_resultsonce you know the report ID.
Prefer this path over run_query when a saved report already answers the question.
Ad hoc analytics queries
- Call
list_dimensionswhen grouping or filter fields are unclear. - Build a narrow query, then call
run_query. - Refine and rerun if the first result is too broad.
Cost anomalies
- Use
get_anomaliesfor recent or top anomalies, orget_anomalywhen the user already has an ID. - Use cloud, account or project, time range, and service from the anomaly before combining with other data sources.
Usage examples
The outputs and recommendations provided by the DoiT MCP server are generated dynamically and may vary based on the query. You should thoroughly review all outputs/recommendations to ensure they align with your organization's security best practices, cost-efficiency goals, and compliance requirements before implementation.
Your AI tool may be integrated with other MCP servers. To ensure your request yields the intended results, you should frame your request with relevant contextual cues for the DoiT MCP server. Some common queries that you might ask include: “What are my top 3 AWS services by cost”, “What are my recent cost anomalies”, “Show me the results of my Monthly Cost Overview report”, and “List all my invoices”.
In addition, you can use deep research when asking questions or making requests related to DoiT Cloud Intelligence data. This is useful as the MCP server can provide more granular insight into invoices, cost anomalies, resources, and so on. To do this using Claude:
-
Ask, for example: “What are my last 3 anomalies?”
-
Once you have the list, in the reply prompt, select Research.
-
In the reply prompt, ask for more in-depth information, for example: “Investigate number 3 — Cloud run anomaly — June 18, 2025. What caused it? How frequently does it happen? How can we prevent it from happening again?” Claude performs a deep dive into the anomaly.
Authorization and security
-
Remote connectors (for example Claude or ChatGPT in the browser): the client shows an authorization step. You provide your DoiT API key. See Connect ChatGPT and Connect Claude.
-
Local stdio clients (for example Cursor or Gemini CLI): you configure
DOIT_API_KEYin the client config. The key is sent from your machine to the DoiT API through the MCP server process. -
Access control: MCP calls use your API identity and obey DoiT console permissions. You need the access described under Required permissions to connect. Beyond the API key, each tool follows the DoiT developer API authorization model for its underlying operation; see the API reference for operation-level requirements.
-
Operational hygiene: Do not share API keys or commit them to source control. Rotate a key if it may be exposed. If your organization changes your role or access, reconnect or retest the integration.
Troubleshooting
| Symptom | Things to check |
|---|---|
| Connector or auth window does not open | Browser pop-up blockers, corporate proxies, or extensions blocking OAuth or embedded flows. Retry after allowing the site. |
Authorization with the MCP server failed with an ofid_ reference | The ofid_ reference is an identifier from the AI client (for example Claude or ChatGPT), not a DoiT error code.
|
| Authentication fails | Wrong or revoked API key. |
| Access denied or empty data for expected resources | User lacks Billing Profiles Admin or other required Console permissions for that data. |
| Connected, but many tools are missing in the AI client | Some web-based MCP connectors expose only a subset of tools. We recommend a local stdio setup via @doitintl/doit-mcp-server (see Connections) for the broadest tool list. |
| Unexpected tool errors | Confirm the API reference for the tool you are using; parameters and quotas apply the same as for direct API calls. |
| Inline widget does not render in Claude Cowork | Inline widget rendering (such as Cloud Analytics charts) requires a remote MCP server connection (SSE). Local stdio connections do not support widget metadata. Ensure you are connected via the remote server. Tool results still return correctly as text even when widget rendering is unavailable. |