arielshemesh1999@gmail.com · ישראל
← כל המאמרים

Perplexity MCP

השרת הרשמי של Perplexity עבור Claude. חיפוש אינטרנט בזמן אמת ושלושה מודלי Sonar — sonar-pro לתשובות מהירות, sonar-deep-research לדוחות מעמיקים, sonar-reasoning-pro לעבודה אנליטית — כולם מחוברים ללולאת הסוכן עם תוצאות מצוטטות.

מה זה

שרת ה-MCP של Perplexity הוא המימוש הרשמי של Model Context Protocol מטעם Perplexity. הוא מתארח ב-perplexityai/modelcontextprotocol, מופץ ב-npm בתור @perplexity-ai/mcp-server, ורישיון MIT. הוא חושף ארבעה כלים שממפים את ה-API הציבורי של Perplexity: perplexity_search (Search API גולמי עם דירוג), perplexity_ask (שיחה דרך sonar-pro), perplexity_research (צלילה מעמיקה דרך sonar-deep-research), ו-perplexity_reason (הסקה אנליטית דרך sonar-reasoning-pro).

מה שמקבלים בפועל בתוך Claude אחרי ההתקנה: אינטרנט שהמודל מחפש בו בזמן אמת, URL-ים מלאים של המקורות שחוזרים עם כל תשובה (לאימות או מעקב), ושלוש רמות איכות של תגובה. הרעיון התפעולי פשוט — בוחרים את המודל הזול ביותר שסביר שיענה על השאלה, ומסלימים רק כשהוא נכשל. Perplexity מתחזקת תיעוד רשמי לאינטגרציה, ואינדקס התיעוד ב-https://docs.perplexity.ai/llms.txt בנוי לטעינה ישירה על-ידי סוכן-LLM.

ארכיטקטורה — איך זה עובד

השרת הוא עטיפת TypeScript דקה סביב ה-HTTPS API של Perplexity, ולא מודל בפני עצמו. הוא מדבר MCP דרך stdio כברירת מחדל (כך Claude Desktop ו-Claude Code מריצים אותו) ויכול לרוץ גם כשירות HTTP לפריסות משותפות או בענן — אותו משטח כלים בדיוק, רק חשוף תחת הנתיב http://localhost:8080/mcp. ה-port (PORT=8080) וכתובת ה-bind (BIND_ADDRESS, ברירת המחדל 127.0.0.1) ניתנים לשליטה דרך משתני סביבה; 0.0.0.0 הוא הגדרה ידנית לחשיפה ברשת, לא ברירת המחדל.

כל קריאת כלי פוגעת ב-api.perplexity.ai עם ה-bearer token מ-PERPLEXITY_API_KEY. ארבעת הכלים מחלקים את תחום הפעולה לפי כוונה, ולא רק לפי "מודל גדול יותר":

  • perplexity_search — קורא ישירות ל-Search API. אין יצירת טקסט על-ידי LLM כלל, רק תוצאות מדורגות עם כותרת, URL וקטע תוכן (ה-API תומך גם בסינון דומיין, חיפוש רב-שאילתה וחילוץ תוכן). הזול והמהיר ביותר. מתאים כשרוצים את התוצאות הגולמיות ולעבד אותן לבד.
  • perplexity_ask — דרך sonar-pro: תשובה שיחתית עם חיפוש חי וציטוטים, חלון הקשר של עד 200K טוקנים. כלי השימוש היומיומי. מתאים ל-"מה הגרסה האחרונה של X", "מי גייס את Y בשבוע שעבר", "סכם לי את התיעוד של Z".
  • perplexity_research — דרך sonar-deep-research: אחזור רב-שלבי, חלון עיבוד ארוך, פלט בצורת דוח מובנה. עודכן מהותית בתחילת 2026 כדי לייצר תוצרים ישירות — טבלאות, dashboards ומצגות — מתוך פרומפט אחד. מתאים ל-"הפק ניתוח השוואתי של ארבע vector DB מובילות ב-2026 עם ציטוטים".
  • perplexity_reason — דרך sonar-reasoning-pro (נשען בין היתר על אינטגרציית DeepSeek R1): שרשראות אנליטיות, מתמטיקה ולוגיקה, פתרון בעיות שלב-אחר-שלב, חלון הקשר של 128K. מחזיר בלוקי <think>…</think> כברירת מחדל.

גם perplexity_research וגם perplexity_reason מקבלים פרמטר אופציונלי. ה-README מנסח זאת במדויק: "Set to true to remove <think>...</think> tags from the response, saving context tokens. Default: false". כלומר שרשרת המחשבה מורדת בצד השרת לפני שהתגובה חוזרת ל-Claude — הטוקנים האלה לא תופסים מקום בחלון ההקשר שלכם.

התקנה

קודם מקבלים מפתח מפורטל ה-API. לאחר מכן פקודה אחת עבור Claude Code:

claude mcp add perplexity --env PERPLEXITY_API_KEY="your_key_here" \
  -- npx -y @perplexity-ai/mcp-server

נתיב ה-plugin (Claude Code marketplace):

