En esta guía, se explica cómo crear, recuperar, enumerar, actualizar y borrar recursos de agentes personalizados que usan la API de Agentes administrados en Agent Platform, y cómo configurar el entorno del agente, las herramientas del servidor del Protocolo de contexto del modelo (MCP) y las habilidades.
Antes de comenzar
Antes de configurar tus agentes, configura tu entorno:
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Make sure that you have the following role or roles on the project: Agent Platform User (
roles/aiplatform.user) or Agent Platform Administrator (roles/aiplatform.admin)Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Make sure that you have the following role or roles on the project: Agent Platform User (
roles/aiplatform.user) or Agent Platform Administrator (roles/aiplatform.admin)Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
-
Si planeas usar herramientas del Protocolo de contexto del modelo (MCP) Google Cloud con tu agente, otorga el rol de usuario de herramientas de MCP (
roles/mcp.toolUser) tanto a tu cuenta de usuario como a la cuenta de servicio asociada.
Crea un agente
Para crear un nuevo agente personalizado, usa el método CreateAgent. Esta es una operación de larga duración.
El agente base
El base_agent es el arnés de orquestación principal que proporciona al agente capacidades de razonamiento y acceso al entorno de ejecución.
Puede insertar habilidades y bibliotecas en el entorno, y tiene acceso a herramientas del servidor para la ejecución de código, las operaciones del sistema de archivos y la búsqueda con fundamentación.
Cuando creas un agente, solo se admite un valor para base_agent: antigravity-preview-05-2026.
Crear un agente básico
Para crear un agente básico con herramientas predeterminadas y un destino de montaje de Google Cloud Storage, envía una solicitud POST:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación regional de tu agente. Solo se admite la región
global. AGENT_ID: Es el identificador personalizado único de tu nuevo agente. Los IDs de agentes personalizados deben cumplir con las siguientes restricciones:
- Debe tener entre 1 y 63 caracteres.
- Solo debe contener letras minúsculas, números y guiones.
- Debe empezar con una letra y terminar con una letra o un número.
BASE_AGENT: Es el nombre del agente base que se extenderá. Usa
antigravity-preview-05-2026AGENT_DESCRIPTION: Es un breve resumen del alcance del agente.
INSTRUCTIONS: Son las instrucciones del sistema o el arquetipo que se establecerán en el agente.
GCS_BUCKET: Es el segmento de la ruta de acceso a la carpeta de tu bucket de Google Cloud Storage que está activado (por ejemplo,
gs://cymbal-bucket-name). Nota: Para activar un bucket de otro proyecto, otorga a la cuenta de servicio del proyecto acceso dereadywriteal bucket.network: Por motivos de seguridad, el acceso a la red en el entorno está desactivado. Debes especificar un
allowlistpara habilitar el acceso. Usar*como dominio enallowlistpermite conexiones a todos los dominios, lo que proporciona acceso irrestricto a la red.
Método HTTP y URL
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents
Cuerpo JSON de la solicitud
{
"id": "AGENT_ID",
"base_agent": "BASE_AGENT",
"description": "AGENT_DESCRIPTION",
"system_instruction": "INSTRUCTIONS",
"tools": [
{"type": "code_execution"},
{"type": "filesystem"},
{"type": "google_search"},
{"type": "url_context"}
],
"base_environment": {
"type": "remote",
"sources": [
{
"type": "gcs",
"source": "GCS_BUCKET",
"target": "/.agent"
}
],
"network": {
"allowlist": [
{ "domain": "*" }
]
}
}
}
Comando curl
curl -X POST "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{
"id": "AGENT_ID",
"base_agent": "antigravity-preview-05-2026",
"description": "AGENT_DESCRIPTION",
"system_instruction": "INSTRUCTIONS",
"tools": [
{"type": "code_execution"},
{"type": "filesystem"},
{"type": "google_search"},
{"type": "url_context"}
],
"base_environment": {
"type": "remote",
"sources": [
{
"type": "gcs",
"source": "GCS_BUCKET",
"target": "/.agent"
}
],
"network": {
"allowlist": [
{ "domain": "*" }
]
}
}
}'
Ejemplo de respuesta
{
"name": "projects/1234567890/locations/global/agents/my-first-agent/operations/234567890123",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateAgentOperationMetadata",
"genericMetadata": {
"createTime": "2026-05-12T23:50:16.933752Z",
"updateTime": "2026-05-12T23:50:16.933752Z"
}
}
}
Python
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
from google import genai
client = genai.Client(
vertexai=True,
project="PROJECT_ID",
location="global",
)
agent = client.agents.create(
id="AGENT_ID",
base_agent="antigravity-preview-05-2026",
description="AGENT_DESCRIPTION",
system_instruction="INSTRUCTIONS",
tools=[
{"type": "code_execution"},
{"type": "google_search"},
{"type": "url_context"},
],
base_environment={
"type": "remote",
"sources": [
{
"type": "gcs",
"source": "GCS_BUCKET",
"target": "/.agent",
}
],
"network": {
"allowlist": [{"domain": "*"}]
},
},
)
JavaScript
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({
vertexai: true,
project: "PROJECT_ID",
location: "global",
});
const agent = await client.agents.create({
id: "AGENT_ID",
base_agent: "antigravity-preview-05-2026",
description: "AGENT_DESCRIPTION",
system_instruction: "INSTRUCTIONS",
tools: [
{ type: "code_execution" },
{ type: "google_search" },
{ type: "url_context" },
],
base_environment: {
type: "remote",
sources: [
{
type: "gcs",
source: "GCS_BUCKET",
target: "/.agent",
},
],
network: {
allowlist: [{ domain: "*" }],
},
},
});
Crea un agente con las herramientas propias de Google
Para crear un agente con herramientas propias de Google (como Grounding con la Búsqueda de Google y el contexto de URL), agrega estas herramientas a la lista tools en la configuración del agente:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación regional de tu agente. Solo se admite la región
global. AGENT_ID: Es el identificador personalizado único de tu nuevo agente. Los IDs de agentes personalizados deben cumplir con las siguientes restricciones:
- Debe tener entre 1 y 63 caracteres.
- Solo debe contener letras minúsculas, números y guiones.
- Debe empezar con una letra y terminar con una letra o un número.
AGENT_DESCRIPTION: Es un breve resumen del alcance del agente.
Cuerpo JSON de la solicitud
{
"id": "AGENT_ID",
"base_agent": "antigravity-preview-05-2026",
"description": "AGENT_DESCRIPTION",
"tools": [
{
"type": "google_search"
},
{
"type": "url_context"
}
],
"base_environment": {
"type": "remote",
"network": {
"allowlist": [
{ "domain": "*" }
]
}
}
}
Comando curl
curl -X POST "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{
"id": "AGENT_ID",
"base_agent": "antigravity-preview-05-2026",
"description": "AGENT_DESCRIPTION",
"tools": [
{
"type": "google_search"
},
{
"type": "url_context"
}
],
"base_environment": {
"type": "remote",
"network": {
"allowlist": [
{ "domain": "*" }
]
}
}
}'
Crea un agente con la configuración del MCP
Puedes crear un agente con herramientas del servidor de MCP preconfiguradas usando la API de Agentes administrados en Agent Platform.
Antes de comenzar
Antes de crear un agente con herramientas del servidor de MCP preconfiguradas, haz lo siguiente:
Otorga el rol de Identity and Access Management (IAM) de usuario de la herramienta de MCP (
roles/mcp.toolUser) a tu cuenta de usuario y a la cuenta de servicio asociada.Confirma que los servidores de MCP en tu configuración se comuniquen a través de
HTTP POSTestándar para la ejecución y las fichas de herramientas. La API de Managed Agents en Agent Platform requiere que los servidores de MCP remotos sean servidores HTTP transmitibles. Los servidores de MCP deben implementar el transporte HTTP transmitible de MCP, en el quetools/listytools/callse envían como JSON-RPC a través deHTTP POST.No se admite el transporte HTTP + SSE de dos extremos que dejó de estar disponible (un flujo
GET /sseindependiente de larga duración).
Autoriza los MCP alojados en Google
Si usas un token de portador para la autorización de servidores de MCP alojados en Google (como BigQuery), completa los siguientes pasos:
- Agrega permisos de OAuth: Agrega los permisos de OAuth 2.0 necesarios a tu token de autenticación. Por ejemplo, para usar el MCP de BigQuery, incluye los permisos relevantes de BigQuery en tu solicitud.
- Validar el acceso: Verifica si se puede acceder al servidor de MCP con los permisos recién configurados probando el flujo de autorización en OAuth Playground.
- Use Headers: Para los MCP de Google, como BigQuery, debes incluir el encabezado
X-Goog-User-Projectestablecido en el nombre de tu proyecto en el mapaheaders.
Por ejemplo, el cuerpo JSON de la solicitud que se usa para crear un agente que usa el MCP de BigQuery se parecería al siguiente:
{
"name": "projects/<projectname>/locations/global/agents/data-analyst",
"id": "data-analyst",
"system_instruction": "You are a data analyst. Use the provided tools and data to perform analysis.",
"tools": [
{ "type": "code_execution" },
{ "type": "filesystem" },
{ "type": "google_search" },
{ "type": "url_context" },
{
"type": "mcp_server",
"name": "bigquery-mcp",
"url": "https://mcp-bigquery.googleapis.com/v1",
"headers": {
"Authorization": "Bearer ya29.a0AQyyyy",
"X-Goog-User-Project": "project-nameyyyy"
}
}
],
"base_environment": {
"type": "remote",
"sources": [
{
"type": "gcs",
"source": "gs://agents-1",
"target": "/.agent/agents-1"
}
],
"network": {
"allowlist": [ { "domain": "*" } ]
}
},
"base_agent": "antigravity-preview-05-2026",
"object": "agent"
}
Crea el agente
Para crear un agente con herramientas de servidor de MCP preconfiguradas, agrega detalles en la sección tools:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación regional de tu agente. Solo se admite la región
global. AGENT_ID: Es el identificador personalizado único de tu nuevo agente. Los IDs de agentes personalizados deben cumplir con las siguientes restricciones:
- Debe tener entre 1 y 63 caracteres.
- Solo debe contener letras minúsculas, números y guiones.
- Debe empezar con una letra y terminar con una letra o un número.
AGENT_DESCRIPTION: Es un breve resumen del alcance del agente.
MCP_SERVER_NAME: Es un nombre descriptivo para la herramienta de MCP.
MCP_SERVER_URL: Es la URL de la puerta de enlace HTTP remota del servidor de MCP.
MCP_HEADER_KEY: Opcional Nombre del encabezado para la autenticación (por ejemplo,
Authorization).MCP_HEADER_VALUE: Opcional Token de portador de autenticación (por ejemplo,
Bearer <token>)
Cuerpo JSON de la solicitud
{
"id": "AGENT_ID",
"base_agent": "antigravity-preview-05-2026",
"description": "AGENT_DESCRIPTION",
"tools": [
{
"type": "mcp_server",
"name": "MCP_SERVER_NAME",
"url": "MCP_SERVER_URL",
"headers": {
"MCP_HEADER_KEY": "MCP_HEADER_VALUE"
}
}
]
}
Comando curl
curl -X POST "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{
"id": "AGENT_ID",
"base_agent": "antigravity-preview-05-2026",
"description": "AGENT_DESCRIPTION",
"tools": [
{
"type": "mcp_server",
"name": "MCP_SERVER_NAME",
"url": "MCP_SERVER_URL",
"headers": {
"MCP_HEADER_KEY": "MCP_HEADER_VALUE"
}
}
]
}'
Python
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
from google import genai
client = genai.Client(
vertexai=True,
project="PROJECT_ID",
location="global",
)
agent = client.agents.create(
id="AGENT_ID",
base_agent="antigravity-preview-05-2026",
description="AGENT_DESCRIPTION",
tools=[
{
"type": "mcp_server",
"name": "MCP_SERVER_NAME",
"url": "MCP_SERVER_URL",
"headers": {
"MCP_HEADER_KEY": "MCP_HEADER_VALUE"
},
}
],
)
JavaScript
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({
vertexai: true,
project: "PROJECT_ID",
location: "global",
});
const agent = await client.agents.create({
id: "AGENT_ID",
base_agent: "antigravity-preview-05-2026",
description: "AGENT_DESCRIPTION",
tools: [
{
type: "mcp_server",
name: "MCP_SERVER_NAME",
url: "MCP_SERVER_URL",
headers: {
"MCP_HEADER_KEY": "MCP_HEADER_VALUE",
},
},
],
});
Cómo adjuntar habilidades a un agente
Para cargar una habilidad reutilizable directamente cuando crees el agente, móntala dentro de base_environment.sources.
Puedes adjuntar habilidades con cualquiera de los siguientes métodos:
Skill Registry: Adjunta una habilidad registrada en tu proyecto en Skill Registry.
Google Cloud Storage: Adjunta habilidades personalizadas directamente desde un bucket de Cloud Storage.
Como práctica recomendada, te recomendamos que montes las habilidades en la carpeta
/.agent/skillsdel entorno para que el agente las pueda detectar con mayor facilidad.
Habilidades de la CLI
Los desarrolladores también pueden instalar habilidades especializadas en la CLI que prefieran para administrar agentes e interacciones de forma programática:
Cómo adjuntar una habilidad desde el Registro de habilidades
Para cargar una habilidad reutilizable directamente desde el Registro de habilidades cuando crees el agente, haz lo siguiente:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
PROJECT_ID: Es el ID del proyecto de Google Cloud .LOCATION: Es la ubicación regional de tu agente. Solo se admite la regiónglobal.AGENT_ID: Es el identificador personalizado único de tu nuevo agente. Los IDs de agentes personalizados deben cumplir con las siguientes restricciones:- Debe tener entre 1 y 63 caracteres.
- Solo debe contener letras minúsculas, números y guiones.
- Debe empezar con una letra y terminar con una letra o un número.
-
SKILL_RESOURCE_NAME: Es la ruta de acceso del recurso de la skill o la lista de skills que se activarán. Puedes especificar uno de los siguientes formatos:-
Habilidad (versión predeterminada):
projects/{projectID}/locations/{location}/skills/{skillName} -
Versión específica:
projects/{projectID}/locations/{location}/skills/{skillName}/skill_versions/{skill_version} -
Lista de habilidades:
projects/{projectID}/locations/{location}/skills. Esto activa hasta 100 habilidades delproject/locationespecificado en el entorno de zona de pruebas.
-
Habilidad (versión predeterminada):
Cuerpo JSON de la solicitud
{ "id": "AGENT_ID", "base_agent": "antigravity-preview-05-2026", "base_environment": { "type": "remote", "sources": [ { "type": "skill_registry", "source": "SKILL_RESOURCE_NAME", "target": "/.agent/skills" } ], "network": { "allowlist": [ { "domain": "*" } ] } } }
Comando curl
curl -X POST "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{ "id": "AGENT_ID", "base_agent": "antigravity-preview-05-2026", "base_environment": { "type": "remote", "sources": [ { "type": "skill_registry", "source": "SKILL_RESOURCE_NAME", "target": "/.agent/skills" } ], "network": { "allowlist": [ { "domain": "*" } ] } } }'
Python
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
from google import genai client = genai.Client( vertexai=True, project="PROJECT_ID", location="global", ) agent = client.agents.create( id="AGENT_ID", base_agent="antigravity-preview-05-2026", base_environment={ "type": "remote", "sources": [ { "type": "skill_registry", "source": "SKILL_RESOURCE_NAME", "target": "./skills", } ], "network": { "allowlist": [{"domain": "*"}] }, }, )
JavaScript
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
import { GoogleGenAI } from "@google/genai"; const client = new GoogleGenAI({ vertexai: true, project: "PROJECT_ID", location: "global", }); const agent = await client.agents.create({ id: "AGENT_ID", base_agent: "antigravity-preview-05-2026", base_environment: { type: "remote", sources: [ { type: "skill_registry", source: "SKILL_RESOURCE_NAME", target: "./skills", }, ], network: { allowlist: [{ domain: "*" }], }, }, });
Cómo adjuntar una habilidad desde Google Cloud Storage
Como alternativa, puedes adjuntar habilidades personalizadas directamente desde un bucket de Cloud Storage cuando crees el agente.
Ten en cuenta los siguientes requisitos cuando montes habilidades desde Cloud Storage:
- Requisitos de carga: Debes subir toda la carpeta de la skill al bucket.
- Sin validación de contenido: El backend no valida el contenido de la carpeta antes de la vinculación, sino que se comporta como una carga de carpeta estándar.
- Límites de tamaño: Todos los archivos adjuntos están sujetos a los límites de memoria del entorno de zona de pruebas (hasta 4 GiB de RAM en total).
- Prácticas recomendadas: Para obtener una calidad óptima de la skill, estructura y prepara los archivos de la carpeta de la skill según las convenciones que se describen en agentskills.io/home.
Para adjuntar una habilidad desde Google Cloud Storage cuando crees el agente, haz lo siguiente:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
PROJECT_ID: Es el ID del proyecto de Google Cloud .LOCATION: Es la ubicación regional de tu agente. Solo se admite la regiónglobal.AGENT_ID: Es el identificador personalizado único de tu nuevo agente. Los IDs de agentes personalizados deben cumplir con las siguientes restricciones:- Debe tener entre 1 y 63 caracteres.
- Solo debe contener letras minúsculas, números y guiones.
- Debe empezar con una letra y terminar con una letra o un número.
GCS_SOURCE_PATH: Es la ruta de acceso al bucket de Google Cloud Storage que contiene la carpeta de tu skill (por ejemplo,gs://cymbal-bucket-name/my-skill-folder).
Cuerpo JSON de la solicitud
{ "id": "AGENT_ID", "base_agent": "antigravity-preview-05-2026", "base_environment": { "type": "remote", "sources": [ { "type": "gcs", "source": "GCS_SOURCE_PATH", "target": "/.agent/skills" } ], "network": { "allowlist": [ { "domain": "*" } ] } } }
Comando curl
curl -X POST "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{ "id": "AGENT_ID", "base_agent": "antigravity-preview-05-2026", "base_environment": { "type": "remote", "sources": [ { "type": "gcs", "source": "GCS_SOURCE_PATH", "target": "./skills" } ], "network": { "allowlist": [ { "domain": "*" } ] } } }'
Python
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
from google import genai client = genai.Client( vertexai=True, project="PROJECT_ID", location="global", ) agent = client.agents.create( id="AGENT_ID", base_agent="antigravity-preview-05-2026", base_environment={ "type": "remote", "sources": [ { "type": "gcs", "source": "GCS_SOURCE_PATH", "target": "./skills", } ], "network": { "allowlist": [{"domain": "*"}] }, }, )
JavaScript
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
import { GoogleGenAI } from "@google/genai"; const client = new GoogleGenAI({ vertexai: true, project: "PROJECT_ID", location: "global", }); const agent = await client.agents.create({ id: "AGENT_ID", base_agent: "antigravity-preview-05-2026", base_environment: { type: "remote", sources: [ { type: "gcs", source: "GCS_SOURCE_PATH", target: "./skills", }, ], network: { allowlist: [{ domain: "*" }], }, }, });
Mostrar lista de agentes
Para enumerar todos los agentes guardados en tu proyecto, envía una solicitud GET. Puedes usar la paginación opcional para controlar la cantidad de resultados por página.
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación regional de los agentes de la ficha. Solo se admite la región
global. - PAGE_SIZE: Opcional Es la cantidad máxima de agentes que se devolverán por página. El valor predeterminado es 10 y el valor máximo es 100.
- PAGE_TOKEN: Opcional Es un token de página, recibido de una respuesta
ListAgentsanterior. Proporciona este token para recuperar la página siguiente de resultados.
Cuando la cantidad de agentes que se deben devolver es mayor que PAGE_SIZE, la respuesta ListAgents incluye un campo nextPageToken. Para recuperar la siguiente página de agentes, pasa el valor de este nextPageToken como el parámetro PAGE_TOKEN en tu próxima solicitud de ListAgents. Repite este proceso hasta que el campo nextPageToken ya no se muestre en la respuesta.
Método HTTP y URL
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Comando curl
curl -X GET "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)"
Ejemplo de respuesta
{
"agents": [
{
"name": "projects/1234567890/locations/global/agents/my-first-agent",
"id": "my-first-agent",
"created": "2026-05-12T23:50:16.933Z",
"updated": "2026-05-12T23:50:21.159Z",
"systemInstruction": "You are a helpful assistant to user."
}
],
"nextPageToken": "ABCDEFGHIJKLMNOPQRSTUVWXYZ=="
}
Python
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
from google import genai
client = genai.Client(
vertexai=True,
project="PROJECT_ID",
location="global",
)
response = client.agents.list()
for agent in response.agents:
print(agent)
JavaScript
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({
vertexai: true,
project: "PROJECT_ID",
location: "global",
});
const response = await client.agents.list();
if (response.agents) {
for (const agent of response.agents) {
console.log(agent);
}
}
Obtén un agente
Para recuperar la configuración completa de un agente especificado, usa una solicitud GET.
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
LOCATION: Es la ubicación regional de tu agente. Solo se admite la región
global.AGENT_ID: Es el ID único de la configuración del agente personalizado que solicitas.
Método HTTP y URL
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID
Comando curl
curl -X GET "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)"
Ejemplo de respuesta
{
"name": "projects/vertex-agent-fishfood/locations/global/agents/my-first-agent",
"id": "my-first-agent",
"created": "2026-05-12T23:50:16.933Z",
"updated": "2026-05-12T23:50:21.159Z",
"systemInstruction": "You are a helpful assistant to user.",
"tools": [
{"type": "code_execution"},
{"type": "filesystem"},
{"type": "google_search"},
{"type": "url_context"}
],
"description": "A demo agent showcasing Environment and Skills use case.",
"baseEnvironment": {
"type": "remote",
"sources": [
{
"type": "gcs",
"source": "gs://agents-api-sample-skills",
"target": "/.agent"
}
],
"network": {
"allowlist": [
{"domain": "*"}
]
}
},
"baseAgent": "antigravity-preview-05-2026",
"object": "agent"
}
Python
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
from google import genai
client = genai.Client(
vertexai=True,
project="PROJECT_ID",
location="global",
)
agent = client.agents.get(id="AGENT_ID")
print(agent)
JavaScript
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({
vertexai: true,
project: "PROJECT_ID",
location: "global",
});
const agent = await client.agents.get("AGENT_ID");
console.log(agent);
Actualiza un agente
Para actualizar la configuración de un agente existente, envía una solicitud PATCH. Si bien el ID del agente es inmutable, puedes modificar parámetros como instrucciones, herramientas y variables de entorno. Usa el parámetro de consulta update_mask para especificar exactamente qué campos actualizar. Esto garantiza que solo se vean afectados los campos que deseas cambiar y se conserven otras configuraciones.
Actualiza un agente básico
Para actualizar las instrucciones del sistema de un agente, envía una solicitud PATCH con update_mask=system_instruction:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación regional del agente. Solo se admite la región
global. - AGENT_ID: Es la configuración del agente de destino para actualizar el parche.
- NEW_INSTRUCTIONS: Es la estructura o descripción de las instrucciones actualizadas que se reemplazarán.
Método HTTP y URL
PATCH https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID?update_mask=system_instruction
Cuerpo JSON de la solicitud
{
"name": "AGENT_ID",
"system_instruction": "NEW_INSTRUCTIONS"
}
Comando curl
curl -X PATCH "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID?update_mask=system_instruction" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{
"name": "AGENT_ID",
"system_instruction": "NEW_INSTRUCTIONS"
}'
Python
JavaScript
Actualiza un agente con herramientas propias de Google
Para actualizar un agente y habilitar las herramientas propias (1P) de Google (como la fundamentación con la Búsqueda de Google y el contexto de URL), envía una solicitud PATCH con update_mask=tools:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación regional del agente. Solo se admite la región
global. - AGENT_ID: ID del agente objetivo.
Cuerpo JSON de la solicitud
{
"name": "AGENT_ID",
"tools": [
{
"type": "google_search"
},
{
"type": "url_context"
}
]
}
Comando curl
curl -X PATCH "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID?update_mask=tools" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{
"name": "AGENT_ID",
"tools": [
{
"type": "google_search"
},
{
"type": "url_context"
}
]
}'
Actualiza un agente con la configuración del MCP
Para modificar las herramientas del MCP adjuntas a tu agente, envía una solicitud PATCH con update_mask=tools:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación regional del agente. Solo se admite la región
global. - AGENT_ID: ID del agente objetivo.
- NEW_MCP_SERVER_NAME: Es la etiqueta actualizada de tus herramientas del MCP.
- NEW_MCP_SERVER_URL: Es el nuevo parámetro del extremo de URL del servidor.
- NEW_MCP_HEADER_KEY: Opcional Nombre del encabezado para la autenticación (por ejemplo,
Authorization). - NEW_MCP_HEADER_VALUE: Opcional Token de portador de autenticación (por ejemplo,
Bearer <token>)
Cuerpo JSON de la solicitud
{
"name": "AGENT_ID",
"tools": [
{
"type": "mcp_server",
"name": "NEW_MCP_SERVER_NAME",
"url": "NEW_MCP_SERVER_URL",
"headers": {
"NEW_MCP_HEADER_KEY": "NEW_MCP_HEADER_VALUE"
}
}
]
}
Comando curl
curl -X PATCH "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID?update_mask=tools" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{
"name": "AGENT_ID",
"tools": [
{
"type": "mcp_server",
"name": "NEW_MCP_SERVER_NAME",
"url": "NEW_MCP_SERVER_URL",
"headers": {
"NEW_MCP_HEADER_KEY": "NEW_MCP_HEADER_VALUE"
}
}
]
}'
Python
JavaScript
Cómo adjuntar habilidades a un agente
Para adjuntar o modificar habilidades en base_environment.sources durante una actualización del agente, envía una solicitud PATCH con update_mask=base_environment.
Puedes adjuntar habilidades con cualquiera de los siguientes métodos:
Skill Registry: Adjunta una habilidad registrada en tu proyecto en Skill Registry.
Google Cloud Storage: Adjunta habilidades personalizadas directamente desde un bucket de Cloud Storage.
Cómo adjuntar una habilidad desde el Registro de habilidades
Para adjuntar una habilidad registrada en el Registro de habilidades, haz lo siguiente:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
PROJECT_ID: Es el ID del proyecto de Google Cloud .LOCATION: Es la ubicación regional del agente. Solo se admite la regiónglobal.AGENT_ID: ID del agente objetivo.NEW_SKILL_RESOURCE_NAME: Es la ruta de acceso del recurso de la skill o la lista de skills que se activarán. Puedes especificar uno de los siguientes formatos:- Habilidad (versión predeterminada):
projects/{projectID}/locations/{location}/skills/{skillName} - Versión de la skill (fija una versión específica):
projects/{projectID}/locations/{location}/skills/{skillName}/skill_versions/{skill_version} - ListSkills (Mount all skills):
projects/{projectID}/locations/{location}/skills. Esto activa hasta 100 habilidades en el proyecto o la ubicación en el entorno de zona de pruebas.
nameparaNEW_SKILL_RESOURCE_NAME, consulta Cómo enumerar habilidades.- Habilidad (versión predeterminada):
Cuerpo JSON de la solicitud
{ "name": "AGENT_ID", "base_environment": { "type": "remote", "sources": [ { "type": "skill_registry", "source": "NEW_SKILL_RESOURCE_NAME", "target": "/.agent/skills" } ], "network": { "allowlist": [ { "domain": "*" } ] } } }
Comando curl
curl -X PATCH "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID?update_mask=base_environment" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{ "name": "AGENT_ID", "base_environment": { "type": "remote", "sources": [ { "type": "skill_registry", "source": "NEW_SKILL_RESOURCE_NAME", "target": "/.agent/skills" } ], "network": { "allowlist": [ { "domain": "*" } ] } } }'
Python
JavaScript
Cómo adjuntar una habilidad desde Google Cloud Storage
Como alternativa, puedes adjuntar habilidades personalizadas directamente desde un bucket de Cloud Storage cuando crees el agente.
Ten en cuenta los siguientes requisitos cuando montes habilidades desde Cloud Storage:
- Requisitos de carga: Debes subir toda la carpeta de la skill al bucket.
- Sin validación de contenido: El backend no valida el contenido de la carpeta antes de la vinculación, sino que se comporta como una carga de carpeta estándar.
- Límites de tamaño: Todos los archivos adjuntos están sujetos a los límites de memoria del entorno de zona de pruebas (hasta 4 GiB de RAM en total).
- Prácticas recomendadas: Para obtener una calidad óptima de la skill, estructura y prepara los archivos de la carpeta de la skill según las convenciones que se describen en agentskills.io/home.
Para adjuntar una habilidad desde Google Cloud Storage, haz lo siguiente:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
PROJECT_ID: Es el ID del proyecto de Google Cloud .LOCATION: Es la ubicación regional del agente. Solo se admite la regiónglobal.AGENT_ID: ID del agente objetivo.NEW_GCS_SOURCE_PATH: Es la ruta de acceso al bucket de Google Cloud Storage que contiene la carpeta de tu skill (por ejemplo,gs://cymbal-bucket-name/my-skill-folder).
Cuerpo JSON de la solicitud
{ "name": "AGENT_ID", "base_environment": { "type": "remote", "sources": [ { "type": "gcs", "source": "NEW_GCS_SOURCE_PATH", "target": "/.agent/skills" } ], "network": { "allowlist": [ { "domain": "*" } ] } } }
Comando curl
curl -X PATCH "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID?update_mask=base_environment" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{ "name": "AGENT_ID", "base_environment": { "type": "remote", "sources": [ { "type": "gcs", "source": "NEW_GCS_SOURCE_PATH", "target": "/.agent/skills" } ], "network": { "allowlist": [ { "domain": "*" } ] } } }'
Python
JavaScript
Borra un agente
Para borrar la configuración de un agente personalizado específico, envía una solicitud DELETE. Esta es una operación de larga duración que borra la configuración de forma permanente.
Cuando borres un agente, proporciona toda la información necesaria en la URL y no incluyas un cuerpo de solicitud JSON.
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la región del agente. Solo se admite la región
global. - AGENT_ID: Es el ID del agente que borras.
Método HTTP y URL
DELETE https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID
Comando curl
curl -X DELETE "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)"
Ejemplo de respuesta
{
"name": "projects/1234567890/locations/global/operations/234567890123",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.DeleteOperationMetadata",
"genericMetadata": {
"createTime": "2026-05-13T02:15:45.936287Z",
"updateTime": "2026-05-13T02:15:45.936287Z"
}
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.protobuf.Empty"
}
}
Python
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
from google import genai
client = genai.Client(
vertexai=True,
project="PROJECT_ID",
location="global",
)
response = client.agents.delete(id="AGENT_ID")
print(response)
JavaScript
Antes de ejecutar este código, configura las variables que se describen en la pestaña REST.
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({
vertexai: true,
project: "PROJECT_ID",
location: "global",
});
const response = await client.agents.delete("AGENT_ID");
console.log(response);
Obtén detalles de una operación de larga duración
Las operaciones como CreateAgent, UpdateAgent y DeleteAgent son asíncronas. La respuesta inicial de la API muestra un campo name que contiene el ID de operación. Usa GetOperation en este ID para sondear el progreso.
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación regional de la operación. Solo se admite la región
global. - OPERATION_ID: Es el ID de operación extraído del campo
nameen la respuesta inicial de la LRO.
Método HTTP y URL
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Comando curl
curl -X GET "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)"
Python
JavaScript
Configurar el acceso a la red
De forma predeterminada, la zona de pruebas inhabilita el acceso a la red cuando creas agentes con la API de Agents. Para permitir el acceso sin restricciones, usa *.
Por ejemplo, usar * en allowlist, como se muestra en el siguiente código, otorga acceso a todos los dominios:
"base_environment": {
"type": "remote",
"sources": [
{
"type": "skill_registry",
"source": "SKILL_RESOURCE_NAME",
"target": "./skills"
}
],
"network": {
"allowlist": [{"domain": "*"}]
}
}
¿Qué sigue?
Interactúa con agentes
Aprende a interactuar con los agentes en el tiempo de ejecución, administrar el estado de la sesión y anular la configuración de forma dinámica.