MCP Tools Reference: saasservicemgmt

ツール: list_flags

Flag リソースを一覧表示します。必須パラメータ: 「parent」(例: projects/my-project/locations/us-central1)。省略可能なパラメータ: 'page_size'、'page_token'、'filter'、'order_by'。

次のサンプルは、curl を使用して list_flags MCP ツールを呼び出す方法を示しています。

Curl リクエスト
                  
curl --location 'https://saasservicemgmt.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_flags",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

入力スキーマ

ListFlags メソッドのリクエスト構造。

ListFlagsRequest

JSON 表現
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "filter": string,
  "orderBy": string
}
フィールド
parent

string

必須。フラグの親。

pageSize

integer

ページごとに送信するフラグの最大数。

pageToken

string

ページトークン: 前のレスポンスの next_page_token が指定されている場合、このリクエストは次のページを送信します。

filter

string

https://google.aip.dev/160 で指定されているとおりにリストをフィルタします。

orderBy

string

https://google.aip.dev/132 で指定されているとおりに結果を並べ替えます。

出力スキーマ

ListFlags メソッドのレスポンス構造。

ListFlagsResponse

JSON 表現
{
  "flags": [
    {
      object (Flag)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}
フィールド
flags[]

object (Flag)

結果のフラグ。

nextPageToken

string

存在する場合、次のページトークンを後続の ListFlags 呼び出しに指定して、次のページを一覧表示できます。空の場合、これ以上のページはありません。

unreachable[]

string

到達できなかったロケーション。

フラグ

JSON 表現
{
  "name": string,
  "key": string,
  "valueType": enum (FlagValueType),
  "flagValueType": enum (ValueType),
  "evaluationSpec": {
    object (EvaluationSpec)
  },
  "unitKind": string,
  "description": string,
  "variants": [
    {
      object (FlagVariant)
    }
  ],
  "flagSet": string,
  "state": enum (State),
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string
}
フィールド
name

string

ID。標準の命名スキームに沿ったリソース名(リソースの完全な URI)。

"projects/{project}/locations/{location}/flags/{flag_id}"

key

string

必須。変更不可。ランタイム評価 API で使用されるフラグキー(OpenFeature)。最大長: 256 バイト。

valueType
(deprecated)

enum (FlagValueType)

省略可。変更不可。非推奨: 代わりに、flag_value_type を使用してください。フラグ値の型。

flagValueType

enum (ValueType)

省略可。変更不可。フラグ値の型。

evaluationSpec

object (EvaluationSpec)

省略可。フラグ値の評価方法の仕様。

evaluation_spec を指定せずにブール値フラグを作成すると、デフォルトで「Enabled」(bool_value = true)と「Disabled」(bool_value = false)の 2 つのデフォルト バリエーションが作成され、「Disabled」が default_target として設定されます。

unitKind

string

必須。変更不可。このフラグを使用できる UnitKind

description

string

省略可。フラグの説明。最大長: 500 バイト。

variants[]

object (FlagVariant)

省略可。バリアントのリスト。

flagSet

string

省略可。このフラグが属するフラグセット。

state

enum (State)

省略可。フラグの現在の状態。

labels

map (key: string, value: string)

省略可。リソースのラベル。分類に使用できます。Kubernetes リソースラベルに似ています。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

annotations

map (key: string, value: string)

省略可。アノテーションは、任意のメタデータを保存して取得するため、外部ツールによって設定される可能性のあるリソースとともに保存される非構造化 Key-Value マップです。クエリは実行可能ではなく、オブジェクトを変更する際に保持する必要があります。

詳細: https://kubernetes.io/docs/user-guide/annotations

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

uid

string

出力専用。リソースの一意の識別子。UID は、サービスのスコープ内で、このリソースの時間と場所において一意性を持ちます。通常は、リソースの作成時にサーバーによって生成され、変更されることはありません。UID は、リソース名が再利用される場合でも一意にリソースを識別するために使用されます。UUID4 であることが必要です。

etag

string

出力専用。リソースのバージョンまたは世代を一意に識別する、不透明な値です。書き込まれるリソースの順序についてクライアントとサーバーの間で確実に同意するために使用できます。

createTime

string (Timestamp format)

出力専用。リソース作成時のタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

出力専用。リソース最終更新時のタイムスタンプ。ユーザーがリソースを変更した場合は、この値を更新する必要があります。サービスがリソースを変更した場合は、この値を更新する必要があります。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

EvaluationSpec

JSON 表現
{
  "variants": [
    {
      object (Variant)
    }
  ],
  "defaultTarget": string,
  "allocations": [
    {
      object (Allocation)
    }
  ],
  "rules": [
    {
      object (EvaluationRule)
    }
  ],
  "attributes": [
    string
  ]
}
フィールド
variants[]
(deprecated)

object (Variant)

省略可。バリアントのリスト。

defaultTarget

string

必須。フラグのデフォルトのバリエーションまたは割り当て。

allocations[]

object (Allocation)

省略可。割り当てのリスト。

rules[]

object (EvaluationRule)

省略可。評価ルールは、特定のコンテキストに対してフラグを評価するロジックを定義します。ルールは指定された順序で順番に評価されます。

attributes[]

string

省略可。評価ルールと割り当てで使用されるコンテキスト属性の名前。

パターン

JSON 表現
{
  "name": string,

  // Union field value can be only one of the following:
  "boolValue": boolean,
  "intValue": string,
  "stringValue": string,
  "doubleValue": number
  // End of list of possible types for union field value.
}
フィールド
name

string

必須。バリエーションの名前。最大長: 128 バイト。

共用体フィールド value。value はバリアントの単一のフラグ値です。value は次のいずれかになります。
boolValue

boolean

省略可。ブール値のフラグ。

intValue

string (int64 format)

省略可。整数フラグ値。

stringValue

string

省略可。文字列フラグ値。

doubleValue

number

省略可。double フラグ値。

割り当て

JSON 表現
{
  "id": string,
  "randomizedOn": string,
  "description": string,
  "slots": [
    {
      object (AllocationSlot)
    }
  ]
}
フィールド
id

string

必須。割り当て ID。最大長: 128 バイト。

randomizedOn

string

必須。トラフィック分割に使用されるコンテキスト属性のキー。

description

string

省略可。割り当ての説明。最大長: 500 バイト。

slots[]

object (AllocationSlot)

必須。スロットは、バリエーションの重み付き分布を定義します。

AllocationSlot

JSON 表現
{
  "variant": string,
  "weight": integer
}
フィールド
variant

string

必須。割り当てスロットのバリエーション。

weight

integer

必須。重みは、同じ割り当て内の他のスロットと比較して、バリエーションに割り当てるトラフィックの割合を定義します。

EvaluationRule

JSON 表現
{
  "id": string,
  "condition": string,
  "target": string
}
フィールド
id

string

必須。評価ルール ID。最大長: 128 バイト。

condition

string

必須。ブール値に評価される Common Expression Language(CEL)式。式は、指定されたコンテキストに対して評価されます。true が返された場合、ルールのターゲットが適用されます。

target

string

必須。条件が満たされた場合に適用するターゲット バリアントまたは割り当て。これは、定義されたバリエーションまたは割り当ての ID の名前と一致する必要があります。

FlagVariant

JSON 表現
{
  "id": string,
  "trackingId": string,
  "description": string,

  // Union field value can be only one of the following:
  "booleanValue": boolean,
  "integerValue": string,
  "stringValue": string,
  "doubleValue": number
  // End of list of possible types for union field value.
}
フィールド
id

string

必須。バリエーション ID。最大長: 128 バイト。

trackingId

string

省略可。trackingId は、サービスのスコープ内のバリエーションの名前と値に応じて一意になります。通常はサーバーによって生成され、変更されることはありません。trackingId は、バリアントを一意に識別して追跡するために使用されます。

description

string

省略可。このバリエーションの機能や内容を説明する、人が読める形式の説明。

共用体フィールド value。value はバリアントの単一のフラグ値です。value は次のいずれかになります。
booleanValue

boolean

省略可。ブール値のバリエーション値。

integerValue

string (int64 format)

省略可。整数型のバリアント値。

stringValue

string

省略可。文字列バリアント値。

doubleValue

number

省略可。double バリエーション値。

LabelsEntry

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

value

string

AnnotationsEntry

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

value

string

タイムスタンプ

JSON 表現
{
  "seconds": string,
  "nanos": integer
}
フィールド
seconds

string (int64 format)

UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。

nanos

integer

ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。

ツールのアノテーション

破壊的ヒント: ❌ | べき等ヒント: ✅ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