MCP Tools Reference: ces.googleapis.com

도구: list_agents

지정된 앱의 에이전트를 나열합니다.

다음 샘플은 curl를 사용하여 list_agents MCP 도구를 호출하는 방법을 보여줍니다.

curl 요청
                  
curl --location 'https://ces.[REGION].rep.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
}'
                

입력 스키마

AgentService.ListAgents에 대한 요청 메시지입니다.

ListAgentsRequest

JSON 표현
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "filter": string,
  "orderBy": string
}
필드
parent

string

필수 항목입니다. 에이전트를 나열할 앱의 리소스 이름입니다.

pageSize

integer

선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다.

pageToken

string

선택사항입니다. 이전 목록 AgentService.ListAgents 호출에서 반환된 next_page_token 값입니다.

filter

string

선택사항입니다. 상담사를 나열할 때 적용할 필터입니다. 자세한 내용은 https://google.aip.dev/160을 참조하세요.

orderBy

string

선택사항입니다. 정렬할 필드입니다. 'name' 및 'create_time'만 지원됩니다. 자세한 내용은 https://google.aip.dev/132#ordering을 참조하세요.

출력 스키마

AgentService.ListAgents의 응답 메시지입니다.

ListAgentsResponse

JSON 표현
{
  "agents": [
    {
      object (Agent)
    }
  ],
  "nextPageToken": string
}
필드
agents[]

object (Agent)

에이전트 목록입니다.

nextPageToken

string

다음 페이지를 검색하기 위해 ListAgentsRequest.page_token으로 전송할 수 있는 토큰입니다. 이 필드가 없으면 후속 페이지가 없음을 나타냅니다.

에이전트

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "modelSettings": {
    object (ModelSettings)
  },
  "instruction": string,
  "tools": [
    string
  ],
  "childAgents": [
    string
  ],
  "beforeAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "guardrails": [
    string
  ],
  "etag": string,
  "toolsets": [
    {
      object (AgentToolset)
    }
  ],
  "generatedSummary": string,
  "transferRules": [
    {
      object (TransferRule)
    }
  ],

  // Union field agent_type can be only one of the following:
  "llmAgent": {
    object (LlmAgent)
  },
  "remoteDialogflowAgent": {
    object (RemoteDialogflowAgent)
  }
  // End of list of possible types for union field agent_type.
}
필드
name

string

식별자. 에이전트의 고유 식별자입니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

필수 항목입니다. 에이전트의 표시 이름입니다.

description

string

선택사항입니다. 인간이 읽을 수 있는 에이전트 설명입니다.

modelSettings

object (ModelSettings)

선택사항입니다. LLM 모델의 구성입니다.

instruction

string

선택사항입니다. 에이전트의 동작을 안내하는 LLM 모델의 요청 사항입니다.

tools[]

string

선택사항입니다. 에이전트에서 사용할 수 있는 도구 목록입니다. 형식: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

선택사항입니다. 에이전트 트리의 하위 에이전트 목록입니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

선택사항입니다. 에이전트가 호출되기 전에 실행할 콜백입니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다.

afterAgentCallbacks[]

object (Callback)

선택사항입니다. 에이전트가 호출된 후 실행할 콜백입니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다.

beforeModelCallbacks[]

object (Callback)

선택사항입니다. 모델이 호출되기 전에 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다.

afterModelCallbacks[]

object (Callback)

선택사항입니다. 모델이 호출된 후 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다.

beforeToolCallbacks[]

object (Callback)

선택사항입니다. 도구가 호출되기 전에 실행할 콜백입니다. 도구 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다.

afterToolCallbacks[]

object (Callback)

선택사항입니다. 도구가 호출된 후 실행할 콜백입니다. 도구 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 제공된 콜백은 목록에 제공된 정확한 순서대로 순차적으로 실행됩니다. 콜백이 재정의된 응답을 반환하면 실행이 중지되고 남은 콜백은 건너뜁니다.

