ScriptHaul API
Log inGet API key

n8n

OAuth connections share one ScriptHaul allowance pool across your account’s connected apps. Review the client name and redirect destination host before approving. Reconnect when prompted, no later than 30 days; see connection limits and reconnect timing.

Attach an MCP Client Tool node to the tools input of your AI Agent. Use node version 1.2 or later, choose HTTP Streamable transport, and set Endpoint to the URL below. An older node with only SSE Endpoint needs updating. These version and parameter names were verified 2026-09-05 against n8n's MCP Client Tool source.

Connect your account

Choose MCP OAuth2 authentication. Create an MCP OAuth2 credential, leave Use Dynamic Client Registration enabled, and connect your account. Keep Resource URL empty for discovery or set it to https://api.scripthaul.com/mcp. Finish ScriptHaul email-code sign-in and review the mcp consent screen. These credential settings follow n8n's MCP authentication documentation, verified 2026-09-05.

The node parameters are:

{
  "endpointUrl": "https://api.scripthaul.com/mcp",
  "serverTransport": "httpStreamable",
  "authentication": "mcpOAuth2Api",
  "include": "selected",
  "includeTools": ["search_youtube", "resolve_channel", "get_latest_videos", "get_transcript"]
}

Select the saved credential in the node; credentials are not included in this JSON. For an API key instead, choose Bearer Auth, create a Bearer credential, and put the ScriptHaul key in its token field. This changes only the parameter below; n8n adds the Bearer header:

{
  "endpointUrl": "https://api.scripthaul.com/mcp",
  "serverTransport": "httpStreamable",
  "authentication": "bearerAuth",
  "include": "selected",
  "includeTools": ["search_youtube", "resolve_channel", "get_latest_videos", "get_transcript"]
}

The OAuth grant can create jobs and spend credits but cannot see or create API keys. Revoke it in Dashboard → Connected apps. Ask the AI Agent: “Find one page of TED videos about memory.” A delivered search page costs one credit, as does a cold transcript; cached transcripts, resolution, and latest uploads cost zero. Add bulk tools to the selected list only when your workflow needs them.

Try without an account

Choose None authentication and these node parameters:

{
  "endpointUrl": "https://scripthaul.com/mcp",
  "serverTransport": "httpStreamable",
  "authentication": "none",
  "include": "selected",
  "includeTools": ["get_latest_videos"]
}

Ask: “Show the newest videos from channel UC4QobU6STFB0P71PMvOGN5A.” Latest RSS reads are free and use no cold-fetch allowance. If you enable keyless get_transcript, its limit is 20 cold fetches per address per UTC day, which a hosted n8n instance may share.

Latest uploads → search → transcript job

Import the discovery workflow export to fetch captions for recent uploads matching a topic. It uses REST HTTP Request nodes with an API key. The MCP OAuth credential above is scoped to /mcp and cannot authenticate these REST calls.

  1. Create a Header Auth credential with header name Authorization and value Bearer YOUR_API_KEY. Select that saved credential on every HTTP Request node; the export contains no credential.
  2. In Configure discovery, set your channel, search query, and maxVideos (default 3, maximum 15). The workflow resolves the channel, reads its newest RSS entries, and requests one channel-scoped search page without following continuations.
  3. Run the workflow when you want it to create the transcript job. It keeps matching latest-upload IDs in newest-first order, removes duplicates, and validates that exact selection as a pasted list before creating the job. An empty selection stops without a job. Search failure stops the workflow.
  4. The job creation key uses the workflow execution ID. Polling waits five seconds between reads and stops at completion, failure, cancellation, a paused job, or 60 reads. A polling limit leaves the existing job running; inspect its returned ID instead of starting another job to keep waiting.

Each delivered search page costs 1 credit, including a page with no selected matches. The job costs at most maxVideos additional credits: one per successful cold transcript, zero for cache hits or failed transcripts. Resolve, latest-upload reads, selection validation, and job polling cost zero credits under their normal allowances. This is a recent-upload filter, not an exhaustive channel search; an upload absent from the first search page is not selected. Nodes make no automatic HTTP retries.

The HTTP Request authentication and node fields were checked 2026-09-06 against n8n's HTTP Request source and Header Auth credential source.

See all tools and costs, the agent skill, or the bulk-job workflow export for the original direct-job example.