Claude Code ו-MCP, שליטה מלאה על כלים חיצוניים

📚 נושאים מתקדמים ⏱️ 15 דק׳ 🎓 מתקדם ✓ חינם לגמרי
Claude Code ו-MCP, שליטה מלאה על כלים חיצוניים

🛠️ שיעור למתקדמים, דורש ידע ב-Python ו-API. אם אתה מתחיל, דלג ועבור ל-lesson 30b לסיום הקורס.

💡 בשיעור הקודם, שיעור 27: Vector Databases ו-Embeddings, הבסיס של AI מודרני, בנית pipeline של RAG שמאחסן מסמכים כוקטורים ושולף אותם לפי משמעות. עכשיו נרחיב את הסמכויות של Claude: MCP מאפשר לו לא רק לדעת, אלא גם לעשות.

MCP: ה-USB-C של עולם ה-AI

דצמבר 2025, Anthropic תרמה את Model Context Protocol (MCP) ל-Linux Foundation. זו לא פרטיות טכנית: זה אומר שהפרוטוקול הזה הפך לתקן תעשייתי, כמו HTTP או USB. OpenAI אימצו אותו באפריל 2025, Microsoft בקיץ, AWS בסוף השנה. כיום יש מעל 10,000 MCP servers ציבוריים עם 97 מיליון הורדות SDK חודשיות.

אז מה זה בפועל? MCP (Model Context Protocol) הוא פרוטוקול פתוח שמאפשר ל-Claude לתקשר עם כלים חיצוניים בשפה אחידה. במקום לכתוב integration ייחודי לכל tool, MCP מגדיר ממשק אחיד שכל שרת יכול לדבר. בדיוק כמו USB-C, לפני שהיה סטנדרט, כל מכשיר היה צריך חיבור אחר. MCP עושה את אותו הדבר ל-AI.

שלושת הרכיבים שכל מפתח חייב להכיר

כל MCP server חושף שלושה סוגי יכולות:

ארכיטקטורת המערכת מורכבת מ-3 שכבות:

Transport מתי להשתמש דוגמה
stdio כלים מקומיים, פיתוח SQLite, filesystem
HTTP Streamable שרתים מרוחקים, enterprise Slack, Salesforce, Jira

בניית MCP Server, 30 דקות מהאפס לחיבור

דוגמה ישראלית: סטארטאפ ת"א שצוות הפיתוח שלו מחובר ל-Supabase. במקום לצאת מClauede Code לבדוק queries, הם בנו MCP server שנותן ל-Claude גישה ישירה לבסיס הנתונים:

// mcp-db-server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { createClient } from "@supabase/supabase-js";
import { z } from "zod";

const supabase = createClient(
  process.env.SUPABASE_URL!,
  process.env.SUPABASE_KEY!
);

const server = new McpServer({
  name: "supabase-server",
  version: "1.0.0",
});

// Tool: שאילתה לפי טבלה
server.tool(
  "query_table",
  "Query a Supabase table with filters",
  {
    table: z.string().describe("Table name"),
    limit: z.number().optional().default(20),
  },
  async ({ table, limit }) => {
    const { data, error } = await supabase
      .from(table)
      .select("*")
      .limit(limit);
    if (error) return { content: [{ type: "text", text: error.message }] };
    return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
  }
);

// הפעלה
const transport = new StdioServerTransport();
await server.connect(transport);

אחרי שה-server מוכן, מחברים ל-Claude Code:

// .mcp.json, מתחייב ל-git (ללא סודות!)
{
  "mcpServers": {
    "supabase": {
      "command": "npx",
      "args": ["tsx", "./mcp-db-server.ts"],
      "env": {
        "SUPABASE_URL": "${SUPABASE_URL}",
        "SUPABASE_KEY": "${SUPABASE_KEY}"
      }
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
    }
  }
}

שלושה scopes להגדרה, חשוב לדעת:

הבעיה שאף אחד לא אמר לך עליה: Context Bloat

מפתח אחד תיעד: "חיברתי 4 MCP servers ואיבדתי 67,000 טוקן מחלון ההקשר עוד לפני שכתבתי שורת קוד אחת." הבעיה: כל הגדרות ה-tools של כל שרת נטענות לתוך הקשר Claude בכל שיחה, לפני שהוא עושה משהו.

Claude Code פתרה זאת ב-2025 עם Tool Search, במקום לטעון את כל הסכמות בהתחלה, Claude Code טוען אינדקס חיפוש קל-משקל ומושך tool definitions לפי הצורך. התוצאה: ירידה של 46.9% בטוקנים הכוללים (51K ל-8.5K בסשן טיפוסי).

Tool Search מופעל אוטומטית, אין צורך בהגדרה. אבל גם אחרי זה: אל תחברו 20 MCP servers. כל server שלא בשימוש פעיל מוסיף latency ו-noise לשיחה.

אבטחה: 3 כללים שחייבים לדעת

MCP server יכול לקרוא קבצים, לקרוא APIs, לשלוח בקשות HTTP. זה כוח גדול, ולכן:

  1. התייחסו ל-MCP servers כמו לחבילות npm: בדקו את הקוד לפני שמריצים. שרת לא מבוקר יכול להחדיר הוראות זדוניות לתוך הקשר Claude (Prompt Injection).
  2. הגבילו הרשאות למינימום: אם ה-server רק קורא נתונים, אל תיתנו לו הרשאות כתיבה. SQLite? רק SELECT. Filesystem? רק תיקיות ספציפיות.
  3. סודות ב-env vars, לא ב-config: GITHUB_TOKEN ו-SUPABASE_KEY לא נכנסים ל-.mcp.json, הם מגיעים מ-environment variables. אחרת הם מתחייבים ל-git ונחשפים.

MCP Servers מומלצים לדצמבר 2025

שרת מה הוא עושה כמה tools
server-github Issues, PRs, commits, repos ~30
server-postgres שאילתות PostgreSQL 5
server-filesystem קריאה/כתיבה קבצים מקומיים 8
supabase-mcp-server Supabase: DB, Auth, Storage, Edge Functions 20+
mcp-server-puppeteer שליטה בדפדפן, scraping, בדיקות 10
שומרים את ההגדרה רק ב-Local scope כדי לא לבלבל את הצוות
מכניסים GITHUB_TOKEN ישירות ל-.mcp.json כדי שלכולם יהיה
מתחייבים .mcp.json עם env var placeholders ל-git, כל מפתח מגדיר secrets ב-environment variables שלו
MCP servers לא מיועדים לשימוש בצוות

השיעור הבא: בניית AI Agents אוטונומיים עם Claude

MCP נתן ל-Claude כלים, Agents שמים אותם לעבודה בלולאה אוטונומית. בשיעור הבא תבין כיצד agent מקבל מטרה, בוחר כלים, בוחן תוצאות ומחליט על הצעד הבא, שוב ושוב, עד שהמשימה הושגת. תבנה agent loop עובד עם בקרת בטיחות ו-human-in-the-loop.

⏱️ 50 דקות · 🎯 agent אוטונומי ב-Python עם logging, max_turns ואישור אנושי לפעולות הרסניות

רוצה ללמוד עם מעקב התקדמות, קוויזים ותעודה?

כל 130 השיעורים פתוחים בחינם, כולל נגן אינטראקטיבי, שמירת התקדמות ותעודה דיגיטלית בסיום.