Tool: list_agents
Return a paginated list of agents within a specified Google Cloud project and location. Use this to enumerate all agents or filter by basic resource attributes. Don't use this for natural language discovery; use search_agents instead.
The following sample demonstrate how to use curl to invoke the list_agents MCP tool.
| Curl Request |
|---|
curl --location 'https://agentregistry.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_agents", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Message for requesting list of Agents
ListAgentsRequest
| JSON representation |
|---|
{ "parent": string, "pageSize": integer, "pageToken": string, "filter": string, "orderBy": string } |
| Fields | |
|---|---|
parent |
Required. Parent value for ListAgentsRequest |
pageSize |
Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. |
pageToken |
Optional. A token identifying a page of results the server should return. |
filter |
Optional. Filtering results |
orderBy |
Optional. Hint for how to order the results |
Output Schema
Message for response to listing Agents
ListAgentsResponse
| JSON representation |
|---|
{
"agents": [
{
object ( |
| Fields | |
|---|---|
agents[] |
The list of Agents. |
nextPageToken |
A token identifying a page of results the server should return. |
Agent
| JSON representation |
|---|
{ "name": string, "agentId": string, "location": string, "displayName": string, "description": string, "version": string, "protocols": [ { object ( |
| Fields | |
|---|---|
name |
Identifier. The resource name of an Agent. Format: |
agentId |
Output only. A stable, globally unique identifier for agents. |
location |
Output only. The location where agent is hosted. The value is defined by the hosting environment (i.e. cloud provider). |
displayName |
Output only. The display name of the agent, often obtained from the A2A Agent Card. |
description |
Output only. The description of the Agent, often obtained from the A2A Agent Card. Empty if Agent Card has no description. |
version |
Output only. The version of the Agent, often obtained from the A2A Agent Card. Empty if Agent Card has no version or agent is not an A2A Agent. |
protocols[] |
Output only. The connection details for the Agent. |
skills[] |
Output only. Skills the agent possesses, often obtained from the A2A Agent Card. |
uid |
Output only. A universally unique identifier for the Agent. |
createTime |
Output only. Create time. 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. Update time. 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 |
Output only. Attributes of the Agent. Valid values:
An object containing a list of |
card |
Output only. Full Agent Card payload, when available. |
Protocol
| JSON representation |
|---|
{ "type": enum ( |
| Fields | |
|---|---|
type |
Output only. The type of the protocol. |
protocolVersion |
Output only. The version of the protocol, for example, the A2A Agent Card version. |
interfaces[] |
Output only. The connection details for the Agent. |
Interface
| JSON representation |
|---|
{
"url": string,
"protocolBinding": enum ( |
| Fields | |
|---|---|
url |
Required. The destination URL. |
protocolBinding |
Required. The protocol binding of the interface. |
Skill
| JSON representation |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ] } |
| Fields | |
|---|---|
id |
Output only. A unique identifier for the agent's skill. |
name |
Output only. A human-readable name for the agent's skill. |
description |
Output only. A more detailed description of the skill. |
tags[] |
Output only. Keywords describing the skill. |
examples[] |
Output only. Example prompts or scenarios this skill can handle. |
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 |
|
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. |
Card
| JSON representation |
|---|
{
"type": enum ( |
| Fields | |
|---|---|
type |
Output only. The type of agent card. |
content |
Output only. The content of the agent card. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