Class: Google::Cloud::AgentRegistry::V1::McpServer

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/agentregistry/v1/mcp_server.rb

Overview

Represents an MCP (Model Context Protocol) Server.

Defined Under Namespace

Classes: AttributesEntry, Tool

Instance Attribute Summary collapse

Instance Attribute Details

#attributes::Google::Protobuf::Map{::String => ::Google::Protobuf::Struct} (readonly)

Returns Output only. Attributes of the MCP Server. Valid values:

  • agentregistry.googleapis.com/system/RuntimeIdentity: "principal://..." - the runtime identity associated with the MCP Server.
  • agentregistry.googleapis.com/system/RuntimeReference: {"uri": "//..."}
  • the URI of the underlying resource hosting the MCP Server, for example, the GKE Deployment.

Returns:

  • (::Google::Protobuf::Map{::String => ::Google::Protobuf::Struct})

    Output only. Attributes of the MCP Server. Valid values:

    • agentregistry.googleapis.com/system/RuntimeIdentity: "principal://..." - the runtime identity associated with the MCP Server.
    • agentregistry.googleapis.com/system/RuntimeReference: {"uri": "//..."}
    • the URI of the underlying resource hosting the MCP Server, for example, the GKE Deployment.


60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'proto_docs/google/cloud/agentregistry/v1/mcp_server.rb', line 60

class McpServer
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents a single tool provided by an MCP Server.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Human-readable name of the tool.
  # @!attribute [r] description
  #   @return [::String]
  #     Output only. Description of what the tool does.
  # @!attribute [r] annotations
  #   @return [::Google::Cloud::AgentRegistry::V1::McpServer::Tool::Annotations]
  #     Output only. Annotations associated with the tool.
  class Tool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Annotations describing the characteristics and behavior of a tool or
    # operation.
    # @!attribute [r] title
    #   @return [::String]
    #     Output only. A human-readable title for the tool.
    # @!attribute [r] destructive_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool may perform destructive updates to its
    #     environment. If false, the tool performs only additive updates. NOTE:
    #     This property is meaningful only when `read_only_hint == false`
    #     Default: true
    # @!attribute [r] idempotent_hint
    #   @return [::Boolean]
    #     Output only. If true, calling the tool repeatedly with the same
    #     arguments will have no additional effect on its environment. NOTE: This
    #     property is meaningful only when `read_only_hint == false` Default:
    #     false
    # @!attribute [r] open_world_hint
    #   @return [::Boolean]
    #     Output only. If true, this tool may interact with an "open world" of
    #     external entities. If false, the tool's domain of interaction is
    #     closed. For example, the world of a web search tool is open, whereas
    #     that of a memory tool is not. Default: true
    # @!attribute [r] read_only_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool does not modify its environment.
    #     Default: false
    class Annotations
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Struct]
  class AttributesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#create_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. Create time.

Returns:



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'proto_docs/google/cloud/agentregistry/v1/mcp_server.rb', line 60

class McpServer
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents a single tool provided by an MCP Server.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Human-readable name of the tool.
  # @!attribute [r] description
  #   @return [::String]
  #     Output only. Description of what the tool does.
  # @!attribute [r] annotations
  #   @return [::Google::Cloud::AgentRegistry::V1::McpServer::Tool::Annotations]
  #     Output only. Annotations associated with the tool.
  class Tool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Annotations describing the characteristics and behavior of a tool or
    # operation.
    # @!attribute [r] title
    #   @return [::String]
    #     Output only. A human-readable title for the tool.
    # @!attribute [r] destructive_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool may perform destructive updates to its
    #     environment. If false, the tool performs only additive updates. NOTE:
    #     This property is meaningful only when `read_only_hint == false`
    #     Default: true
    # @!attribute [r] idempotent_hint
    #   @return [::Boolean]
    #     Output only. If true, calling the tool repeatedly with the same
    #     arguments will have no additional effect on its environment. NOTE: This
    #     property is meaningful only when `read_only_hint == false` Default:
    #     false
    # @!attribute [r] open_world_hint
    #   @return [::Boolean]
    #     Output only. If true, this tool may interact with an "open world" of
    #     external entities. If false, the tool's domain of interaction is
    #     closed. For example, the world of a web search tool is open, whereas
    #     that of a memory tool is not. Default: true
    # @!attribute [r] read_only_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool does not modify its environment.
    #     Default: false
    class Annotations
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Struct]
  class AttributesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#description::String (readonly)

