En esta guía, se explica cómo crear, recuperar, enumerar, actualizar y borrar recursos de agentes personalizados que usan la API de Managed Agents en Agent Platform, y cómo configurar el entorno del agente, las herramientas del servidor de Protocolo de contexto del modelo (MCP) y las habilidades.
Antes de comenzar
Antes de configurar tus agentes, configura tu entorno:
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 Cloud de Confiance project.
Enable the Agent Platform API, if it is not already enabled.
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 Cloud de Confiance 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 Cloud de Confiance 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 identifier for a user in a workforce identity pool. For details, see Represent workforce pool users in IAM policies, or contact your administrator.
- 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 Cloud de Confiance by S3NS Protocolo de contexto del modelo (MCP) con tu
agente, otorga el rol de usuario de la herramienta de MCP (
roles/mcp.toolUser) tanto a tu cuenta de usuario como a la cuenta de servicio asociada.
Crea un agente
Para crear un agente personalizado nuevo, 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 organización central 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 lado del servicio para la ejecución de código, operaciones del sistema de archivos y 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 activación 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 Cloud de Confiance by S3NS .
- LOCATION: Es la ubicación regional de tu agente. Solo se admite la región
global. AGENT_ID: Es el identificador personalizado único para tu agente nuevo. 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 perfil que se establecerán en el agente.
GCS_BUCKET: Es el segmento de la ruta de acceso de la carpeta de tu bucket de Google Cloud Storage activado (por ejemplo,
gs://cymbal-bucket-name). Nota: Para activar un bucket de un proyecto diferente, 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 sin restricciones 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 application-default 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 la Fundamentación 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 Cloud de Confiance by S3NS .
- LOCATION: Es la ubicación regional de tu agente. Solo se admite la región
global. AGENT_ID: Es el identificador personalizado único para tu agente nuevo. 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 application-default 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 parámetros de configuración de MCP
Puedes crear un agente con herramientas de servidor de MCP preconfiguradas con la API de Managed Agents en Agent Platform.
Antes de comenzar
Antes de crear un agente con herramientas de servidor de MCP preconfiguradas, haz lo siguiente:
Otorga el rol de Identity and Access Management (IAM) de usuario de herramientas de MCP (
roles/mcp.toolUser) tanto a tu cuenta de usuario como a la cuenta de servicio asociada.Confirma que los servidores de MCP de tu configuración se comuniquen a través de
HTTP POSTestándar para la ejecución y la lista de herramientas. La API de Managed Agents en Agent Platform requiere que los servidores de MCP remotos sean servidores HTTP que admitan transmisión. Los servidores de MCP deben implementar el transporte HTTP transmisible 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 obsoleto (un flujo
GET /sseindependiente de larga duración).
Autoriza los MCP alojados en Google
Si usas un token del 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 de BigQuery relevantes en tu solicitud.
- Valida el acceso: Verifica si se puede acceder al servidor de MCP con tus permisos recién configurados probando el flujo de autorización en OAuth Playground.
- Usa encabezados: 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 use el MCP de BigQuery se vería de la siguiente manera:
{
"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://bigquery.googleapis.com/mcp",
"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 Cloud de Confiance by S3NS .
- LOCATION: Es la ubicación regional de tu agente. Solo se admite la región
global. AGENT_ID: Es el identificador personalizado único para tu agente nuevo. 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 Es el nombre del encabezado para la autenticación (por ejemplo,
Authorization).MCP_HEADER_VALUE: Opcional Es el token del 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 application-default 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",
},
},
],
});
Adjunta habilidades a un agente
Para cargar una habilidad reutilizable directamente cuando creas el agente,
móntala dentro de base_environment.sources.
Puedes adjuntar habilidades con cualquiera de los siguientes métodos:
Registro de habilidades: Adjunta una habilidad registrada en tu proyecto en el Registro de habilidades.
Google Cloud Storage: Adjunta habilidades personalizadas directamente desde un bucket de Cloud Storage.
Como práctica recomendada, te sugerimos activar las habilidades en la carpeta
/.agent/skillsdel entorno para que el agente las descubra con mayor facilidad.
Habilidades de la CLI
Los desarrolladores también pueden instalar habilidades especializadas en la CLI que elijan para administrar de forma programática los agentes y las interacciones:
Adjunta una habilidad del Registro de habilidades
Para cargar una habilidad reutilizable directamente desde el Registro de habilidades cuando crees el agente, sigue estos pasos:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
PROJECT_ID: Es el ID del proyecto de Cloud de Confiance by S3NS .LOCATION: Es la ubicación regional de tu agente. Solo se admite la regiónglobal.AGENT_ID: Es el identificador personalizado único para tu agente nuevo. 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 habilidad o la lista de habilidades 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 application-default 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: "*" }], }, }, });
Adjunta 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 actives habilidades desde Cloud Storage:
- Requisitos de carga: Debes subir toda la carpeta de habilidades al bucket.
- No hay validación de contenido: El backend no valida el contenido de la carpeta antes de activarla; 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 las habilidades, estructura y prepara los archivos en tu carpeta de habilidades siguiendo las convenciones descritas en agentskills.io/home.
Para adjuntar una habilidad desde Google Cloud Storage cuando crees el agente, sigue estos pasos:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
PROJECT_ID: Es el ID del proyecto de Cloud de Confiance by S3NS .LOCATION: Es la ubicación regional de tu agente. Solo se admite la regiónglobal.AGENT_ID: Es el identificador personalizado único para tu agente nuevo. 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 del bucket de Google Cloud Storage que contiene la carpeta de habilidades (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 application-default 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 Cloud de Confiance by S3NS .
- LOCATION: Es la ubicación regional para enumerar los agentes. 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 desde una respuesta
ListAgentsanterior. Proporciona este token para recuperar la página siguiente de resultados.
Cuando la cantidad de agentes que se mostrarán 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 ListAgents. Repite este proceso hasta que el campo nextPageToken ya no se devuelva 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 application-default 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 específico, 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 Cloud de Confiance by S3NS .
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 application-default 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, lo que preserva 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 Cloud de Confiance by S3NS .
- 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 aplicar la actualización de 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 application-default print-access-token)" \
-d '{
"name": "AGENT_ID",
"system_instruction": "NEW_INSTRUCTIONS"
}'
Python
JavaScript
Actualiza un agente con las 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 Cloud de Confiance by S3NS .
- LOCATION: Es la ubicación regional del agente. Solo se admite
la región
global. - AGENT_ID: Es el ID del agente de destino.
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 application-default print-access-token)" \
-d '{
"name": "AGENT_ID",
"tools": [
{
"type": "google_search"
},
{
"type": "url_context"
}
]
}'
Actualiza un agente con parámetros de configuración de MCP
Para modificar las herramientas de 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 Cloud de Confiance by S3NS .
- LOCATION: Es la ubicación regional del agente. Solo se admite
la región
global. - AGENT_ID: Es el ID del agente de destino.
- NEW_MCP_SERVER_NAME: Se actualizó la etiqueta de tus herramientas de MCP.
- NEW_MCP_SERVER_URL: Es el nuevo parámetro de URL del extremo del servidor.
- NEW_MCP_HEADER_KEY: Opcional Es el nombre del encabezado para
la autenticación (por ejemplo,
Authorization). - NEW_MCP_HEADER_VALUE: Opcional Es el token del 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 application-default 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
Adjunta 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:
Registro de habilidades: Adjunta una habilidad registrada en tu proyecto en el Registro de habilidades.
Google Cloud Storage: Adjunta habilidades personalizadas directamente desde un bucket de Cloud Storage.
Adjunta una habilidad del Registro de habilidades
Para adjuntar una habilidad registrada en el Registro de habilidades, sigue estos pasos:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
PROJECT_ID: Es el ID del proyecto de Cloud de Confiance by S3NS .LOCATION: Es la ubicación regional del agente. Solo se admite la regiónglobal.AGENT_ID: Es el ID del agente de destino.NEW_SKILL_RESOURCE_NAME: Es la ruta de acceso del recurso de la habilidad o la lista de habilidades 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 habilidad (fijar a 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 Enumera 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 application-default 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
Adjunta 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 actives habilidades desde Cloud Storage:
- Requisitos de carga: Debes subir toda la carpeta de habilidades al bucket.
- No hay validación de contenido: El backend no valida el contenido de la carpeta antes de activarla; 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 las habilidades, estructura y prepara los archivos en tu carpeta de habilidades siguiendo las convenciones descritas en agentskills.io/home.
Para adjuntar una habilidad desde Google Cloud Storage, sigue estos pasos:
REST
Variables de solicitud
Antes de llamar a la API, realiza los siguientes reemplazos:
PROJECT_ID: Es el ID del proyecto de Cloud de Confiance by S3NS .LOCATION: Es la ubicación regional del agente. Solo se admite la regiónglobal.AGENT_ID: Es el ID del agente de destino.NEW_GCS_SOURCE_PATH: Es la ruta de acceso del bucket de Google Cloud Storage que contiene la carpeta de habilidades (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 application-default 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 una configuración de agente personalizada específica, envía una solicitud DELETE. Esta
es una operación de larga duración y borra la configuración
de forma permanente. Si borras el Agent Runtime, se invalidará su Agent Identity. Cualquier
política de acceso unificado (UAP) de IAM que otorgue permisos
a esa principal conserva la principal inactiva en sus reglas. Además, la vinculación de política permanece activa. Para quitar una principal que ya no existe, actualiza la
UAP para quitar la principal de sus reglas. Si la
política ya no contiene principales activas, borra la vinculación de la política.
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 Cloud de Confiance by S3NS .
- LOCATION: Es la región del agente. Solo se admite
la región
global. - AGENT_ID: Es el ID del agente que borrarás.
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 application-default 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 devuelve un campo name que contiene el ID de la 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 Cloud de Confiance by S3NS .
- LOCATION: Es la ubicación regional de la operación. Solo se admite
la región
global. - OPERATION_ID: Es el ID de la 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 application-default 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 durante el tiempo de ejecución, administrar el estado de la sesión y anular parámetros de configuración de forma dinámica.