Skip to main content
Glama
feedhook-mcp

feedhook-mcp

by patwalls

feedhook-mcp

MCP server for Feedhook — turn a YouTube channel into a webhook: your endpoint gets a signed HTTP POST ~8 seconds after a new video is published. No polling, no YouTube API quota. Feedhook does YouTube's WebSub plumbing (hub subscription, verification handshake, ~5-day lease renewals, retries with backoff) and resells it as a clean API; this package is the agent front door.

Use it

claude mcp add feedhook -e FEEDHOOK_API_KEY=fh_your_key -- npx -y feedhook-mcp

Or in any MCP client config:

{
  "mcpServers": {
    "feedhook": {
      "command": "npx",
      "args": ["-y", "feedhook-mcp"],
      "env": { "FEEDHOOK_API_KEY": "fh_your_key" }
    }
  }
}

No key yet? Add the server without the env var and ask your agent to call create_account (free plan: 1 feed) — the key is returned once; save it as FEEDHOOK_API_KEY.

Related MCP server: yt-studio-mcp

Tools

Tool

Does

create_account

Free signup → API key (returned once)

get_account

Plan, feed limit, feeds in use

create_subscription

channel id + callback URL → webhook on every new video

list_subscriptions

All subscriptions with state + delivery counts

get_subscription

One subscription incl. recent delivery log (per-attempt HTTP results)

test_subscription

Send a signed test.ping through the real pipeline to verify your receiver

upgrade_plan

Free → Pro ($9/mo, 10 feeds): returns a Stripe Checkout URL to open in a browser

delete_subscription

Unsubscribe + stop deliveries

The webhook your endpoint receives

POST <your callbackUrl>
x-feedhook-event: video.published
x-feedhook-delivery: <uuid>
x-feedhook-signature: sha256=<hex HMAC-SHA256 of the raw body, keyed with your subscription secret>

{
  "event": "video.published",
  "subscriptionId": "…",
  "videoId": "dQw4w9WgXcQ",
  "channelId": "UC…",
  "title": "…",
  "author": "…",
  "publishedAt": "2026-06-11T15:54:18+00:00",
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "receivedAt": "…"
}

Non-2xx responses are retried 5 times with backoff. Respond within 15 seconds.

Environment

  • FEEDHOOK_API_KEY — your account key (most tools need it)

  • FEEDHOOK_API_URL — override the API base (default https://feedhook.walls.sh)

MIT · a walls.sh product

Available Tools

8 tools
create_accountA

Create a free Feedhook account (1 feed). Returns the API key ONCE — surface it to the user and have them save it as FEEDHOOK_API_KEY in this server's environment; it cannot be retrieved again. Skip this tool if FEEDHOOK_API_KEY is already set.

Inputs: email (required).

create_subscriptionA

Turn a YouTube channel into a webhook: Feedhook will POST signed JSON {event:'video.published', videoId, title, author, url, publishedAt, …} to callbackUrl ~8s after every new video. The response includes a per-subscription secret (shown once) for verifying the X-Feedhook-Signature header (sha256 HMAC of the raw body).

Inputs: channel (required), callbackUrl (required).

delete_subscriptionA

Delete a subscription — unsubscribes from YouTube's hub and stops all deliveries.

Inputs: id (required).

get_accountA

Show the current account: email, plan, feed limit, and how many feeds are in use. Requires FEEDHOOK_API_KEY.

Inputs: no named parameters.

get_subscriptionA

Get one subscription including its recent delivery log — each delivery shows the videoId, status (delivered/retrying/failed), and per-attempt HTTP results. Use this to check whether webhooks are arriving.

Inputs: id (required).

list_subscriptionsA

List the account's channel→webhook subscriptions with state (pending/active/unsubscribed), lease expiry, and delivery counts.

Inputs: no named parameters.

test_subscriptionA

Send a signed test.ping through the real delivery pipeline to a subscription's callback URL — verify the receiver works without waiting for a real video. Check get_subscription afterwards for the delivery result.

Inputs: id (required).

upgrade_planA

Upgrade the account from free (1 feed) to Pro ($9/mo, 10 feeds). Returns a Stripe Checkout URL — give it to the user to open in a browser and pay; the plan flips automatically after checkout. Call this when create_subscription returns a 402 feed-limit error.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool targets a distinct action: account management (create, get, upgrade) versus subscription management (create, list, get, test, delete). No overlap or ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (e.g., create_account, get_subscription), making them predictable and easy to distinguish.

    Tool Count5/5

    8 tools is well within the ideal 3-15 range, covering the core workflows without being overwhelming or insufficient.

    Completeness4/5

    Covers account lifecycle and subscription CRUD plus testing and plan upgrades. Missing an update subscription endpoint, but the service design may allow delete+recreate as a workaround.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Production-grade Model Context Protocol server for YouTube intelligence. Extract, analyze, and automate insights from YouTube channels and videos using the official YouTube Data API v3. Built for AI agents, automation pipelines, and content intelligence workflows.
      16
      1
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Manage a YouTube channel through official Google APIs — videos, comments, playlists, live broadcasts, captions, and analytics — plus an auditable giveaway suite for comment-entry giveaways with deterministic winner drawing.
      51
      26 PyPI
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      MCP server that connects to your personal YouTube account and exposes your subscription feed, letting you list subscribed channels, recent uploads, and get YouTube watch links for handoff to other MCPs.
      6
      116 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI clients to pull full transcripts from YouTube videos, search videos and channels, browse a channel's complete upload history, search within a single channel, and extract every video in a playlist through one hosted remote endpoint. It supports API-key or OAuth 2.1 sign-in with no local installation, returning metadata and paginated results with stable error codes.
      10
      MIT