# Connect through MCP

Engage exposes Streamable HTTP MCP at this endpoint:

```text
https://engage.shuffll.com/mcp
```

## Configure a compatible client

Use a client that supports **private custom HTTP headers**. Enter the endpoint above and store a scoped key in its private credential settings as `Authorization: Bearer <YOUR_API_KEY>`.

The following illustrates the connection values, not a universal client configuration file:

```json
{
  "url": "https://engage.shuffll.com/mcp",
  "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
}
```

The client handles MCP initialization and protocol/session headers. Discover tools after connecting. The catalog is filtered by live capabilities, so different principals may see different tools. Start with a read-only request such as listing permitted published templates.

OAuth is currently unavailable. ChatGPT, Claude and other clients that require OAuth for their chosen connection path need the future supported OAuth rollout; this guide does not claim a working directory installation. Do not put a key in the URL as a workaround.

## Call tools safely

Mutation inputs use `operation_id` for idempotency. Revision-guarded tools also require `expected_revision` from the latest resource response. Reuse an operation ID only for an uncertain retry with identical input. Inspect asynchronous jobs with `jobs_get` and honor `pollAfterSeconds`.

For a first workflow, discover templates with `templates_list`, inspect versions with `template_versions_list` and `template_versions_get`, then follow the [campaign workflow](/engage/workflows). Ask for generation explicitly; creating a campaign does not itself mean videos were rendered or sent.

Disconnect by removing the client configuration and revoking its dedicated key in the workspace. Revocation also disables keys delegated from it. See [authentication](/engage/authentication) for key-management behavior.