Skip to content

McpExternalOperationBinding

An MCP tool made available in one place (to a whole interaction, to one participant, or to an app), with any values and credentials that apply there. What is set here overrides the tool’s own settings.

Kind: an object, used in requests and responses. In a request it is called McpExternalOperationBindingInput.

FieldTypeRequiredDescription
namestring | nullThe name the model calls the tool by here. Null: the tool’s own name. Constraints: minLength: 1.
externalOperationIduuidyesThe tool’s id. Constraints: required (empty or whitespace-only strings are rejected).
externalOperationVersioninteger | nullThe exact version of the tool this binding calls, so a later change to the tool or its connector never changes what is called here. Leave it out on a request to use the tool’s latest enabled version, which is then recorded. Constraints: range: 1..2147483647.
requestBindingsConnectorBinding[]yesFixed values for fields of the request body, which the model never sees or chooses ([] for none). Constraints: required (empty or whitespace-only strings are rejected).
authenticationHeaderConnectorAuthenticationHeader| nullA credential to send with every call made here, instead of the tool’s own. Null: the tool’s own.
promptGuidancestring | nullWhen and how to use the tool here, instead of the tool’s own guidance. The model reads it.
isTerminalbooleanWhether a successful call ends the agent’s turn: the result is recorded and the model is not asked to continue. Use it for a “finish” tool meant to be the last thing an agent does in a turn. Defaults to false.
{
"name": "...",
"externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
"externalOperationVersion": 0,
"requestBindings": [
{
"target": "...",
"value": "..."
}
],
"authenticationHeader": {
"headerName": "...",
"secretId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f"
},
"promptGuidance": "...",
"isTerminal": false
}

Every field is present in a response; empty ones are null.

FieldTypeDescription
namestring | nullThe name the model calls the tool by here. Null: the tool’s own name. Constraints: minLength: 1.
externalOperationIduuidThe tool’s id. Constraints: required (empty or whitespace-only strings are rejected).
externalOperationVersioninteger | nullThe exact version of the tool this binding calls, so a later change to the tool or its connector never changes what is called here. Leave it out on a request to use the tool’s latest enabled version, which is then recorded. Constraints: range: 1..2147483647.
requestBindingsConnectorBinding[]Fixed values for fields of the request body, which the model never sees or chooses ([] for none). Constraints: required (empty or whitespace-only strings are rejected).
authenticationHeaderConnectorAuthenticationHeader| nullA credential to send with every call made here, instead of the tool’s own. Null: the tool’s own.
promptGuidancestring | nullWhen and how to use the tool here, instead of the tool’s own guidance. The model reads it.
isTerminalbooleanWhether a successful call ends the agent’s turn: the result is recorded and the model is not asked to continue. Use it for a “finish” tool meant to be the last thing an agent does in a turn. Defaults to false.
{
"name": "...",
"externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
"externalOperationVersion": 0,
"requestBindings": [
{
"target": "...",
"value": "..."
}
],
"authenticationHeader": {
"headerName": "...",
"secretId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f"
},
"promptGuidance": "...",
"isTerminal": false
}