export PERPLEXITY_API_KEY="your_key_here"
claude
# inside the REPL:
/plugin marketplace add perplexityai/modelcontextprotocol
/plugin install perplexity

Codex CLI עובד באותה דרך:

codex mcp add perplexity --env PERPLEXITY_API_KEY="your_key_here" \
  -- npx -y @perplexity-ai/mcp-server

קונפיגורציה

עבור Claude Desktop, Cursor, Windsurf, Kiro — אותו בלוק mcpServers נכנס לתוך claude_desktop_config.json (Claude Desktop), ~/.cursor/mcp.json (Cursor), ~/.codeium/windsurf/mcp_config.json (Windsurf), או .kiro/settings/mcp.json (Kiro):

{
  "mcpServers": {
    "perplexity": {
      "command": "npx",
      "args": ["-y", "@perplexity-ai/mcp-server"],
      "env": {
        "PERPLEXITY_API_KEY": "your_key_here"
      }
    }
  }
}

VS Code (.vscode/mcp.json) משתמש במעטפת שונה — servers ברמה העליונה בתוספת type מפורש:

{
  "servers": {
    "perplexity": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@perplexity-ai/mcp-server"],
      "env": { "PERPLEXITY_API_KEY": "your_key_here" }
    }
  }
}

משתני סביבה אופציונליים שימושיים מה-README:

  • PERPLEXITY_TIMEOUT_MS=600000 — הגדלת הזמן מעל ברירת המחדל של 5 דקות, לטובת קריאות ארוכות של perplexity_research.
  • PERPLEXITY_BASE_URL — הפניה לנקודת קצה מותאמת אישית או ארגונית (ברירת המחדל: https://api.perplexity.ai).
  • PERPLEXITY_LOG_LEVEL=DEBUG|INFO|WARN|ERROR — ברירת המחדל היא ERROR.
  • PERPLEXITY_PROXY=https://user:pass@host:8080 — תמיכה ב-proxy ארגוני. השרת בודק PERPLEXITY_PROXYHTTPS_PROXYHTTP_PROXY בסדר הזה.

גוצ'ה אמיתית: לקוחות MCP מחמירים נחנקים לפעמים מהודעות ההתקנה ש-npx מדפיס, מה שגורם ל-EOF error בלחיצת היד הראשונית. הפתרון שה-README מתעד הוא להחליף -y ב--yq במערך ה-args — ה-q משתיק את ה-output ולחיצת היד עוברת נקי.

HTTP / Docker לפריסה משותפת:

docker build -t perplexity-mcp-server .
docker run -p 8080:8080 -e PERPLEXITY_API_KEY=your_key_here perplexity-mcp-server
# server available at http://localhost:8080/mcp

דוגמאות שימוש

1. בדיקת עובדה מהירה עם sonar-pro. המודל בוחר perplexity_ask אוטומטית כשמנסחים את הבקשה כשאלה:

"מה הגרסה הנוכחית של Playwright MCP ב-npm? תן לי את תאריך השחרור וכותרת ה-changelog."

Claude קורא ל-perplexity_ask עם הפרומפט הזה; התגובה מגיעה עם התשובה ורשימת URL-ים של מקורות (Perplexity תמיד מחזירה ציטוטים). עלות: קריאת Sonar זולה אחת, ללא עומס של מחקר מעמיק.

2. דוח מחקר מעמיק עם sonar-deep-research. כשצריכים השוואה אמיתית ולא תשובה של פסקה אחת:

"Use perplexity_research: השווה בין Pinecone, Weaviate, Qdrant ו-pgvector עבור RAG בייצור ב-2026 — תפוקת עיבוד, recall ב-MTEB, מחיר על 10M וקטורים, ונקודות כאב תפעוליות. צטט מקורות. Set strip_thinking to true."

הקריאה מחזירה דוח רב-סעיפי עם ציטוטים מוטמעים. הפרמטר strip_thinking: true הוא ההבדל בין תגובה של 12k טוקנים לתגובה של 25k טוקנים — עקבות שרשרת המחשבה נשמרות אצל Perplexity ורק הדוח הסופי חוזר.

3. הסקה אנליטית עם sonar-reasoning-pro. לבעיות שבהן הערך טמון בהיגיון, לא בחיפוש:

"Use perplexity_reason: דף אינטרנט נטען ב-4.2s LCP על mobile 3G. עבור על הסיבות הסבירות ביותר לפי סדר, מה למדוד כדי לאשר כל אחת, והתיקון הזול ביותר."

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

מודלים ועלויות

שרת ה-MCP חושף שלוש רמות Sonar, ולכל אחת פרופיל עלות אחר — וזה בדיוק מה שהופך את החלוקה לארבעה כלים למשמעותית. לפי תמחור ה-API הציבורי של Perplexity (ל-1M טוקנים):

  • sonar-pro — כ-$3 input / $15 output, חלון 200K. זה הכלי שמטפל ברוב הקריאות, אז הוא קובע את עיקר החשבון.
  • sonar-reasoning-pro — כ-$2 input / $8 output, חלון 128K. זול יותר ב-output מ-sonar-pro, אבל ה-reasoning tokens מנפחים את הספירה בפועל אם לא משתמשים ב-strip_thinking.
  • sonar-deep-research — כ-$2 input / $8 output, ובנוסף חיוב על reasoning tokens, citation tokens, ועל מספר שאילתות החיפוש שהדוח מבצע. זו הקריאה היקרה ביותר במחיר בודד, ולכן שמורה לבקשות דוח של ממש.

נקודה תפעולית ששווה זהב ב-2026: citation tokens חויבו ב-2025 על כל המודלים, וב-2026 הם חלים רק על Deep Research. בפועל, perplexity_ask ו-perplexity_search נעשו זולים יותר מבלי שעשיתם דבר — מה שמחזק עוד יותר את ההיגיון של "תתחיל זול". מצבי החיפוש (High / Medium / Low) זמינים על כל המודלים מלבד Deep Research, ומאפשרים לסחור בין מחיר לעומק האחזור.

מה חדש / גרסה

שרת ה-MCP מתעדכן ב-rolling release ב-npm תחת @perplexity-ai/mcp-server (אין מספר גרסה קבוע שכדאי לנעול אליו; npx -y מושך תמיד את העדכני). תוספות שכדאי להכיר:

  • פרמטר strip_thinking בכלי ה-reasoning וה-research. מסיר את בלוקי <think> בצד השרת — חיסכון ישיר בהקשר וגם בעלות reasoning-tokens.
  • מצב HTTP server עם תמיכה ב-Docker — גשר Perplexity משותף לצוות מאחורי רשימת-היתרים של CORS (ALLOWED_ORIGINS, ריק כברירת מחדל — חובה להגדיר מקורות מורשים מפורשות).
  • תמיכת proxy ברמה ראשונית דרך PERPLEXITY_PROXY, כולל הצורה https://user:pass@host:port — נקייה יותר מהדרך שבה רוב שרתי ה-MCP מטפלים ב-proxy ארגוני.
  • התקנה בלחיצה אחת עם deeplinks עבור Cursor, VS Code ו-Kiro, בנוסף לנתיב /plugin install perplexity בתוך Claude Code.

למה זה חשוב בפועל

בלי Perplexity MCP, שאלות כמו "מה הגרסה האחרונה של X" או "מה השתנה ב-Y השבוע" שולחות את Claude לטריטוריה של הזיות ברגע שהשאלה חוצה את תאריך סיום אימון המודל. עם ה-MCP, כל פרומפט בגוון מחקרי מנותב דרך מודל שמחפש קודם ועונה אחר כך, והציטוטים מגיעים באותה תגובה — כך שצעד האימות הוא לחיצה אחת, לא תהליך עבודה נפרד.

בשימוש יומיומי המנוף הגדול הוא בדיוק החלוקה לשלושה מודלים, כי היא ממפה מטלה לעלות. perplexity_ask סוגר את הרוב המוחלט של הקריאות בזול — בדיקת עובדה, "מה הגרסה הנוכחית", סיכום תיעוד. perplexity_research נכנס רק כשבאמת צריך דוח השוואתי ולא תשובה של פסקה. ו-perplexity_reason עם strip_thinking הוא הברירה כשרוצים את ההיגיון והמסקנה בלי מונולוג שרשרת-מחשבה שתופס הקשר. מניסיון, כדאי לתת למודל לבחור בעצמו את הכלי לפי ניסוח הבקשה, ולהסלים ידנית רק כשהשלב הזול לא הספיק.

פרט עדין אך חשוב: perplexity_search לא מייצר טקסט. הוא פוגע ב-Search API ישירות וחוזר עם שלישיות של כותרת/URL/קטע. כשכבר יודעים מה מחפשים ורוצים רק הפניות, perplexity_search זול בהרבה מלבקש מ-perplexity_ask לעשות את אותה עבודה — לא מחויבים טוקני LLM בצד התשובה, רק החיפוש עצמו. שווה להתייחס לארבעת הכלים כסולם עלויות: searchaskreasonresearch, ולתת ל-Claude לבחור את השלב הנמוך ביותר שסביר שיענה, עם הסלמה מפורשת רק כשהשלב הזול נכשל.

מצב הפריסה HTTP/Docker חשוב אף הוא יותר ממה שנראה. גשר Perplexity משותף אחד מאחורי רשימת-היתרים של CORS (ALLOWED_ORIGINS) מאפשר לתת לכמה לקוחות-MCP את אותו משטח חיפוש בלי להעתיק את מפתח ה-API לתריסר קבצי mcp.json — המפתח יושב פעם אחת בשרת, וכל סוכן מתחבר דרך http://host:8080/mcp. לצוות קטן זה ההבדל בין "כולם מריצים Perplexity לחוד" ל"כולם חולקים תקציב אחד ומדיניות רוטציה אחת".

מקורות

ריפו: github.com/perplexityai/modelcontextprotocol. חבילה: npmjs.com/package/@perplexity-ai/mcp-server. תיעוד: docs.perplexity.ai → integrations → MCP server. פורטל API: perplexity.ai/account/api/group.