Skip to content

doitintl/doit-mcp-server

Repository files navigation

DoiT MCP Server

License: MIT NPM Version

DoiT MCP Server provides access to the DoiT API. This server enables LLMs like Claude to access DoiT platform data for troubleshooting and analysis.

top-services

Requirements

  • Node.js v18 or higher
  • DoiT API key with appropriate permissions

Installation

To get your DoiT API key, visit the API key section in your DoiT profile.

There are several ways to install and configure the MCP server:

DoiT MCP URL

The DoiT MCP server is available at: https://mcp.doit.com/sse

Claude Desktop App

{
  "mcpServers": {
    "doit_mcp_server": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.doit.com/sse"]
    }
  }
}

AWS Q CLI

  1. Create an API key in the API section of the DoiT Console.
  2. Note the API key value for the below command.
  3. Run the following command:
q mcp-server create --name doit-mcp-server --url https://mcp.doit.com/sse --api-key your_doit_api_key
  1. Start q chat by running this command:
q chat
  1. Ensure that it connects and lists it as doit-mcp-server loaded at the top of the chat session.

STDIO - local server

Claude Desktop App

To manually configure the MCP server for Claude Desktop App, add the following to your claude_desktop_config.json file or through "Settings" as described here:

{
  "mcpServers": {
    "doit_mcp_server": {
      "command": "npx",
      "args": ["-y", "@doitintl/doit-mcp-server@latest"],
      "env": {
        "DOIT_API_KEY": "your_doit_api_key"
      }
    }
  }
}

Make sure to replace the environment variables with your actual values:

  • DOIT_API_KEY: Your DoiT API key with appropriate permissions
  • CUSTOMER_CONTEXT: Your customer context identifier (optional) - Required for Do’ers

NOTE: you need to restart Claude for Desktop after updating the configuration for changes to take effect.

Cursor

Don't forget to replace the env values in that command with your actual values.

If you have the latest version (v0.47 and above) of Cursor, you can create an mcp.json file in your project root:

{
  "mcpServers": {
    "doit_mcp_server": {
      "command": "npx",
      "args": ["-y", "@doitintl/doit-mcp-server@latest"],
      "env": {
        "DOIT_API_KEY": "your_doit_api_key"
      }
    }
  }
}

Clone to Local Repository

If you want to clone and run this MCP server directly from the source code, follow these steps:

  1. Clone the repository
git clone https://github.com/doitintl/doit-mcp-server
cd doit-mcp-server
  1. Install dependencies
yarn install
  1. Build the project
yarn build
  1. Run the server
node dist/index.js

Tools

