Tool: get_api_operation
Get details about a particular operation in API version.
The following sample demonstrate how to use curl to invoke the get_api_operation 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": "get_api_operation", "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 GetApiOperation method's request.
GetApiOperationRequest
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
Required. The name of the operation to retrieve. Format: |
Output Schema
Represents an operation contained in an API version in the API Hub. An operation is added/updated/deleted in an API version when a new spec is added or an existing spec is updated/deleted in a version. Currently, an operation will be created only corresponding to OpenAPI spec as parsing is supported for OpenAPI spec. Alternatively operations can be managed via create,update and delete APIs, creation of apiOperation can be possible only for version with no parsed operations and update/delete can be possible only for operations created via create API.
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: ❌