Returns Output only. The description of the MCP Server.

Returns:

  • (::String)

    Output only. The description of the MCP Server.



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'proto_docs/google/cloud/agentregistry/v1/mcp_server.rb', line 60

class McpServer
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents a single tool provided by an MCP Server.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Human-readable name of the tool.
  # @!attribute [r] description
  #   @return [::String]
  #     Output only. Description of what the tool does.
  # @!attribute [r] annotations
  #   @return [::Google::Cloud::AgentRegistry::V1::McpServer::Tool::Annotations]
  #     Output only. Annotations associated with the tool.
  class Tool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Annotations describing the characteristics and behavior of a tool or
    # operation.
    # @!attribute [r] title
    #   @return [::String]
    #     Output only. A human-readable title for the tool.
    # @!attribute [r] destructive_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool may perform destructive updates to its
    #     environment. If false, the tool performs only additive updates. NOTE:
    #     This property is meaningful only when `read_only_hint == false`
    #     Default: true
    # @!attribute [r] idempotent_hint
    #   @return [::Boolean]
    #     Output only. If true, calling the tool repeatedly with the same
    #     arguments will have no additional effect on its environment. NOTE: This
    #     property is meaningful only when `read_only_hint == false` Default:
    #     false
    # @!attribute [r] open_world_hint
    #   @return [::Boolean]
    #     Output only. If true, this tool may interact with an "open world" of
    #     external entities. If false, the tool's domain of interaction is
    #     closed. For example, the world of a web search tool is open, whereas
    #     that of a memory tool is not. Default: true
    # @!attribute [r] read_only_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool does not modify its environment.
    #     Default: false
    class Annotations
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Struct]
  class AttributesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#display_name::String (readonly)

Returns Output only. The display name of the MCP Server.

Returns:

  • (::String)

    Output only. The display name of the MCP Server.



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'proto_docs/google/cloud/agentregistry/v1/mcp_server.rb', line 60

class McpServer
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents a single tool provided by an MCP Server.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Human-readable name of the tool.
  # @!attribute [r] description
  #   @return [::String]
  #     Output only. Description of what the tool does.
  # @!attribute [r] annotations
  #   @return [::Google::Cloud::AgentRegistry::V1::McpServer::Tool::Annotations]
  #     Output only. Annotations associated with the tool.
  class Tool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Annotations describing the characteristics and behavior of a tool or
    # operation.
    # @!attribute [r] title
    #   @return [::String]
    #     Output only. A human-readable title for the tool.
    # @!attribute [r] destructive_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool may perform destructive updates to its
    #     environment. If false, the tool performs only additive updates. NOTE:
    #     This property is meaningful only when `read_only_hint == false`
    #     Default: true
    # @!attribute [r] idempotent_hint
    #   @return [::Boolean]
    #     Output only. If true, calling the tool repeatedly with the same
    #     arguments will have no additional effect on its environment. NOTE: This
    #     property is meaningful only when `read_only_hint == false` Default:
    #     false
    # @!attribute [r] open_world_hint
    #   @return [::Boolean]
    #     Output only. If true, this tool may interact with an "open world" of
    #     external entities. If false, the tool's domain of interaction is
    #     closed. For example, the world of a web search tool is open, whereas
    #     that of a memory tool is not. Default: true
    # @!attribute [r] read_only_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool does not modify its environment.
    #     Default: false
    class Annotations
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Struct]
  class AttributesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#interfaces::Array<::Google::Cloud::AgentRegistry::V1::Interface> (readonly)

Returns Output only. The connection details for the MCP Server.

Returns:



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'proto_docs/google/cloud/agentregistry/v1/mcp_server.rb', line 60