createTime

string (Timestamp format)

출력 전용입니다. 에이전트가 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 에이전트가 마지막으로 업데이트된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

guardrails[]

string

선택사항입니다. 에이전트의 가드레일 목록입니다. 형식: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 발생한 변경사항을 덮어씁니다.

toolsets[]

object (AgentToolset)

선택사항입니다. 에이전트의 도구 세트 목록입니다.

generatedSummary

string

출력 전용입니다. 에이전트가 LLM 어시스턴트에 의해 생성된 경우 이 필드에는 생성에 관한 설명 요약이 포함됩니다.

transferRules[]

object (TransferRule)

선택사항입니다. 상담사 트랜스퍼 규칙입니다. 일치하는 규칙이 여러 개 있으면 목록의 첫 번째 규칙이 사용됩니다.

통합 필드 agent_type. 에이전트 유형입니다. agent_type은 다음 중 하나여야 합니다.
llmAgent

object (LlmAgent)

선택사항입니다. 기본 에이전트 유형입니다.

remoteDialogflowAgent

object (RemoteDialogflowAgent)

선택사항입니다. 에이전트 실행에 사용할 원격 Dialogflow 에이전트입니다. 이 필드가 설정되면 다른 모든 상담사 수준 속성은 무시됩니다.

참고: Dialogflow 에이전트가 앱과 다른 프로젝트에 있는 경우 CES 서비스 에이전트 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/dialogflow.client 권한을 부여해야 합니다.

RemoteDialogflowAgent

JSON 표현
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean
}
필드
agent

string

필수 항목입니다. Dialogflow 에이전트 리소스 이름입니다. 형식: projects/{project}/locations/{location}/agents/{agent}

flowId

string

선택사항입니다. Dialogflow 에이전트의 흐름 ID입니다.

environmentId

string

선택사항입니다. 에이전트 실행에 사용할 Dialogflow 에이전트의 환경 ID입니다. 지정하지 않으면 초안 환경이 사용됩니다.

inputVariableMapping

map (key: string, value: string)

선택사항입니다. Dialogflow 에이전트에 입력으로 전송될 앱 변수 이름과 Dialogflow 세션 매개변수 이름의 매핑입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

outputVariableMapping

map (key: string, value: string)

선택사항입니다. Dialogflow 에이전트 실행이 종료된 후 CES 에이전트로 다시 전송될 Dialogflow 세션 파라미터 이름과 앱 변수 이름의 매핑입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

respectResponseInterruptionSettings

boolean

선택사항입니다. Dialogflow 에이전트에서 구성된 메시지 수준 인터럽션 설정을 준수할지 여부를 나타냅니다.

  • false인 경우: Dialogflow 에이전트의 모든 응답 메시지는 앱 수준의 끼어들기 설정을 따릅니다.
  • true인 경우: allow_playback_interruption이 true로 설정된 응답 메시지만 인터럽트 가능하며, 다른 모든 메시지는 앱 수준 바지인 설정을 따릅니다.

InputVariableMappingEntry

JSON 표현
{
  "key": string,
  "value": string
}
필드
key

string

value

string

OutputVariableMappingEntry

JSON 표현
{
  "key": string,
  "value": string
}
필드
key

string

value

string

ModelSettings