This MCP server provides many tools including the following:

  • get_cloud_incidents: Retrieve cloud incidents from various platforms
  • get_cloud_incident: Get details about a specific cloud incident by ID
  • get_anomalies: Retrieve anomalies detected in cloud resources
  • get_anomaly: Get details about a specific anomaly by ID
  • list_assets: Returns a list of all available customer assets such as Google Cloud billing accounts, G Suite/Workspace subscriptions, etc.
  • get_asset: Returns details of a specific customer asset by ID, including properties such as customer domain, subscription, and reseller information
  • trigger_cloud_flow: Triggers a CloudFlow by its flow ID, optionally passing a JSON payload as the request body
  • find_cloud_diagrams: Returns diagram URLs matching the provided resource IDs from the DoiT Cloud Diagrams API
  • list_reports: Lists Cloud Analytics reports that your account has access to
  • run_query: Runs a report query with the specified 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: Creates a new Cloud Analytics report with the specified configuration
  • update_report: Updates an existing Cloud Analytics report with the specified configuration
  • validate_user: Validates the current API user and returns domain and email information
  • list_dimensions: Lists Cloud Analytics dimensions that your account has access to
  • get_dimension: Get a specific Cloud Analytics dimension by type and ID
  • list_tickets: List support tickets from DoiT using the support API
  • get_ticket: Get details of a specific support ticket by its ID
  • list_ticket_comments: List all comments on a support ticket by its ID. Customers see only public comments; DoiT employees see both public and private comments
  • create_ticket_comment: Add a comment to an existing support ticket. For customers, comments are always public. For DoiT employees, comments can be marked as private internal notes
  • list_invoices: List all current and historical invoices for your organization from the DoiT API
  • get_invoice: Retrieve the full details of an invoice specified by the invoice number from the DoiT API
  • list_allocations: List allocations for report or run_query configuration that your account has access to from the DoiT API
  • get_allocation: Get a specific allocation by ID from the DoiT API
  • create_allocation: Create a new allocation
  • update_allocation: Update an existing allocation
  • list_alerts: Returns a list of alerts that your account has access to
  • get_alert: Returns a specific alert by ID.
  • create_alert: Creates a new alert to notify when cloud costs exceed defined thresholds
  • update_alert: Updates an existing alert by ID
  • list_budgets: Returns the list of budgets that the user has access to
  • get_budget: Returns the details and current utilization of a specified budget
  • create_budget: Creates a new budget to track actual cloud spend against planned spend
  • update_budget: Updates an existing budget
  • list_annotations: Returns a list of annotations that your account has access to
  • get_annotation: Returns a specific annotation by ID
  • create_annotation: Creates a new annotation with content, timestamp, and optional report/label associations
  • update_annotation: Updates an existing annotation by ID
  • list_commitments: Returns a list of commitments (reserved capacity or spend agreements) with cloud providers
  • get_commitment: Returns details of a specific commitment by ID, including periods and attainment data
  • ask_ava_sync: Ask DoiT AVA, the cloud cost and infrastructure expert, a question about the user's DoiT account, cloud spending, or optimization opportunities. Note: AVA can take a long time to respond for complex questions.
  • list_organizations: Returns a list of organizations accessible to the authenticated user
  • list_platforms: Returns a list of all available platforms
  • list_users: Returns a list of all users in the organization
  • update_user: Updates user information including name, job function, phone, language, and role
  • invite_user: Invites a new user to the organization by email, optionally assigning a role and organization
  • list_roles: Returns a list of all IAM roles, including both preset and custom roles
  • list_products: Lists products available for different platforms, optionally filtered by platform name
  • list_datahub_datasets: Returns a list of all DataHub datasets for the customer
  • get_datahub_dataset: Returns details of a specific DataHub dataset by name
  • create_datahub_dataset: Creates a new DataHub dataset with a name and optional description
  • update_datahub_dataset: Updates an existing DataHub dataset's description
  • send_datahub_events: Sends one or more DataHub events for ingestion (1–50,000 events per call)
  • list_labels: Returns a list of labels that the user has access to
  • get_label: Returns details of a specific label by ID
  • create_label: Creates a new label with a name and color
  • update_label: Updates an existing label's name or color
  • get_label_assignments: Returns the list of objects assigned to a specific label
  • assign_objects_to_label: Assigns or unassigns objects to a label

Usage Examples

Here are some common queries you can ask using the DoiT MCP server:

Cost Analysis and Savings

  • "What are my Flexsave savings?" - This will analyze your Flexsave cost optimization savings across your cloud accounts.
  • "What are my top 3 AWS services by cost?" - This will run a Cloud Analytics query to identify your highest-spending AWS services.

Reports and Analytics

  • "List all my available reports" - This will show all Cloud Analytics reports you have access to.
  • "Show me the results of my 'Monthly Cost Overview' report" - This will fetch and display results from a specific report.

Anomaly Detection

  • "What are my recent GCP anomalies?" - This will show recent cost or usage anomalies detected in your Google Cloud Platform accounts.
  • "Show me details about anomaly ABC123" - This will provide detailed information about a specific anomaly.

Invoices

  • "List all my invoices" - This will show all current and historical invoices for your organization.
  • "Show me details for invoice INV-2024-001" - This will provide full details for a specific invoice, including line items and payment status.

These examples demonstrate basic usage patterns. You can combine and modify these queries based on your needs. The MCP server will interpret your natural language queries and use the appropriate tools to fetch the requested information.

Environment Variables

  • DOIT_API_KEY: Your DoiT API key (required)
  • CUSTOMER_CONTEXT: Your customer context identifier (optional)

About

DoiT official MCP Server

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors