Prerequisites
- Sign up and authenticate with Meshagent CLI
- You will need your DoiT API Key (see DoiT documentation for instructions)
Required Environment Variables
DOIT_API_KEY
: your DoiT API key
Steps
-
Install Meshagent CLI + All Dependencies
-
Authenticate with Meshagent
(Follow prompts to authenticate.)
-
Launch MCP Server as an Agent in a Room
- Starts a Meshagent Room (“test”) with the MCP server using your API key.
- The server process and tools will be removed when the room goes inactive.
-
Start Chatbot in the Same Room with DoiT Toolkit
- Joins a chatbot (
mcp-doit
) connected to the MCP tools. - Note: Output will provide a direct link to the Room.
- Joins a chatbot (
-
Try it Out
- Visit the Room link in your web browser.
- Send chat commands to the agent to interact with the MCP Server tools.
Project Level Deployment: Persistent MCP Server in All Project Rooms
For production/always-on deployments, create persistent MCP services tied to your Meshagent project. These services will auto-join any new Room, making MCP tools and chatbot always available without extra setup.Steps
-
Create Persistent MCP Server Service
-
Create Persistent Chatbot Service with Toolkit
Tools Available
The DoiT MCP Server exposes the following tools to chatbots and Meshagent:Tool | Short Description |
---|---|
get_anomalies | List anomalies detected in cloud costs |
get_anomaly | Get a specific anomaly by ID |
get_cloud_incident | Get a specific cloud incident by ID |
get_cloud_incidents | Get cloud incidents |
get_dimension | Get a specific Cloud Analytics dimension by type and ID |
get_report_results | Get the results of a specific report by ID |
list_dimensions | Lists Cloud Analytics dimensions that your account has access to. |
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. |
validate_user | Validates the current API user and returns domain and email information |
Tool Details
get_anomalies
List anomalies detected in cloud costs
Parameter | Type | Description | |
---|---|---|---|
filter | string optional | Filter string in format ‘key:value | key:value’. Multiple values for same key are treated as OR, different keys as AND. |
pageToken | string optional | Token for pagination. Use this to get the next page of results. |
get_anomaly
Get a specific anomaly by ID
Parameter | Type | Description |
---|---|---|
id | string | anomaly ID |
get_cloud_incident
Get a specific cloud incident by ID
Parameter | Type | Description |
---|---|---|
id | string | incident ID |
get_cloud_incidents
Get cloud incidents
Parameter | Type | Description | |||
---|---|---|---|---|---|
filter | string optional | Filter string in format ‘key:value | key:value’. Multiple values for same key are treated as OR, different keys as AND. Example: ‘platform:google-cloud | status:active’ or ‘platform:google-cloud | platform:amazon-web-services’ |
pageToken | string optional | Token for pagination. Use this to get the next page of results. | |||
platform | string optional | platform name |
get_dimension
Get a specific Cloud Analytics dimension by type and ID
Parameter | Type | Description |
---|---|---|
id | string | Dimension id |
type | string | Dimension type |
get_report_results
Get the results of a specific report by ID
Parameter | Type | Description |
---|---|---|
id | string | The ID of the report to retrieve results for |
list_dimensions
Lists Cloud Analytics dimensions that your account has access to. Use this tool to get the dimensions that you can use in the run_query tool. Use filter to narrow down the results.
Parameter | Type | Description | |
---|---|---|---|
filter | string optional | Filter string (optional) in format ‘key:value | key:value’. Multiple values for same key are treated as OR, different keys as AND. The fields eligible for filtering are: type, label, key. Use the filter parameter only if you know the exact value of the key, otherwise the filter should be empty. |
pageToken | string optional | Token for pagination. Use this to get the next page of results. |
list_reports
Lists Cloud Analytics reports that your account has access to
Parameter | Type | Description | |
---|---|---|---|
filter | string optional | Filter string in format ‘key:value | key:value’. Multiple values for same key are treated as OR, different keys as AND. Possible filter keys: reportName, owner, type, updateTime, use the filter property only if you know for sure the value is a valid filter key, do not guess it. |
pageToken | string optional | Token for pagination. Use this to get the next page of results. |
run_query
Runs a report query with the specified configuration without persisting it.Fields that are not populated will use their default values if needed.
Use the dimension tool before running the query to get the list of dimensions and their types.
If possible, use
timeRange
instead of customTimeRange
when no specific dates are given.
Example for cost report:
Parameter | Type | Description |
---|---|---|
config | object | The configuration for the query, including dimensions, metrics, filters, etc. |