class McpServer
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents a single tool provided by an MCP Server.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Human-readable name of the tool.
  # @!attribute [r] description
  #   @return [::String]
  #     Output only. Description of what the tool does.
  # @!attribute [r] annotations
  #   @return [::Google::Cloud::AgentRegistry::V1::McpServer::Tool::Annotations]
  #     Output only. Annotations associated with the tool.
  class Tool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Annotations describing the characteristics and behavior of a tool or
    # operation.
    # @!attribute [r] title
    #   @return [::String]
    #     Output only. A human-readable title for the tool.
    # @!attribute [r] destructive_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool may perform destructive updates to its
    #     environment. If false, the tool performs only additive updates. NOTE:
    #     This property is meaningful only when `read_only_hint == false`
    #     Default: true
    # @!attribute [r] idempotent_hint
    #   @return [::Boolean]
    #     Output only. If true, calling the tool repeatedly with the same
    #     arguments will have no additional effect on its environment. NOTE: This
    #     property is meaningful only when `read_only_hint == false` Default:
    #     false
    # @!attribute [r] open_world_hint
    #   @return [::Boolean]
    #     Output only. If true, this tool may interact with an "open world" of
    #     external entities. If false, the tool's domain of interaction is
    #     closed. For example, the world of a web search tool is open, whereas
    #     that of a memory tool is not. Default: true
    # @!attribute [r] read_only_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool does not modify its environment.
    #     Default: false
    class Annotations
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Struct]
  class AttributesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#mcp_server_id::String (readonly)

Returns Output only. A stable, globally unique identifier for MCP Servers.

Returns:

  • (::String)

    Output only. A stable, globally unique identifier for MCP Servers.



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'proto_docs/google/cloud/agentregistry/v1/mcp_server.rb', line 60

class McpServer
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents a single tool provided by an MCP Server.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Human-readable name of the tool.
  # @!attribute [r] description
  #   @return [::String]
  #     Output only. Description of what the tool does.
  # @!attribute [r] annotations
  #   @return [::Google::Cloud::AgentRegistry::V1::McpServer::Tool::Annotations]
  #     Output only. Annotations associated with the tool.
  class Tool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Annotations describing the characteristics and behavior of a tool or
    # operation.
    # @!attribute [r] title
    #   @return [::String]
    #     Output only. A human-readable title for the tool.
    # @!attribute [r] destructive_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool may perform destructive updates to its
    #     environment. If false, the tool performs only additive updates. NOTE:
    #     This property is meaningful only when `read_only_hint == false`
    #     Default: true
    # @!attribute [r] idempotent_hint
    #   @return [::Boolean]
    #     Output only. If true, calling the tool repeatedly with the same
    #     arguments will have no additional effect on its environment. NOTE: This
    #     property is meaningful only when `read_only_hint == false` Default:
    #     false
    # @!attribute [r] open_world_hint
    #   @return [::Boolean]
    #     Output only. If true, this tool may interact with an "open world" of
    #     external entities. If false, the tool's domain of interaction is
    #     closed. For example, the world of a web search tool is open, whereas
    #     that of a memory tool is not. Default: true
    # @!attribute [r] read_only_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool does not modify its environment.
    #     Default: false
    class Annotations
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Struct]
  class AttributesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#name::String

Returns Identifier. The resource name of the MCP Server. Format: projects/{project}/locations/{location}/mcpServers/{mcp_server}.

Returns:

  • (::String)

    Identifier. The resource name of the MCP Server. Format: projects/{project}/locations/{location}/mcpServers/{mcp_server}.



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'proto_docs/google/cloud/agentregistry/v1/mcp_server.rb', line 60

