fetchYoutube
Retrieve all videos from the Goose YouTube channel using Content Fetcher MCP to track content updates across sessions.
Instructions
Fetch ALL YouTube videos from the Goose channel.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/server.ts:70-82 (handler)The handler function that fetches YouTube videos from the specified channel using RSS parser and maps them to ContentItem objects.
async function fetchYoutube(): Promise<ContentItem[]> { const feed = await rssParser.parseURL( `https://www.youtube.com/feeds/videos.xml?channel_id=${YOUTUBE_CHANNEL_ID}` ); return feed.items.map((item) => ({ id: item.id || item.link || "", title: item.title || "", url: item.link || "", published_at: item.pubDate || "", type: "video" as const, })); } - src/server.ts:133-138 (registration)Registration of the fetchYoutube tool with FastMCP server, including empty input schema and execution that calls the handler.
server.addTool({ name: "fetchYoutube", description: "Fetch ALL YouTube videos from the Goose channel.", parameters: z.object({}), execute: async () => JSON.stringify(await fetchYoutube()), }); - src/server.ts:30-36 (schema)Type definition for ContentItem used as output type for fetchYoutube and other fetch tools.
interface ContentItem { id: string; title: string; url: string; published_at: string; type: "video" | "blog" | "release"; } - src/server.ts:136-136 (schema)Zod input schema for the tool (empty object, no parameters).
parameters: z.object({}),