Tool: list_api_operations
List operations in an API version.
The following sample demonstrate how to use curl to invoke the list_api_operations MCP tool.
| Curl Request |
|---|
curl --location 'https://apihub.REGION.rep.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_api_operations", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Where, REGION is the supported API hub region. For more information, see Supported regions.
Input Schema
The ListApiOperations method's request.
ListApiOperationsRequest
| JSON representation |
|---|
{ "parent": string, "filter": string, "pageSize": integer, "pageToken": string } |
| Fields | |
|---|---|
parent |
Required. The parent which owns this collection of operations i.e., the API version. Format: |
filter |
Optional. An expression that filters the list of ApiOperations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string or a boolean. The comparison operator must be one of: The following fields in the Expressions are combined with either Here are a few examples:
|
pageSize |
Optional. The maximum number of operations to return. The service may return fewer than this value. If unspecified, at most 50 operations will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. |
pageToken |
Optional. A page token, received from a previous When paginating, all other parameters (except page_size) provided to |
Output Schema
The ListApiOperations method's response.
ListApiOperationsResponse
| JSON representation |
|---|
{
"apiOperations": [
{
object ( |
| Fields | |
|---|---|
apiOperations[] |
The operations corresponding to an API version. |
nextPageToken |
A token, which can be sent as |
ApiOperation
| JSON representation |
|---|
{ "name": string, "spec": string, "details": { object ( |
| Fields | |
|---|---|
name |
Identifier. The name of the operation. Format: |
spec |
Output only. The name of the spec will be of the format: |
details |
Optional. Operation details. Note: Even though this field is optional, it is required for |
createTime |
Output only. The time at which the operation was created. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
Output only. The time at which the operation was last updated. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
attributes |
Optional. The list of user defined attributes associated with the API operation resource. The key is the attribute name. It will be of the format: An object containing a list of |
sourceMetadata[] |
Output only. The list of sources and metadata from the sources of the API operation. |
OperationDetails
| JSON representation |
|---|
{ "description": string, "documentation": { object ( |
| Fields | |
|---|---|
description |
Optional. Description of the operation behavior. For OpenAPI spec, this will map to |
documentation |
Optional. Additional external documentation for this operation. For OpenAPI spec, this will map to |
deprecated |
Optional. For OpenAPI spec, this will be set if |
Union field
|
|
httpOperation |
The HTTP Operation. |
mcpTool |
The MCP Tool Operation. |
HttpOperation
| JSON representation |
|---|
{ "path": { object ( |
| Fields | |
|---|---|
path |
Optional. The path details for the Operation. Note: Even though this field is optional, it is required for |
method |
Optional. Operation method Note: Even though this field is optional, it is required for |
Path
| JSON representation |
|---|
{ "path": string, "description": string } |
| Fields | |
|---|---|
path |
Optional. Complete path relative to server endpoint. Note: Even though this field is optional, it is required for |
description |
Optional. A short description for the path applicable to all operations. |
McpTool
| JSON representation |
|---|
{ "name": string, "title": string, "description": string, "annotations": { object ( |
| Fields | |
|---|---|
name |
Required. The name of the tool, unique within its parent scope (version). |
title |
Optional. Optional title for the tool. |
description |
Optional. Description of what the tool does. |
annotations |
Optional. Optional annotations for the tool. |
inputSchema |
Optional. Input schema for the operation. This can be parsed only from MCP schema type. |
outputSchema |
Optional. Output schema for the operation. This can be parsed only from MCP schema type. |
ToolAnnotations
| JSON representation |
|---|
{ "title": string, "additionalHints": { string: string, ... }, // Union field |
| Fields | |
|---|---|
title |
Optional. A human-readable title for the tool (if different from Tool.title). |
additionalHints |
Optional. Additional hints which may help tools and not covered in defaults. An object containing a list of |
Union field
|
|
readOnlyHint |
Optional. Hint indicating if the tool is read-only. |
Union field
|
|
destructiveHint |
Optional. Hint indicating if the tool may have destructive side effects. |
Union field
|
|
idempotentHint |
Optional. Hint indicating if the tool is idempotent. |
Union field
|
|
openWorldHint |
Optional. Hint indicating if the tool interacts with the open world (e.g., internet). |
AdditionalHintsEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
OperationSchema
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field value. The value of the schema. value can be only one of the following: |
|
jsonSchema |
The JSON schema. Only valid JSON is accepted but semantic validation of schema is not supported right now. |
Struct
| JSON representation |
|---|
{ "fields": { string: value, ... } } |
| Fields | |
|---|---|
fields |
Unordered map of dynamically typed values. An object containing a list of |
FieldsEntry
| JSON representation |
|---|
{ "key": string, "value": value } |
| Fields | |
|---|---|
key |
|
value |
|
Value
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. The kind of value. kind can be only one of the following: |
|
nullValue |
Represents a JSON |
numberValue |
Represents a JSON number. Must not be |
stringValue |
Represents a JSON string. |
boolValue |
Represents a JSON boolean ( |
structValue |
Represents a JSON object. |
listValue |
Represents a JSON array. |
ListValue
| JSON representation |
|---|
{ "values": [ value ] } |
| Fields | |
|---|---|
values[] |
Repeated field of dynamically typed values. |
Documentation
| JSON representation |
|---|
{ "externalUri": string } |
| Fields | |
|---|---|
externalUri |
Optional. The uri of the externally hosted documentation. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
AttributesEntry
| JSON representation |
|---|
{
"key": string,
"value": {
object ( |
| Fields | |
|---|---|
key |
|
value |
|
AttributeValues
| JSON representation |
|---|
{ "attribute": string, // Union field |
| Fields | |
|---|---|
attribute |
Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute} |
Union field Value. The attribute values associated with the resource. Value can be only one of the following: |
|
enumValues |
The attribute values associated with a resource in case attribute data type is enum. |
stringValues |
The attribute values associated with a resource in case attribute data type is string. |
jsonValues |
The attribute values associated with a resource in case attribute data type is JSON. |
uriValues |
The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name. |
EnumAttributeValues
| JSON representation |
|---|
{
"values": [
{
object ( |
| Fields | |
|---|---|
values[] |
Required. The attribute values in case attribute data type is enum. |
AllowedValue
| JSON representation |
|---|
{ "id": string, "displayName": string, "description": string, "immutable": boolean } |
| Fields | |
|---|---|
id |
Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/. |
displayName |
Required. The display name of the allowed value. |
description |
Optional. The detailed description of the allowed value. |
immutable |
Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes. |
StringAttributeValues
| JSON representation |
|---|
{ "values": [ string ] } |
| Fields | |
|---|---|
values[] |
Required. The attribute values in case attribute data type is string or JSON. |
SourceMetadata
| JSON representation |
|---|
{ "sourceType": enum ( |
| Fields | |
|---|---|
sourceType |
Output only. The type of the source. |
originalResourceId |
Output only. The unique identifier of the resource at the source. |
originalResourceCreateTime |
Output only. The time at which the resource was created at the source. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
originalResourceUpdateTime |
Output only. The time at which the resource was last updated at the source. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
Union field source. The source of the resource. source can be only one of the following: |
|
pluginInstanceActionSource |
Output only. The source of the resource is a plugin instance action. |
PluginInstanceActionSource
| JSON representation |
|---|
{ "pluginInstance": string, "actionId": string } |
| Fields | |
|---|---|
pluginInstance |
Output only. The resource name of the source plugin instance. Format is |
actionId |
Output only. The id of the plugin instance action. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