מעקב מתחרים של יום שני
Every Monday at 8:00, search the web for anything published in the last seven days about my three main competitors, read the pages worth reading, and write a one-page brief with links to competitors.md in my Notes folder.
שרת MCP מאומת: Exa
רשימת הכלים למטה היא לכידה חיה מהשרת הרץ; קריאת כלי מאומתת עדיין ממתינה להרשאות.
התשובה הקצרה
אומת לאחרונה 2026-08-03
שרת ה-MCP של Exa נותן לעוזר AI מנוע חיפוש שנבנה עבור AI: אתם מתארים במשפט אחד את העמוד שאתם רוצים, והוא מחזיר טקסט נקי של כתבות במקום רשימת קישורים, ולצדו כלי שני שקורא כל כתובת URL כ-markdown. זהו השרת הרשמי של Exa Labs, ברישיון MIT במאגר שלו, והוא מגיע בשתי צורות. חבילת ה-npm שבעמוד הזה, exa-mcp-server, רצה על ה-Mac שלכם על גבי stdio וקוראת מפתח API מהמשתנה EXA_API_KEY. Exa עצמה מובילה היום את טבלת ההתקנה שלה עם שרת מתארח בכתובת https://mcp.exa.ai/mcp, שבו נכנסים עם חשבון Exa ולא מדביקים מפתח בשום מקום. הרצנו את חבילת ה-npm, ספרנו את שני הכלים שהיא חושפת, בדקנו גם את הכתובת המתארחת, ושמרנו כל תשובה גולמית, כולל השגיאות המדויקות שמתקבלות כשהמפתח חסר או שגוי. [1][5][6][8][10]
אימות
השיטה
הרצנו את השרת עם npx על גבי stdio, השלמנו את לחיצת היד של MCP, קראנו ל-tools/list והרצנו קריאת כלי אמיתית אחת. טבלת הכלים למטה היא התשובה הזו, מילה במילה, וגרסת הפרוטוקול למעלה נקראה ישירות מתשובת ה-initialize הגולמית. ה-Mac הזה לא מחזיק מפתח API של Exa, ולכן הגדרנו את EXA_API_KEY לערך מציין מקום ברור במקום מפתח אמיתי. התברר שזה לא משנה להפעלה: השרת הזה אינו בודק את המפתח בעלייה, ולכן הוא עולה ומתאר את עצמו כך או כך. ברגע שכלי רץ, הבקשה יוצאת אל api.exa.ai ומציין המקום נחשף, וזו שגיאת ה-401 המודפסת למטה. קריאה מאומתת עדיין ממתינה להרשאות.
הודעת הפתיחה של השרת
{"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{"listChanged":true},"prompts":{"listChanged":true},"resources":{"listChanged":true}},"serverInfo":{"name":"exa-search-server","title":"Exa","version":"3.4.0","websiteUrl":"https://exa.ai","icons":[{"src":"https://exa.ai/images/favicon-32x32.png","mimeType":"image/png","sizes":["32x32"]}]}},"jsonrpc":"2.0","id":1}קריאת כלי אמיתית אחת
tools/call web_search_exa {"query": "model context protocol", "numResults": 3}web_search_exa error (401): Invalid API key Timestamp: 2026-08-03T04:51:41.361Z
שורות אמיתיות מהתוצאה שנלכדה: מספיק כדי להוכיח שהקריאה נענתה.
כלים
השרת ענה ל-tools/list עם 2 כלים בתאריך 2026-08-03. השמות, התיאורים והפרמטרים למטה הם המילים שלו עצמו, מועתקים מהתשובה הזו וללא עריכה.
| כלי | מה הוא עושה |
|---|---|
| web_search_exaquery*numResults | Search the web for any topic and get clean, ready-to-use content. Best for: Finding current information, news, facts, people, companies, or answering questions about any topic. Returns: Clean text content from top search results. Query tips: describe the ideal page, not keywords. "blog post comparing React and Vue performance" not "React vs Vue". Use category:people / category:company to search through Linkedin profiles / companies respectively. If highlights are insufficient, follow up with web_fetch_exa on the best URLs. |
| web_fetch_exaurls*maxCharacters | Read a webpage's full content as clean markdown. Use after web_search_exa when highlights are insufficient or to read any URL. Best for: Extracting full content from known URLs. Batch multiple URLs in one call. Returns: Clean text content and metadata from the page(s). |
פרמטרים המסומנים ב-* הם חובה.
התקנה
העתיקו את הבלוק של האפליקציה שלכם. כל אחד מהם הוא ההגדרה המדויקת שאיתה אימתנו את השרת.
פתחו את הקובץ ~/Library/Application Support/Claude/claude_desktop_config.json (בתוך Claude Desktop: Settings, אחר כך Developer, אחר כך Edit Config) והוסיפו:
{
"mcpServers": {
"exa": {
"command": "npx",
"args": [
"-y",
"exa-mcp-server"
],
"env": {
"EXA_API_KEY": "your_api_key"
}
}
}
}הדביקו את המפתח שלכם מ-dashboard.exa.ai, ואז סגרו ופתחו מחדש את Claude Desktop. יש שני מסלולים קצרים יותר אם אתם מעדיפים לא להחזיק מפתח בכלל: Claude Desktop מציג את Exa בעמוד ה-Connectors, וה-README מראה גם את npx -y mcp-remote https://mcp.exa.ai/mcp, שמחבר אתכם ל-Exa דרך הדפדפן במקום. [8][12]
הפקודה ש-Exa מתעדת מפנה לשרת המתארח שלה, ולכן אין מפתח להדביק:
claude mcp add --transport http exa https://mcp.exa.ai/mcp # or the local npm package with your own key: claude mcp add --env EXA_API_KEY=your_api_key exa -- npx -y exa-mcp-server
השורה הראשונה היא הפקודה המדויקת שב-README. השנייה היא המקבילה ב-stdio למי שרוצה שהחבילה תרוץ על המחשב שלו: כל מה שאחרי המקף הכפול הוא הפקודה ש-Claude Code יריץ. [8][13]
הוסיפו ל-~/.cursor/mcp.json עבור כל הפרויקטים, או ל-.cursor/mcp.json בתוך פרויקט אחד. Exa מתעדת כאן את הכתובת המתארחת:
{
"mcpServers": {
"exa": {
"url": "https://mcp.exa.ai/mcp"
}
}
}Cursor קורא את הקובץ מחדש אחרי הפעלה מחדש. כדי להריץ את החבילה מקומית במקום, החליפו את שורת ה-url בבלוקים command, args ו-env שמופיעים בלשונית Claude Desktop. אם עשיתם זאת, התייחסו לקובץ כמו לכל קובץ שיש בו מפתח: זה טקסט רגיל על הדיסק, לכן אל תעלו אותו למאגר קוד. [8][14]
בלי קובץ JSON ובלי טרמינל. ב-Routines: Settings, אחר כך Assistant, אחר כך Connections, אחר כך Add MCP Server. העבירו את הטופס ל-Command (stdio) והזינו:
Name Exa Command npx Arguments -y exa-mcp-server Environment Variables EXA_API_KEY your_api_key
הערך בשדה ה-Arguments מתפצל לפי רווחים, לכן השאירו אותו בדיוק שלוש המילים האלה. המפתח נכנס ל-Environment Variables, לעולם לא ל-Arguments. אם אתם מעדיפים את השרת המתארח של Exa, השאירו את הטופס במצב URL (SSE/HTTP) והזינו את https://mcp.exa.ai/mcp במקום. לחצו קודם על Test Connection: שרת תקין עונה עם מספר הכלים שלו, שניים עבור השרת הזה. [15][8]
בלי טרמינל
אם מעולם לא פתחתם את הטרמינל ואין לכם כוונה להתחיל, זה המסלול שלכם. Routines היא אפליקציית Mac שמריצה שרתי MCP בשבילכם: ממלאים כמה שדות פעם אחת, והכלים של השרת זמינים ל-AI שלכם בצ׳אט ובשגרות מתוזמנות. העיקוף היחיד הוא מפתח ה-API של Exa, והוא לוקח בערך שתי דקות.
01
הורידו את האפליקציה מ-getroutines.ai/download, גררו אותה ל-Applications והתחברו.
02
גשו ל-dashboard.exa.ai/api-keys, פתחו חשבון והעתיקו את המפתח שמוצג לכם. Exa נותנת לחשבונות חדשים כמות קטנה של קרדיט חיפוש חינם, כך שאפשר לנסות לפני שמחליטים לשלם על משהו.
03
חזרה ב-Routines, לחצו על החשבון שלכם בתחתית סרגל הצד ובחרו Settings. פתחו את הקטע Assistant, אחר כך את הלשונית Connections, גללו אל MCP Servers ולחצו על Add MCP Server.
04
הטופס נפתח במצב URL (SSE/HTTP). העבירו אותו ל-Command (stdio): החבילה היא פקודה, לא כתובת אינטרנט. Name: Exa. Command: npx. Arguments: -y exa-mcp-server, בדיוק שלוש המילים האלה.
05
תחת Environment Variables הוסיפו את EXA_API_KEY עם המפתח שהעתקתם. לחצו Test Connection: Routines מפעילה את השרת בלי לשמור אותו ומדווחת כמה כלים היא מצאה, שניים עבור השרת הזה. אחר כך לחצו Add Server.
06
הכלים עובדים בצ׳אט מיד. כדי לתת לשגרה מתוזמנת להשתמש בהם, פתחו את השגרה, מצאו את הכרטיס Tools & connections וסמנו את השרת תחת Apps.
רעיונות לשגרות
אחרי שהשרת מחובר, שגרה מתוזמנת יכולה להשתמש בכלים שלו גם כשאתם לא מול המסך. העתיקו פרומפט, הדביקו אותו ב-Routines ובחרו שעה. הפרומפטים כתובים באנגלית בכוונה, מדביקים אותם בדיוק כפי שהם.
Every Monday at 8:00, search the web for anything published in the last seven days about my three main competitors, read the pages worth reading, and write a one-page brief with links to competitors.md in my Notes folder.
Every Friday at 17:00, search for the best new articles and research published this week on the topics I follow, read the top five, and save a short summary of each with its link to weekly-reading.md.
Every weekday at 7:30, look at the companies I am meeting today, search the web for their recent news, funding and product launches, and write a five-line brief on each to meeting-brief.md.
פתרון תקלות
שגיאות אמיתיות שנלכדו בריצת האימות, מודפסות בדיוק כפי שהשרת החזיר אותן.
מה רואים
web_search_exa error (401): Invalid API key Timestamp: 2026-08-03T04:51:41.361Z
הפתרון
שגיאת ה-401 הזו היא התשובה של Exa, לא של השרת: השרת העביר את המפתח שלכם הלאה ו-api.exa.ai דחה אותו. בדיוק את זה הפיקה הריצה שלנו, כי הפעלנו את השרת עם מפתח מציין מקום בכוונה. ודאו שהעתקתם את המפתח המלא מ-dashboard.exa.ai/api-keys, שהוא לא הוחלף, ושבחשבון ה-Exa שלכם עדיין יש קרדיט חיפוש.
מה רואים
web_search_exa error (401): API key must be provided as an argument or as an environment variable (EXA_API_KEY) Timestamp: 2026-08-03T04:56:08.409Z
הפתרון
הודעה שונה מזו שלמעלה, ומועילה: היא אומרת שהמשתנה מעולם לא הגיע לשרת. השרת עצמו עולה בשמחה בלי מפתח ועדיין מציג את הכלים שלו, ולכן הבעיה מתגלה רק בקריאה האמיתית הראשונה. ב-Claude Desktop וב-Cursor המפתח נכנס לבלוק env, ב-Routines הוא נכנס ל-Environment Variables, וב-Claude Code הוא נכנס לדגל --env.
מה רואים
MCP error -32602: Input validation error: Invalid arguments for tool web_search_exa: [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"query"
],
"message": "Required"
}
]הפתרון
השרת בודק את הארגומנטים מקומית לפני שהוא פונה ל-Exa, ולכן שדה חובה חסר לעולם לא עולה לכם בקרדיט חיפוש. גרמנו לשגיאה הזו כשקראנו ל-web_search_exa בלי query. אותה תבנית חוזרת מ-web_fetch_exa כשחסר urls. שום דבר לא שבור: העוזר פשוט צריך לשלוח את שדה החובה, שמופיע בטבלת הכלים למעלה.
הפתרון
השרת מקבל משתנה אופציונלי בשם ENABLED_TOOLS שמגביל אילו כלים הוא רושם, והוא נכשל בשקט: הפעלנו אותו עם ENABLED_TOOLS שמכיל web_search_exa,not_a_real_tool והוא עלה עם כלי אחד, בלי אזהרה ב-stderr ובלי שגיאה בשום מקום. אם כלי שציפיתם לו חסר, בדקו קודם את המשתנה הזה ואת האיות של כל שם בתוכו מול טבלת הכלים למעלה.
מה רואים
{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed."},"id":null}הפתרון
קיבלנו את זה כשגיאת HTTP 405 מבקשת GET רגילה אל https://mcp.exa.ai/mcp, וזו בדיוק הבקשה שדפדפן שולח. זו אינה תקלה: השרת המתארח מדבר streamable HTTP ועונה רק ל-POST. הפניית לקוח MCP לכתובת הזו עובדת מצוין, והוא ענה ללחיצת היד שלנו ב-POST בלי שום אישור גישה מצורף, ודיווח על עצמו כ-exa-search-server 3.2.1. אל תשפטו אותו לפי מה שדפדפן מראה לכם.
הפתרון
הפקודה npx שייכת ל-Node.js, והחבילה הזו דורשת Node 20 ומעלה. אם Node חסר או ישן מדי, כל הגדרה מקומית בעמוד הזה תיכשל בשלב ההפעלה עוד לפני שהשרת מספיק לומר משהו. התקינו Node מ-nodejs.org, הפעילו מחדש את לקוח ה-MCP ונסו שוב. הכתובת המתארחת לא דורשת Node כלל, וזו אחת הסיבות ש-Exa מובילה איתה.
שאלות נפוצות
זו תוכנה קטנה שיושבת בין עוזר AI לבין Exa, מנוע חיפוש שנבנה עבור AI ולא עבור אנשים שסורקים עמוד תוצאות. אחרי החיבור, עוזר כמו Claude יכול לחפש ברשת מתוך תיאור בשפה חופשית של העמוד שאתם רוצים, ולקרוא כל כתובת URL בחזרה כ-markdown נקי. הגרסה שהרצנו כאן רצה כתהליך מקומי על ה-Mac שלכם ומדברת עם אפליקציית ה-AI על גבי stdio. [8][9]
השרת הרץ חושף בדיוק 2 כלים: web_search_exa, שמקבל שאילתה בשפה חופשית ומספר תוצאות אופציונלי, ו-web_fetch_exa, שמקבל רשימת כתובות URL ומגבלת תווים אופציונלית לכל עמוד. הטבלה למעלה היא פלט ה-tools/list החי, מילה במילה. גרסאות ישנות ומדריכים ישנים מציגים שמות נוספים כמו company_research_exa או deep_researcher_start; גרסה 3.4.0 לא רשמה אף אחד מהם אצלנו.
כן, אחד מהשניים. חבילת ה-npm קוראת את EXA_API_KEY, שאותו יוצרים ב-dashboard.exa.ai/api-keys, והחיפוש נמדד מול חשבון ה-Exa שלכם. ל-Exa יש גם שרת מתארח בכתובת https://mcp.exa.ai/mcp שבו נכנסים עם חשבון Exa במקום להדביק מפתח. כך או כך יש חשבון Exa מאחורי זה: אין דרך להריץ את השרת הזה בעילום שם. [8]
Exa מובילה היום את טבלת ההתקנה שלה עם השרת המתארח בכתובת https://mcp.exa.ai/mcp כמעט לכל לקוח, ומציעה מתחתיו את חבילת ה-npm כמסלול ללקוחות שתומכים רק ב-stdio. בחרו את המתארח אם אתם רוצים את ההתקנה הקצרה ביותר ובלי מפתח על הדיסק. בחרו את חבילת ה-npm, זו שאומתה בעמוד הזה, אם אתם מעדיפים שהתהליך ירוץ על המחשב שלכם ושהמפתח יישאר במקום שאתם שולטים בו. [8][11]
הקוד פתוח ברישיון MIT במאגר של exa-labs, הוא מפורסם על ידי Exa Labs עצמה, ושני הכלים שהוא חושף מצהירים על עצמם כקריאה בלבד בהערות שלהם: שום דבר כאן לא כותב ל-Mac שלכם. השיקולים האמיתיים הם עלות ובלבול. כל חיפוש מוציא קרדיט של Exa, ולכן שגרה מתוזמנת שמחפשת מדי שעה עולה כסף אמיתי. ובנוסף, ב-npm יש כמה שמות דומים, ובהם exa-mcp הלא רשמי שפורסם לאחרונה באפריל 2025, ופיצולים כמו exa-acp-mcp שמנתבים בקשות דרך שרת תיווך של צד שלישי. החבילה הרשמית היא exa-mcp-server. [6][3][4]
כי בקובץ package.json אין שדה license, ולכן מטא-הנתונים במאגר מדווחים שאין, בעוד שבמאגר הקוד יש קובץ LICENSE אמיתי: MIT, זכויות יוצרים Exa Labs 2025. שתי העובדות ניתנות לבדיקה ובדקנו את שתיהן. זהו פער מטא-נתונים, לא מלכודת רישוי, אבל כדאי לדעת עליו אם בארגון שלכם מסננים תלויות לפי שדה הרישיון ב-npm. [1][7][6]
כל לקוח MCP שמסוגל להפעיל שרת stdio מקומי או להתחבר לשרת HTTP: Claude Desktop, Claude Code, Cursor ו-Routines כולם יכולים, וההגדרה המדויקת לכל אחד נמצאת למעלה. ה-README של Exa מציין גם את VS Code, Codex, Windsurf, Zed, OpenCode ו-Gemini CLI. השרת זהה בכל מקום; רק המקום שבו מדביקים את ההגדרה משתנה. [8][12][13][14][15]
מקורות
כל מה שבעמוד הזה שלא ראינו בעצמנו בריצה מקושר כאן, עם התאריך שבו קראנו אותו. לגבי השאר, הריצה עצמה היא הקבלה.
[1]
Latest version 3.4.0, published 2026-08-01. No license field in the package metadata.
[2]
[3]
Version 0.0.7, last published 2025-04-02, no author or repository listed, 108 downloads in the same week.
[4]
Lists the community forks: markov-exa-mcp-server, @199bio/exa-mcp-server, exa-acp-mcp, @pipeworx/mcp-exa, @mcpcn/exa-mcp.
[5]
4,810 stars, 363 forks, last push 2026-08-01, not archived, per the GitHub API.
[6]
[7]
Version 3.4.0, bin exa-mcp-server, engines.node >=20.0.0, and no license field.
[8]
The install matrix: the hosted https://mcp.exa.ai/mcp endpoint first, the npm package with EXA_API_KEY under Via npm Package.
[9]
web_search_exa and web_fetch_exa are the tools enabled by default.
[10]
The key is read at call time, not at boot, which is why the server starts without one.
[11]
[12]
The official Claude Desktop quickstart and the config file location.
[13]
The claude mcp add syntax for local stdio servers and for HTTP transports.
[14]
The mcp.json shape, including url servers, and the file locations.
[15]
How Routines runs one-click OAuth connectors and any MCP server.
העמוד הזה מתאר את Exa כפי שהתנהג בריצה מתוארכת אחת על Mac אחד. גרסאות משתנות: אם משהו כאן כבר לא תואם למה שאתם רואים, תאריך הלכידה בראש העמוד אומר בן כמה הצילום.
מאחורי המדריך הזה
Routines, האפליקציה שמאחורי המדריך הזה, מריצה שרתי MCP כמו זה בלי טרמינל: כך עובדים המחברים. התדריכים שהיא כותבת נשארים קובצי markdown על ה-Mac שלכם, ואין חשבון ענן לשלם. להורדת Routines