メインコンテンツへスキップ

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 from 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

Tools are grouped by area. Each name links to the API reference for request and response details.

Cloud incidents and anomalies

Assets, CloudFlow, and Cloud Diagrams

  • list_assets: List customer assets such as Google Cloud billing accounts, Google Workspace subscriptions, and related resources.
  • get_asset: Get details of a specific customer asset by ID.
  • trigger_cloud_flow: Trigger a CloudFlow by its flow ID, optionally with a JSON payload.
  • find_cloud_diagrams: Return Cloud Diagrams URLs for the given resource IDs.

Cloud Analytics reports and dimensions

  • list_reports: List Cloud Analytics reports your account can access.
  • run_query: Run a report query with the given configuration without persisting it.
  • get_report_results: Get the results of a specific report by ID.
  • get_report_config: Get the configuration of a specific Cloud Analytics report by ID.
  • create_report: Create a new Cloud Analytics report.
  • update_report: Update an existing Cloud Analytics report.
  • validate_user: Validate the current API user and return domain and email information.
  • list_dimensions: List Cloud Analytics dimensions your account can access.
  • get_dimension: Get a specific Cloud Analytics dimension by type and ID.

Support requests

  • list_tickets: List support requests using the support API.
  • get_ticket: Get details of a specific support request by ID.
  • list_ticket_comments: List comments on a support request. Customers see public comments only; DoiT employees may also see internal notes.
  • create_ticket_comment: Add a comment to an existing support request.

Invoices and allocations

Alerts, budgets, annotations, and commitments

Ava

  • ask_ava_sync: Ask DoiT AVA a question about your account, spend, or optimization. Complex questions may take longer to answer.

Organization, users, and roles

  • list_organizations: List organizations available to the authenticated user.
  • list_users: List users in the organization.
  • update_user: Update user profile fields and role.
  • invite_user: Invite a user by email with optional role and organization.
  • list_roles: List IAM roles, including preset and custom roles.

Products

DataHub

Labels

Common workflows

These patterns help your AI assistant use the smallest reliable sequence of tools.

Reporting and saved reports

  1. Optionally call validate_user if you need to confirm which account or tenant the session targets.
  2. Call list_reports to find a saved report when the user names a dashboard or recurring report.
  3. Call get_report_results once you know the report ID.

Prefer this path over run_query when a saved report already answers the question.

Ad hoc analytics queries

  1. Call list_dimensions when grouping or filter fields are unclear.
  2. Build a narrow query, then call run_query.
  3. Refine and rerun if the first result is too broad.

Cost anomalies

  1. Use get_anomalies for recent or top anomalies, or get_anomaly when the user already has an ID.
  2. 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:

  1. Ask, for example: “What are my last 3 anomalies?”

  2. Once you have the list, in the reply prompt, select Research.

  3. 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 and your DoiT Customer ID. The remote server requires customer context on every connect. If you can access multiple customers, pick the Customer ID for the tenant you intend to use. See Connect ChatGPT and Connect Claude.

  • Local STDIO clients (for example Cursor or Gemini CLI): you configure DOIT_API_KEY in 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 role described under Required permissions to connect. Data and mutating tools still respect fine-grained API and product rules.

  • 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

SymptomThings to check
Connector or auth window does not openBrowser pop-up blockers, corporate proxies, or extensions blocking OAuth or embedded flows. Retry after allowing the site.
Authentication failsWrong or revoked API key, or Customer ID that does not match the customer you want.
Access denied or empty data for expected resourcesUser lacks Billing Profiles Admin or other required Console permissions for that data.
Connected, but many tools are missing in the AI clientSome web-based MCP connectors expose only a subset of tools when the full catalog is large. Prefer a local STDIO setup via @doitintl/doit-mcp-server (see Connections) for the broadest tool list.
Unexpected tool errorsConfirm the API reference for the tool you are using; parameters and quotas apply the same as for direct API calls.