JSON 표현
{
  "model": string,

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
필드
model

string

선택사항입니다. 에이전트가 사용해야 하는 LLM 모델입니다. 설정하지 않으면 에이전트가 상위 에이전트의 모델을 상속합니다.

통합 필드 _temperature.

_temperature는 다음 중 하나여야 합니다.

temperature

number

선택사항입니다. 설정된 경우 이 온도가 LLM 모델에 사용됩니다. 온도는 모델 응답의 무작위성을 제어합니다. 온도가 낮을수록 더 예측 가능한 대답이 생성됩니다. 온도가 높을수록 더 창의적인 대답이 생성됩니다.

콜백

JSON 표현
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
필드
description

string

선택사항입니다. 콜백에 대한 사람이 읽을 수 있는 설명입니다.

disabled

boolean

선택사항입니다. 콜백이 사용 중지되었는지 여부입니다. 사용 중지된 콜백은 에이전트에서 무시됩니다.

proactiveExecutionEnabled

boolean

선택사항입니다. 사용 설정된 경우 콜백은 중간 모델 출력에서도 실행됩니다. 이 설정은 모델 콜백 후에만 영향을 미칩니다. 주의해서 사용 설정 일반적으로 모델 콜백은 모든 모델 응답을 받은 후에만 실행하면 됩니다. 사전 실행을 사용 설정하면 실행 비용과 지연 시간에 부정적인 영향을 미칠 수 있으므로 드문 경우에만 사용 설정해야 합니다.

통합 필드 callback. 실행할 콜백입니다. callback은 다음 중 하나여야 합니다.
pythonCode

string

필수 항목입니다. 콜백을 위해 실행할 Python 코드입니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z에 해당) 사이여야 합니다.

nanos

integer

나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다.

AgentToolset

JSON 표현
{
  "toolset": string,
  "toolIds": [
    string
  ]
}
필드
toolset

string

필수 항목입니다. 툴셋의 리소스 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolIds[]

string

선택사항입니다. 도구 세트를 필터링할 도구 ID입니다.

TransferRule

JSON 표현
{
  "childAgent": string,
  "direction": enum (Direction),

  // Union field rule_type can be only one of the following:
  "deterministicTransfer": {
    object (DeterministicTransfer)
  },
  "disablePlannerTransfer": {
    object (DisablePlannerTransfer)
  }
  // End of list of possible types for union field rule_type.
}
필드
childAgent

string

필수 항목입니다. 규칙이 적용되는 하위 에이전트의 리소스 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

direction

enum (Direction)

필수 항목입니다. 전송 방향입니다.

통합 필드 rule_type. 규칙 유형입니다. rule_type은 다음 중 하나여야 합니다.
deterministicTransfer

object (DeterministicTransfer)

선택사항입니다. 조건이 충족되면 즉시 타겟 상담사에게 트랜스퍼되는 규칙입니다.

disablePlannerTransfer

object (DisablePlannerTransfer)

선택사항입니다. 계획자가 타겟 에이전트로 트랜스퍼되지 않도록 하는 규칙입니다.

DeterministicTransfer

JSON 표현
{

  // Union field condition_type can be only one of the following:
  "expressionCondition": {
    object (ExpressionCondition)
  },
  "pythonCodeCondition": {
    object (PythonCodeCondition)
  }
  // End of list of possible types for union field condition_type.
}
필드
통합 필드 condition_type. 평가할 조건입니다. condition_type은 다음 중 하나여야 합니다.
expressionCondition

object (ExpressionCondition)

선택사항입니다. 세션 상태 조건을 평가하는 규칙입니다. 조건이 true로 평가되면 전송이 발생합니다.

pythonCodeCondition

object (PythonCodeCondition)

선택사항입니다. Python 코드 블록을 사용하여 조건을 평가하는 규칙 조건이 true로 평가되면 전송이 발생합니다.

ExpressionCondition

JSON 표현
{
  "expression": string
}
필드
expression

string

필수 항목입니다. cloud.api.Expression 조건의 문자열 표현입니다.

PythonCodeCondition

JSON 표현
{
  "pythonCode": string
}
필드
pythonCode

string

필수 항목입니다. 실행할 Python 코드입니다.

DisablePlannerTransfer

JSON 표현
{
  "expressionCondition": {
    object (ExpressionCondition)
  }
}
필드
expressionCondition

object (ExpressionCondition)

필수 항목입니다. 조건이 true로 평가되면 플래너가 타겟 상담사에게 트랜스퍼할 수 없습니다.

도구 주석

파괴적 힌트: ❌ | 동일한 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