class McpServer
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents a single tool provided by an MCP Server.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Human-readable name of the tool.
  # @!attribute [r] description
  #   @return [::String]
  #     Output only. Description of what the tool does.
  # @!attribute [r] annotations
  #   @return [::Google::Cloud::AgentRegistry::V1::McpServer::Tool::Annotations]
  #     Output only. Annotations associated with the tool.
  class Tool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Annotations describing the characteristics and behavior of a tool or
    # operation.
    # @!attribute [r] title
    #   @return [::String]
    #     Output only. A human-readable title for the tool.
    # @!attribute [r] destructive_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool may perform destructive updates to its
    #     environment. If false, the tool performs only additive updates. NOTE:
    #     This property is meaningful only when `read_only_hint == false`
    #     Default: true
    # @!attribute [r] idempotent_hint
    #   @return [::Boolean]
    #     Output only. If true, calling the tool repeatedly with the same
    #     arguments will have no additional effect on its environment. NOTE: This
    #     property is meaningful only when `read_only_hint == false` Default:
    #     false
    # @!attribute [r] open_world_hint
    #   @return [::Boolean]
    #     Output only. If true, this tool may interact with an "open world" of
    #     external entities. If false, the tool's domain of interaction is
    #     closed. For example, the world of a web search tool is open, whereas
    #     that of a memory tool is not. Default: true
    # @!attribute [r] read_only_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool does not modify its environment.
    #     Default: false
    class Annotations
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Struct]
  class AttributesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#tools::Array<::Google::Cloud::AgentRegistry::V1::McpServer::Tool> (readonly)

Returns Output only. Tools provided by the MCP Server.

Returns:



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'proto_docs/google/cloud/agentregistry/v1/mcp_server.rb', line 60

class McpServer
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents a single tool provided by an MCP Server.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Human-readable name of the tool.
  # @!attribute [r] description
  #   @return [::String]
  #     Output only. Description of what the tool does.
  # @!attribute [r] annotations
  #   @return [::Google::Cloud::AgentRegistry::V1::McpServer::Tool::Annotations]
  #     Output only. Annotations associated with the tool.
  class Tool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Annotations describing the characteristics and behavior of a tool or
    # operation.
    # @!attribute [r] title
    #   @return [::String]
    #     Output only. A human-readable title for the tool.
    # @!attribute [r] destructive_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool may perform destructive updates to its
    #     environment. If false, the tool performs only additive updates. NOTE:
    #     This property is meaningful only when `read_only_hint == false`
    #     Default: true
    # @!attribute [r] idempotent_hint
    #   @return [::Boolean]
    #     Output only. If true, calling the tool repeatedly with the same
    #     arguments will have no additional effect on its environment. NOTE: This
    #     property is meaningful only when `read_only_hint == false` Default:
    #     false
    # @!attribute [r] open_world_hint
    #   @return [::Boolean]
    #     Output only. If true, this tool may interact with an "open world" of
    #     external entities. If false, the tool's domain of interaction is
    #     closed. For example, the world of a web search tool is open, whereas
    #     that of a memory tool is not. Default: true
    # @!attribute [r] read_only_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool does not modify its environment.
    #     Default: false
    class Annotations
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Struct]
  class AttributesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#update_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. Update time.

Returns:



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'proto_docs/google/cloud/agentregistry/v1/mcp_server.rb', line 60

class McpServer
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents a single tool provided by an MCP Server.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Human-readable name of the tool.
  # @!attribute [r] description
  #   @return [::String]
  #     Output only. Description of what the tool does.
  # @!attribute [r] annotations
  #   @return [::Google::Cloud::AgentRegistry::V1::McpServer::Tool::Annotations]
  #     Output only. Annotations associated with the tool.
  class Tool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Annotations describing the characteristics and behavior of a tool or
    # operation.
    # @!attribute [r] title
    #   @return [::String]
    #     Output only. A human-readable title for the tool.
    # @!attribute [r] destructive_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool may perform destructive updates to its
    #     environment. If false, the tool performs only additive updates. NOTE:
    #     This property is meaningful only when `read_only_hint == false`
    #     Default: true
    # @!attribute [r] idempotent_hint
    #   @return [::Boolean]
    #     Output only. If true, calling the tool repeatedly with the same
    #     arguments will have no additional effect on its environment. NOTE: This
    #     property is meaningful only when `read_only_hint == false` Default:
    #     false
    # @!attribute [r] open_world_hint
    #   @return [::Boolean]
    #     Output only. If true, this tool may interact with an "open world" of
    #     external entities. If false, the tool's domain of interaction is
    #     closed. For example, the world of a web search tool is open, whereas
    #     that of a memory tool is not. Default: true
    # @!attribute [r] read_only_hint
    #   @return [::Boolean]
    #     Output only. If true, the tool does not modify its environment.
    #     Default: false
    class Annotations
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Struct]
  class AttributesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end