# 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`.

## In a request

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | `string \| null` |  | The name the model calls the tool by here. Null: the tool's own name. Constraints: minLength: 1. |
| `externalOperationId` | `uuid` | yes | The tool's id. Constraints: required (empty or whitespace-only strings are rejected). |
| `externalOperationVersion` | `integer \| null` |  | The 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. |
| `requestBindings` | [`ConnectorBinding`](https://docs.maitento.com/reference/types/connector-binding.md)`[]` | yes | 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). |
| `authenticationHeader` | [`ConnectorAuthenticationHeader`](https://docs.maitento.com/reference/types/connector-authentication-header.md)`\| null` |  | A credential to send with every call made here, instead of the tool's own. Null: the tool's own. |
| `promptGuidance` | `string \| null` |  | When and how to use the tool here, instead of the tool's own guidance. The model reads it. |
| `isTerminal` | `boolean` |  | Whether 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. |

```json
{
  "name": "...",
  "externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "externalOperationVersion": 0,
  "requestBindings": [
    {
      "target": "...",
      "value": "..."
    }
  ],
  "authenticationHeader": {
    "headerName": "...",
    "secretId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f"
  },
  "promptGuidance": "...",
  "isTerminal": false
}
```

## In a response

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

| Field | Type | Description |
|---|---|---|
| `name` | `string \| null` | The name the model calls the tool by here. Null: the tool's own name. Constraints: minLength: 1. |
| `externalOperationId` | `uuid` | The tool's id. Constraints: required (empty or whitespace-only strings are rejected). |
| `externalOperationVersion` | `integer \| null` | The 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. |
| `requestBindings` | [`ConnectorBinding`](https://docs.maitento.com/reference/types/connector-binding.md)`[]` | 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). |
| `authenticationHeader` | [`ConnectorAuthenticationHeader`](https://docs.maitento.com/reference/types/connector-authentication-header.md)`\| null` | A credential to send with every call made here, instead of the tool's own. Null: the tool's own. |
| `promptGuidance` | `string \| null` | When and how to use the tool here, instead of the tool's own guidance. The model reads it. |
| `isTerminal` | `boolean` | Whether 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. |

```json
{
  "name": "...",
  "externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "externalOperationVersion": 0,
  "requestBindings": [
    {
      "target": "...",
      "value": "..."
    }
  ],
  "authenticationHeader": {
    "headerName": "...",
    "secretId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f"
  },
  "promptGuidance": "...",
  "isTerminal": false
}
```

## Where it's used

- Inside [`AppVersion`](https://docs.maitento.com/reference/types/app-version.md)
- Inside [`CodePipelineAgent`](https://docs.maitento.com/reference/types/code-pipeline-agent.md)
- Inside [`CodePipelineCreateRequest`](https://docs.maitento.com/reference/types/code-pipeline-create-request.md)
- Inside [`CodePipelineUpdateRequest`](https://docs.maitento.com/reference/types/code-pipeline-update-request.md)
- Inside [`CodePipelineVersion`](https://docs.maitento.com/reference/types/code-pipeline-version.md)
- Inside [`InteractionAgentBinding`](https://docs.maitento.com/reference/types/interaction-agent-binding.md)
- Inside [`ManagedInteractionAgentBinding`](https://docs.maitento.com/reference/types/managed-interaction-agent-binding.md)
- Inside [`ManagedInteractionCreateRequest`](https://docs.maitento.com/reference/types/managed-interaction-create-request.md)
- Inside [`ManagedInteractionUpdateRequest`](https://docs.maitento.com/reference/types/managed-interaction-update-request.md)
- Inside [`ManagedInteractionVersion`](https://docs.maitento.com/reference/types/managed-interaction-version.md)
- Inside [`OneShotInteractionCreateRequest`](https://docs.maitento.com/reference/types/one-shot-interaction-create-request.md)
- Inside [`OneShotInteractionUpdateRequest`](https://docs.maitento.com/reference/types/one-shot-interaction-update-request.md)
- Inside [`OneShotInteractionVersion`](https://docs.maitento.com/reference/types/one-shot-interaction-version.md)
- Inside [`RoundRobinInteractionCreateRequest`](https://docs.maitento.com/reference/types/round-robin-interaction-create-request.md)
- Inside [`RoundRobinInteractionUpdateRequest`](https://docs.maitento.com/reference/types/round-robin-interaction-update-request.md)
- Inside [`RoundRobinInteractionVersion`](https://docs.maitento.com/reference/types/round-robin-interaction-version.md)
