MCP Tools Reference: monitoring.googleapis.com

工具:get_alert

使用此工具作为获取特定提醒相关信息的主要工具。提醒是提醒政策违规的表示形式。这有助于了解特定提醒的详细信息。

以下代码示例展示了如何使用 curl 调用 get_alert MCP 工具。

Curl 请求
curl --location 'https://monitoring.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_alert",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

输入架构

GetAlert 请求。

GetAlertRequest

JSON 表示法
{
  "name": string
}
字段
name

string

必需。提醒的名称。

格式为:

projects/[PROJECT_ID_OR_NUMBER]/alerts/[ALERT_ID]

[ALERT_ID] 是系统为相应提醒分配的唯一标识符。

输出架构

提醒是提醒政策违规的表示形式。它是一种只读资源,无法通过随附的 API 进行修改。

提醒

JSON 表示法
{
  "name": string,
  "state": enum (State),
  "openTime": string,
  "closeTime": string,
  "resource": {
    object (MonitoredResource)
  },
  "metadata": {
    object (MonitoredResourceMetadata)
  },
  "metric": {
    object (Metric)
  },
  "log": {
    object (LogMetadata)
  },
  "policy": {
    object (PolicySnapshot)
  }
}
字段
name

string

标识符。提醒的名称。

格式为:

projects/[PROJECT_ID_OR_NUMBER]/alerts/[ALERT_ID]

[ALERT_ID] 是系统为相应提醒分配的唯一标识符。

state

enum (State)

仅限输出。提醒的当前状态。

openTime

string (Timestamp format)

打开提醒的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

closeTime

string (Timestamp format)

提醒的关闭时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

resource

object (MonitoredResource)

受监控的资源类型以及从事件的生成条件中保留的任何受监控的资源标签。

metadata

object (MonitoredResourceMetadata)

受监控的资源的元数据。

metric

object (Metric)

从事件的生成条件中保留的指标类型和任何指标标签。

log

object (LogMetadata)

与提醒关联的日志信息。此字段仅针对基于日志的提醒进行填充。

policy

object (PolicySnapshot)

生成相应提醒的提醒政策的快照。

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

MonitoredResource

JSON 表示法
{
  "type": string,
  "labels": {
    string: string,
    ...
  }
}
字段
type

string

必需。受监控的资源类型。此字段必须与 MonitoredResourceDescriptor 对象的 type 字段匹配。例如,Compute Engine 虚拟机实例的类型为 gce_instance。如需查看类型列表,请参阅监控资源类型日志记录资源类型

labels

map (key: string, value: string)

必需。关联的受监控资源描述符中列出的所有标签的值。例如,Compute Engine 虚拟机实例使用标签 "project_id""instance_id""zone"

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

LabelsEntry

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

MonitoredResourceMetadata

JSON 表示法
{
  "systemLabels": {
    object
  },
  "userLabels": {
    string: string,
    ...
  }
}
字段
systemLabels

object (Struct format)

仅限输出。预定义系统元数据标签的值。系统标签是 Google 提取的一种元数据,包括“machine_image”、“vpc”、“subnet_id”、“security_group”、“name”等。系统标签值只能是字符串、布尔值或字符串列表。例如:

{ "name": "my-test-instance",
  "security_group": ["a", "b", "c"],
  "spot_instance": false }
userLabels

map (key: string, value: string)

仅限输出。用户定义的元数据标签的映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

结构体

JSON 表示法
{
  "fields": {
    string: value,
    ...
  }
}
字段
fields

map (key: string, value: value (Value format))

无序的动态类型值映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

JSON 表示法
{
  "key": string,
  "value": value
}
字段
key

string

value

value (Value format)

JSON 表示法
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
字段
联合字段 kind。值的类型。kind 只能是下列其中一项:
nullValue

null

表示 JSON null

numberValue

number

表示 JSON 数值。不得为 NaNInfinity-Infinity,因为 JSON 不支持这些值。由于 JSON 格式通常不支持其数字类型中的大型 Int64 值,因此这种格式也无法表示大型 Int64 值。

stringValue

string

表示 JSON 字符串。

boolValue

boolean

表示 JSON 布尔值(JSON 中的 truefalse 字面量)。

structValue

object (Struct format)

表示 JSON 对象。

listValue

array (ListValue format)

表示 JSON 数组。

ListValue

JSON 表示法
{
  "values": [
    value
  ]
}
字段
values[]

value (Value format)

动态类型值的重复字段。

UserLabelsEntry

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

指标

JSON 表示法
{
  "type": string,
  "labels": {
    string: string,
    ...
  }
}
字段
type

string

现有指标类型,请参阅 google.api.MetricDescriptor。例如 custom.googleapis.com/invoice/paid/amount

labels

map (key: string, value: string)

可唯一标识相应指标的一组标签值。必须为 MetricDescriptor 中列出的所有标签分配值。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

LabelsEntry

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

LogMetadata

JSON 表示法
{
  "extractedLabels": {
    string: string,
    ...
  }
}
字段
extractedLabels

map (key: string, value: string)

从日志中提取的标签。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

ExtractedLabelsEntry

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

PolicySnapshot

JSON 表示法
{
  "name": string,
  "displayName": string,
  "severity": enum (Severity),
  "userLabels": {
    string: string,
    ...
  }
}
字段
name

string

提醒政策资源的名称。格式为“projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]”。

displayName

string

提醒政策的显示名称。

severity

enum (Severity)

提醒政策的严重程度。

userLabels

map (key: string, value: string)

相应提醒政策的用户标签。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

UserLabelsEntry

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

提醒的可能状态的枚举。

枚举
STATE_UNSPECIFIED 提醒状态未指定。
OPEN 提醒处于打开状态。
CLOSED 提醒已关闭。

NullValue

表示 JSON null

NullValue 是一个标记,使用仅包含一个值的枚举来表示 Value 类型联合的 null 值。

如果类型为 NullValue 的字段的值不是 0,则视为无效。大多数 ProtoJSON 序列化程序都会发出一个 Value,并将 null_value 设置为 JSON null,无论整数值是多少,因此都会往返于 0 值。

枚举
NULL_VALUE Null 值。

严重级别

一个枚举,包含提醒政策的可能严重程度级别。

枚举
SEVERITY_UNSPECIFIED 未指定严重程度。这是默认值。
CRITICAL 这是最高严重程度级别。如果问题可能导致严重损坏或停机,请使用此选项。
ERROR 这是中等严重程度级别。如果问题可能会导致轻微损坏或停机,请使用此严重程度。
WARNING 这是最低严重级别。如果问题不会造成任何损坏或停机,但未来可能会导致问题,请使用此严重程度。

工具注释

工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。

除了标题字符串之外,还定义了以下布尔值提示:

  • readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。
  • destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。
  • idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。
  • openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”互动。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界工具,而内存工具不是开放世界工具。

破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