# Connect Shuffll Engage through MCP

Engage exposes Streamable HTTP MCP at this endpoint:

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

## Choose an authentication method

### OAuth-capable clients

Enter `https://engage.shuffll.com/mcp` as the remote MCP server URL. Use the client's supported OAuth connection flow, select the intended workspace and review the requested permissions. The client should read the protected-resource metadata advertised by the endpoint and follow its discovered authorization-server configuration.

If the client cannot complete that flow, use a private API-key connection where supported or [contact Shuffll](/contact) with the client name and connection error. OAuth support depends on the client and authorized workspace; it does not imply a marketplace listing.

### Clients with private API-key settings

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.

Keep the server URL unchanged. Store the key in private credential settings, never in the URL, a prompt or a shared configuration file.

## Try a first assistant request

After connecting, ask:

> List the published video templates available in my workspace. Show their names and available versions, and help me choose a source for a campaign. Ask me before creating a campaign or generating videos.


The assistant can use `templates_list`, `template_versions_list` and `template_versions_get` when those tools are available. An empty result can mean that no templates have been published for the selected workspace. A missing tool can mean that the connection lacks its required scope or workspace access.

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

For an OAuth connection, disconnect the integration in the client and revoke its authorization through the supported account controls. For an API-key connection, remove the client configuration and revoke its dedicated key in the workspace. Key revocation also disables keys delegated from it. See [authentication](/engage/authentication) for key-management behavior.