feedhook-mcp
Allows subscribing to YouTube channel notifications via webhooks, receiving signed HTTP POST requests when a new video is published.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@feedhook-mcpsubscribe to channel UCabc123 with callback https://myendpoint.com/hook"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-mcpOr 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: Youtube-MCP
Tools
Tool | Does |
| Free signup → API key (returned once) |
| Plan, feed limit, feeds in use |
| channel id + callback URL → webhook on every new video |
| All subscriptions with state + delivery counts |
| One subscription incl. recent delivery log (per-attempt HTTP results) |
| Send a signed test.ping through the real pipeline to verify your receiver |
| Free → Pro ($9/mo, 10 feeds): returns a Stripe Checkout URL to open in a browser |
| 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 (defaulthttps://feedhook.walls.sh)
MIT · a walls.sh product
Available Tools
8 toolscreate_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.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Account email address. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses that the API key is returned only once and must be saved immediately, which is critical behavioral information. More details on rate limits or auth could be added, but the key trait is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence states the purpose, and the second provides critical behavioral guidance. Perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately covers the return (API key once), required action, and account limit. It is complete for the complexity of a simple account creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the email parameter already described. The description does not add extra meaning beyond 'email address' for the parameter itself, but context about account creation is provided. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'create' and the resource 'Feedhook account', including constraints like 'free' and '1 feed'. It distinguishes itself from sibling tools like get_account by focusing on account creation and API key generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to skip the tool ('if FEEDHOOK_API_KEY is already set') and instructs the agent to surface the API key and save it. It could mention when to use alternatives like get_account, but the context of sibling tools helps compensate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| channel | Yes | The channel as an @handle (e.g. '@mkbhd'), a youtube.com channel URL, or a raw UC… id — resolved server-side. | |
| callbackUrl | Yes | The http(s) URL that will receive the webhook POSTs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It discloses key behaviors: signed JSON payload with specific fields, ~8s delivery delay, per-subscription secret for signature verification. This is thorough, though it does not address idempotency or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the purpose and packs in essential details without any fluff. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 required parameters and no output schema, the description covers the input, the webhook behavior, and the secret usage. It does not cover error cases or limits, but for a create operation, this is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal parameter information beyond what the schema provides. It mentions server-side resolution of the channel, which is a slight addition, but not enough to raise the score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Turn a YouTube channel into a webhook') and the resource, with specific details about the resulting webhook behavior. It distinguishes itself from sibling tools like list_subscriptions and delete_subscription by focusing on creation and the webhook mechanism.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (to monitor a YouTube channel via webhook) but does not explicitly state when not to use it or compare it to alternatives. No direct guidance on prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_subscriptionA
Delete a subscription — unsubscribes from YouTube's hub and stops all deliveries.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The subscription id (uuid). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool is destructive ('unsubscribes', 'stops all deliveries') and mentions an external hub. However, it does not mention whether the action is reversible or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is highly efficient and front-loaded. Every word contributes meaningful information with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description covers the main action and side effects adequately. It could mention irreversibility, but overall it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter 'id' is well-described in the schema. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Delete a subscription' and the resource (subscription). It also provides specific context about unsubscribing from YouTube's hub and stopping deliveries, which distinguishes it from sibling tools like list_subscriptions or get_subscription.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, consequences, or scenarios where deletion might be inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accountA
Show the current account: email, plan, feed limit, and how many feeds are in use. Requires FEEDHOOK_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
States requirement for FEEDHOOK_API_KEY, adding auth context beyond default. However, does not explicitly confirm read-only nature or other behavioral traits; though implied by 'Show'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and fields, then auth requirement. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool, description provides all necessary context: what is returned (email, plan, feed limit, feeds in use) and auth requirement. No output schema, so description fills that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; schema coverage is 100%, so description need not add parameter meanings. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool shows current account info, listing specific fields (email, plan, feed limit, feeds in use). Distinct from sibling tools that create or manage subscriptions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for viewing account details but provides no explicit guidance on when to use vs alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The subscription id (uuid). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the response includes delivery log details (videoId, status, per-attempt HTTP results). However, it does not discuss permissions, error conditions, or whether the tool is read-only, which would be helpful for a get operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first defines the action and output, the second gives the use case. No redundant words. Information is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a single parameter and no output schema, the description adequately explains the return structure (delivery log with specific fields). It could mention more about error handling or the scope of 'recent', but it's largely complete for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'id' parameter with a clear description ('The subscription id (uuid).'). The tool description does not add any additional meaning about the parameter beyond what's in the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Get one subscription including its recent delivery log', clearly specifying the action (get) and resource (subscription with delivery log). This distinguishes it from sibling tools like list_subscriptions (list many) and create_subscription (create). The inclusion of 'recent delivery log' adds specific scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States explicitly 'Use this to check whether webhooks are arriving', providing a clear use case. It doesn't mention when not to use it or compare to alternatives like test_subscription, but the context is clear enough for an agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_subscriptionsA
List the account's channel→webhook subscriptions with state (pending/active/unsubscribed), lease expiry, and delivery counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It does not mention that listing is a read-only operation, nor does it address pagination, rate limits, or authentication needs. The description is minimal on behavior beyond the returned fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys purpose and key output details. Every word adds value, no redundancy. Ideal conciseness for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters, no output schema, and no annotations, the description adequately explains what is returned. However, it omits mention of subscription IDs or other common fields, and does not suggest ordering or filtering. Still, it covers the essential behavior for a listing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the schema coverage is 100%. Per guidelines, baseline is 4. No extra parameter information is needed, and the description does not repeat anything from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the action 'List', the resource 'account's channel→webhook subscriptions', and details the output fields (state, lease expiry, delivery counts). It clearly distinguishes from siblings like get_subscription by indicating a collective view.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as get_subscription or test_subscription. The use case is implied (listing all subscriptions) but lacks contextual cues for the agent to choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The subscription id (uuid). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for transparency. It discloses that the tool sends a signed test ping through the real delivery pipeline and that the effect is verifying the receiver works. It could be improved by mentioning whether the subscription is modified or if there are rate limits, but overall it provides sufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences. The first sentence clearly states the action, and the second provides follow-up guidance. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, no output schema, and no annotations, the description fully covers what the tool does, how to use it, and what to do after. It is complete and self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single required 'id' parameter, which is described as 'The subscription id (uuid).' The description does not add additional meaning beyond the schema, but given the high schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: sending a signed test ping through the real delivery pipeline to a subscription's callback URL to verify the receiver works. The verb 'send' and resource 'subscription's callback URL' are specific and distinguish it from sibling tools like create_subscription or get_subscription.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using this tool to test callbacks without waiting for real videos, and suggests checking get_subscription afterwards for the delivery result. This provides clear context for when to use it, though it does not explicitly mention when not to use it or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that it returns a Stripe Checkout URL and that the plan flips automatically. However, it omits details like authentication requirements, idempotency, or potential side effects if already on Pro.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and details. No unnecessary words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, description covers purpose, trigger, and return value. Lacks mention of error handling or prerequisites like login, but adequate for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100%. Baseline for 0 params is 4. Description does not need to add parameter info, and it implies the tool uses the current account context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it upgrades account from free to Pro, specifying feed limits and pricing. It distinguishes from sibling create_subscription by explicitly mentioning the trigger condition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to call: 'Call this when create_subscription returns a 402 feed-limit error.' Provides clear instruction to give the Stripe URL to the user. However, it does not mention when not to use or alternatives beyond the one trigger.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
8 tool updates
v0.4.0- First observed
create_account - First observed
create_subscription - First observed
delete_subscription - First observed
get_account - First observed
get_subscription - First observed
list_subscriptions - First observed
test_subscription - First observed
upgrade_plan
TDQS
Each tool targets a distinct action: account management (create, get, upgrade) versus subscription management (create, list, get, test, delete). No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern (e.g., create_account, get_subscription), making them predictable and easy to distinguish.
8 tools is well within the ideal 3-15 range, covering the core workflows without being overwhelming or insufficient.
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Create AI-powered short-form video clips from YouTube videos. Supports webhook callbacks.
YouTube video metadata and channel data by URL or @handle. No API key or quota. Pay per result.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents. No signup.
YouTube transcripts, subtitles, and video metadata as structured JSON via an Apify Actor.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides production-grade tools for YouTube channel resolution, video metadata extraction, transcripts, and playlist management. It features a quota-aware, AI-friendly design that supports structured searching and listing of public YouTube data.72MIT
- AlicenseAqualityDmaintenanceProduction-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.161MIT
- AlicenseAqualityAmaintenanceMCP server for extracting structured intelligence from YouTube channels and videos — transcripts, topics, and competitive signals for AI-powered research workflows.1MIT
- FlicenseNot gradedqualityBmaintenanceRetrieves YouTube Channel statistics, metadata, and uploaded videos using the YouTube Data API v3.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/patwalls/feedhook-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server