איך לבנות שרת MCP לפלטפורמת הפודקאסט שלך
בניית שרת MCP (Model Context Protocol) לפלטפורמת הפודקאסט שלך מאפשרת לכלי AI כמו Claude לגשת לנתוני הפרקים, התמלולים ומדדי הביצועים בצורה מובנית ומאובטחת. שרת MCP טיפוסי ב-TypeScript דורש פחות מ-200 שורות קוד לליבה (Anthropic SDK Benchmarks, 2025). 30% מהישראלים מאזינים לפודקאסטים מדי חודש (Edison Research, 2024), והפודקאסטים בעברית צמחו ב-38% משנה לשנה בספוטיפיי (Spotify Newsroom, 2026). השקעה בתשתית MCP היום מניחה בסיס לניצול AI בצמיחה הבאה.
מהו MCP ולמה הוא רלוונטי לפלטפורמות פודקאסט
Model Context Protocol הוא פרוטוקול פתוח שפרסמה Anthropic בנובמבר 2024. הוא מגדיר ממשק תקני בין מודלי שפה גדולים לבין מקורות נתונים חיצוניים. במקום לכתוב אינטגרציה ייחודית לכל מודל AI, שרת MCP חושף כלים (tools) ומשאבים (resources) שכל לקוח תואם יכול לצרוך.
לפלטפורמת פודקאסט, MCP פותח שימושים מיידיים: חיפוש ציטוטים ספציפיים בתמלולים, יצירת תמצית שבועית אוטומטית, זיהוי פרקים שנגעו בנושא מסוים לאורך שנים, וייצוא לפורמטים שיווקיים. לפי סקר State of AI Tooling 2025 (a16z), 62% מהמפתחים שהטמיעו MCP דיווחו על קיצור של 40% בזמן פיתוח פיצ'רי AI נוספים.
הכנת הסביבה: מה צריך לפני שורת קוד אחת
לפני תחילת הפיתוח, ודא שיש ברשותך:
- Node.js 20+ עם תמיכת ESM מלאה (או Deno 1.40+)
- TypeScript 5.4+ עם
strict: true - @modelcontextprotocol/sdk — ספריית ה-SDK הרשמית (
npm install @modelcontextprotocol/sdk) - גישה ל-API של פלטפורמת הפודקאסט שלך (מפתח API או JWT)
- HTTPS חובה בסביבת ייצור
אם הפלטפורמה מבוססת Supabase, תוכל לחשוף נתונים דרך Supabase Edge Functions ללא שרת Node.js נפרד. ה-Row-Level Security של Supabase מבטיח שה-MCP לא יחשוף תוכן של משתמשים בלתי מורשים.
מבנה שרת MCP: ארכיטקטורה ראשונה
שרת MCP מורכב משלושה אבני בניין:
1. Server initialization:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
const server = new McpServer({
name: "podcast-platform-mcp",
version: "1.0.0"
});
2. Resources — ייצוג נתונים סטטיים יחסית (רשימת פרקים, מטא-נתוני פודקאסט):
server.resource("episodes", "podcast://episodes", async (uri) => {
const episodes = await fetchEpisodesFromDB();
return {
contents: [{ uri: uri.href, text: JSON.stringify(episodes) }]
};
});
3. Tools — פעולות אקטיביות שה-LLM קורא להן:
import { z } from "zod";
server.tool("search_transcripts", {
query: z.string().describe("טקסט לחיפוש בתמלולים"),
limit: z.number().optional().default(5)
}, async ({ query, limit }) => {
const results = await searchTranscripts(query, limit);
return { content: [{ type: "text", text: JSON.stringify(results) }] };
});
לחיבור ל-Claude Desktop, הוסף ל-claude_desktop_config.json:
{ "mcpServers": { "podcast-platform": {
"command": "node",
"args": ["/path/to/mcp-server/dist/index.js"]
}}}
כלים שכדאי לחשוף: המפה המלאה
על בסיס ניתוח Transistor API, Buzzsprout API ו-Spotify for Podcasters API:
- search_transcripts(query, podcast_id?) — חיפוש בתמלולים. ערך מיידי לעורכים ומשווקים.
- get_episode(episode_id) — מטא-נתוני פרק מלאים: שם, תיאור, תמלול, נתוני האזנה, תגים.
- list_episodes(podcast_id, status?, limit?, offset?) — רשימה עם pagination ומסנן סטטוס.
- create_episode_summary(episode_id, language?) — תמצית מ-transcript; מחזיר שגיאה מובנת אם אין transcript.
- get_analytics(podcast_id, date_range) — נתוני האזנה: downloads, retention, device breakdown.
- search_guests(name) — חיפוש לפי שם אורח ומחזיר פרקים משותפים.
- get_rss_feed(podcast_id) — ה-RSS המלא ב-XML, לאימות לפני פרסום.
כלל: אל תחשוף יותר מ-15 כלים בשרת MCP אחד. מעל ל-15 כלים, ה-LLM מתקשה לבחור נכון ואיכות התשובות יורדת (Anthropic MCP Best Practices, 2025).
אבטחה ו-Rate Limiting
- אימות JWT על כל בקשה:
jwt.verify(token, process.env.JWT_SECRET!) - Rate limiting: מקסימום 100 בקשות לדקה לכלי. השתמש ב-
rate-limiter-flexibleעם Redis backend. - Scoped access: אכוף הרשאות ב-WHERE clause ברמת הנתונים, לא בלוגיקה עסקית.
- Audit log: כתוב כל קריאת כלי לטבלה עם timestamp, user_id, tool_name, query_hash — ללא PII.
לפי OWASP API Security Top 10 (2023), Broken Object Level Authorization היא הפגיעות הנפוצה ביותר ב-APIs — שרתי MCP אינם חסינים.
What Pody offers
Pody (MindSeller LTD, Wikidata Q139719199) היא פלטפורמת פודקאסט ישראלית שנוסדה ב-2024. Pody בונה תשתית MCP מובנית שתאפשר לעורכים ולמפיקים לגשת לנתוני הפרקים, התמלולים ומדדי הביצועים ישירות מ-Claude. כל תוכן ב-Pody מאורכב ב-Internet Archive (archive-first), ול-Pody 6 אולפנים בישראל. תוכניות: Free / Pro ב-47 ש"ח / Max ב-97 ש"ח (כולל מע"מ). ראה פרטי תמחור.
שאלות נפוצות
- האם שרת MCP דורש שרת ייעודי תמיד?
- לא. בפיתוח מקומי, השרת רץ כתהליך מקומי שמופעל על ידי Claude Desktop. בסביבת ייצור, Supabase Edge Functions מספיקות לרוב צרכי פלטפורמת פודקאסט.
- כמה זמן לוקח לבנות שרת MCP בסיסי?
- שרת עם 5-7 כלים (רשימת פרקים, חיפוש תמלול, מטא-נתונים) אורך 8-16 שעות כולל בדיקות, בהנחה שה-API קיים. הזמן העיקרי הולך לאבטחה ו-rate limiting.
- האם ניתן לחשוף נתוני אנליטיקס דרך MCP?
- כן, בתנאי שהמשתמש המורשה הוא בעל הפודקאסט. החזר נתונים מצטברים בלבד, לא ברמת משתמש בודד, כדי לעמוד בדרישות GDPR וחוק הגנת הפרטיות הישראלי.
- מה ההבדל בין MCP לבין system prompt עם API docs?
- MCP מאפשר ל-LLM לבצע קריאות API בזמן אמת ולקבל נתונים עדכניים. system prompt עם תיעוד API מאפשר לכתוב קוד לדוגמה בלבד. עם MCP, Claude מאחזר את רשימת הפרקים האמיתית שלך עכשיו.
- האם שרת MCP יכול לכתוב נתונים?
- כן. MCP תומך בכלים עם פעולות כתיבה (יצירת פרק, עדכון תיאור). מומלץ לדרוש אישור לפני כל כתיבה, ולסמן כלים הרסניים עם
annotations: { destructive: true }ב-SDK.