MCP Tools Reference: monitoring.googleapis.com

工具:query_range

在一定时间范围内评估 PromQL 查询

以下示例演示了如何使用 curl 调用 query_range 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": "query_range",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

输入架构

QueryRangeRequest 包含 Prometheus 上游范围查询 API 的所有参数以及 GCM 特有的参数。

QueryRangeRequest

JSON 表示法
{
  "name": string,
  "query": string,
  "start": string,
  "end": string,
  "step": string,
  "timeout": string,
  "location": string
}
字段
name

string

必需。在其中执行请求的项目。与项目的工作区相关联的数据,存储在以下格式的路径下:projects/[PROJECT_ID_OR_NUMBER]。开源 API,但用作请求路径前缀,以区分 Google Prometheus Engine 的不同虚拟 Prometheus 实例。

query

string

PromQL 查询字符串。查询语言文档:https://prometheus.io/docs/prometheus/latest/querying/basics/

start

string

评估查询的开始时间。浮点 UNIX 秒数或 RFC3339 格式的时间戳。

end

string

评估查询的结束时间。浮点 UNIX 秒数或 RFC3339 格式的时间戳。

step

string

查询结果的解析。Prometheus 时长字符串(https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations)或浮点秒数。必须使用此非标准编码才能与开源 API 兼容。客户端可能仍会在连接级别实现超时,同时忽略此字段。

timeout

string

查询的超时时间上限。Prometheus 时长字符串(https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations)或浮点秒数。必须使用此非标准编码才能与开源 API 兼容。客户端可能仍会在连接级别实现超时,同时忽略此字段。

location

string

资源信息的位置。现在必须是“global”。

输出架构

表示任意 HTTP 正文的消息。它应仅用于无法表示为 JSON 的负载格式,例如原始二进制文件或 HTML 网页。

此消息可同时用于请求和响应中的流式传输和非流式传输 API 方法。

它可以用作顶级请求字段,如果想要将网址或 HTTP 模板中的参数提取到请求字段中,并且还希望访问原始 HTTP 正文,这会很方便。

示例:

message GetResourceRequest {
  // A unique request id.
  string request_id = 1;

  // The raw HTTP body is bound to this field.
  google.api.HttpBody http_body = 2;

}

service ResourceService {
  rpc GetResource(GetResourceRequest)
    returns (google.api.HttpBody);
  rpc UpdateResource(google.api.HttpBody)
    returns (google.protobuf.Empty);

}

流式传输方法示例:

service CaldavService {
  rpc GetCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);
  rpc UpdateCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);

}

使用此类型仅会更改请求和响应正文的处理方式,所有其他功能将继续保持不变。

HttpBody

JSON 表示法
{
  "contentType": string,
  "data": string,
  "extensions": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
字段
contentType

string

指定正文内容类型的 HTTP Content-Type 标头值。

data

string (bytes format)

作为原始二进制文件的 HTTP 请求/响应正文。

base64 编码的字符串。

extensions[]

object

应用专用响应元数据。必须在流式传输 API 的第一个响应中设置。

此对象可以包含任意类型的字段。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }

不限

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

string

通过 URI 引用(包含以斜杠结尾的前缀和完全限定的类型名称)来标识序列化 Protobuf 消息的类型。

示例:type.googleapis.com/google.protobuf.StringValue

此字符串必须包含至少一个 / 字符,并且最后一个 / 之后的内容必须是规范形式的完全限定名,不含前导点。请勿在这些 URI 引用中写入方案,以免客户端尝试联系它们。

前缀是任意的,Protobuf 实现应仅剥离最后一个 / 之前(包括最后一个 /)的所有内容,以标识类型。type.googleapis.com/ 是某些旧版实现所需的常见默认前缀。此前缀并不表示类型的来源,包含该前缀的 URI 不应响应任何请求。

所有类型网址字符串都必须是合法的 URI 引用,并且(对于文本格式)还必须满足以下额外限制:引用的内容只能包含字母数字字符、百分号编码的转义字符以及以下集合中的字符(不包括外侧的反引号):/-.~_!$&()*+,;=。尽管我们允许使用百分比编码,但实现不应将其转义,以免与现有解析器混淆。例如,应拒绝 type.googleapis.com%2FFoo

Any 的原始设计中,曾考虑过在这些类型网址上启动类型解析服务的可能性,但 Protobuf 从未实现过此类服务,并且认为联系这些网址存在问题,可能会导致安全问题。不尝试联系人类型网址。

value

string (bytes format)

包含由 type_url 描述的类型的 Protobuf 序列化。

使用 base64 编码的字符串。

工具注释

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