בדיקת מחירים של יום שני
Every Monday at 9:00, open each product page listed in prices.md, read today's price from the page, and write me a short note naming anything that changed since last week.
שרת MCP מאומת: Puppeteer
התשובה הקצרה
אומת לאחרונה 2026-08-03
שרת ה-MCP ל-Puppeteer נותן לעוזר AI חלון Chrome אמיתי על ה-Mac שלכם: הוא יכול לפתוח עמוד, ללחוץ, להקליד, לבחור מרשימה, לצלם מסך ולהריץ JavaScript על מה שטעון בו. זהו שרת הדפדפן של פרויקט ה-Model Context Protocol עצמו, הוא אינו דורש חשבון או מפתח API, והוא גם מוכרז כמיושן. npm מגיש את אותה גרסה מאז מאי 2025 ומזהיר שהחבילה אינה נתמכת עוד, והקוד שלו עבר למאגר שהועבר לארכיון, ובכל זאת הוא הורד 26,452 פעמים בשבוע שעבר. אז הרצנו אותו. דיברנו איתו בפרוטוקול, ספרנו את כל 7 הכלים, ראינו אותו פותח חלון Chrome אמיתי וגלוי וטוען עמוד חי, ואז שברנו אותו בכוונה ארבע פעמים כדי ללכוד את נוסח השגיאות המדויק. הפלט הגולמי נמצא בעמוד הזה, ולמטה מצוינת חלופה מתוחזקת אם אתם זקוקים לה. [1][2][3][6]
אימות
השיטה
הרצנו את השרת עם npx על גבי stdio, השלמנו את לחיצת היד של MCP, קראנו ל-tools/list, ואז ביצענו קריאות כלי אמיתיות מול עמוד בדיקה ציבורי. הכלי puppeteer_navigate הפעיל דפדפן וטען את https://example.com, והכלי puppeteer_evaluate קרא לנו את העמוד בחזרה כ-׳Example Domain / Example Domain׳. בדקנו גם מה הוא באמת הפעיל במקום להניח: התהליך שרץ היה עותק ה-Chrome for Testing 131 השמור של Puppeteer עצמו, שהופעל בלי דגל headless ועם פרופיל זמני, כלומר החלון היה אמיתי וגלוי. אחר כך גרמנו בכוונה לארבעה כשלים כדי ללכוד את נוסח השגיאות המדויק, והכל מודפס למטה. טבלת הכלים היא לכידת ה-tools/list הזו, מילה במילה. שני פרטים שאיננו מייפים: השרת ענה ללחיצת היד שלנו בגרסת 2025-06-18 עם גרסת הפרוטוקול הישנה יותר 2024-11-05, והוא לא הדפיס דבר משל עצמו ב-stderr, ולכן השורות שלמטה הן npm שמזהיר אותנו בהתקנה נקייה ששתי החבילות, זו וגם גרסת Puppeteer שהיא מצמידה, מיושנות.
הודעת הפתיחה של השרת
npm warn deprecated puppeteer@23.11.1: < 24.15.0 is no longer supported npm warn deprecated @modelcontextprotocol/server-puppeteer@2025.5.12: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
קריאת כלי אמיתית אחת
tools/call puppeteer_navigate {"url": "https://example.com"}Navigated to https://example.com
שורות אמיתיות מהתוצאה שנלכדה: מספיק כדי להוכיח שהקריאה נענתה.
כלים
השרת ענה ל-tools/list עם 7 כלים בתאריך 2026-08-03. השמות, התיאורים והפרמטרים למטה הם המילים שלו עצמו, מועתקים מהתשובה הזו וללא עריכה.
| כלי | מה הוא עושה |
|---|---|
| puppeteer_navigateurl*launchOptionsallowDangerous | Navigate to a URL |
| puppeteer_screenshotname*selectorwidthheightencoded | Take a screenshot of the current page or a specific element |
| puppeteer_clickselector* | Click an element on the page |
| puppeteer_fillselector*value* | Fill out an input field |
| puppeteer_selectselector*value* | Select an element on the page with Select tag |
| puppeteer_hoverselector* | Hover an element on the page |
| puppeteer_evaluatescript* | Execute JavaScript in the browser console |
פרמטרים המסומנים ב-* הם חובה.
התקנה
העתיקו את הבלוק של האפליקציה שלכם. כל אחד מהם הוא ההגדרה המדויקת שאיתה אימתנו את השרת.
פתחו את הקובץ ~/Library/Application Support/Claude/claude_desktop_config.json (בתוך Claude Desktop: Settings, אחר כך Developer, אחר כך Edit Config) והוסיפו:
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-puppeteer"
]
}
}
}אין מה למלא: לא תיקיה, לא מפתח ולא מחרוזת חיבור. זו בדיוק ההגדרה שהרצנו. אחר כך סגרו ופתחו מחדש את Claude Desktop. על Mac ש-Puppeteer מעולם לא רץ עליו, ההפעלה הראשונה גם מורידה את עותק ה-Chrome הפרטי של Puppeteer, כ-300 MB אחרי פריסה, אז תנו לה זמן לפני שתחליטו שהיא נתקעה. [10][5]
פקודה אחת בטרמינל:
claude mcp add puppeteer -- npx -y @modelcontextprotocol/server-puppeteer
כל מה שאחרי המקף הכפול הוא הפקודה המדויקת ש-Claude Code יריץ, והיא אותה פקודה שבה השתמש האימות שלנו. אין ארגומנטים אחרי שם החבילה. [11]
הוסיפו ל-~/.cursor/mcp.json עבור כל הפרויקטים, או ל-.cursor/mcp.json בתוך פרויקט אחד:
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-puppeteer"
]
}
}
}אותה מקטע הגדרה כמו ב-Claude Desktop. Cursor קורא את הקובץ מחדש אחרי הפעלה מחדש. [12]
בלי קובץ JSON ובלי טרמינל. ב-Routines: Settings, אחר כך Assistant, אחר כך Connections, אחר כך Add MCP Server. העבירו את הטופס ל-Command (stdio) והזינו:
Name Puppeteer Command npx Arguments -y @modelcontextprotocol/server-puppeteer
השאירו את Environment Variables ריק: השרת הזה לא צריך משתנים, וגם הריצה שלנו לא השתמשה באף אחד. לחצו קודם על Test Connection: שרת תקין עונה עם מספר הכלים שלו, שבעה בשרת הזה. אם Puppeteer מעולם לא רץ על ה-Mac הזה, הבדיקה הראשונה גם צריכה להוריד את עותק ה-Chrome שלו, אז תנו לה זמן לפני שתחליטו שהיא נכשלה. [13]
בלי טרמינל
אם מעולם לא פתחתם את הטרמינל ואין לכם כוונה להתחיל, זה המסלול שלכם. Routines היא אפליקציית Mac שמריצה שרתי MCP בשבילכם: ממלאים שלושה שדות פעם אחת, והכלים של השרת זמינים ל-AI שלכם בצ׳אט ובשגרות מתוזמנות.
01
הורידו את האפליקציה מ-getroutines.ai/download, גררו אותה ל-Applications והתחברו.
02
לחצו על החשבון שלכם בתחתית סרגל הצד ובחרו Settings. פתחו את הקטע Assistant, אחר כך את הלשונית Connections, גללו אל MCP Servers ולחצו על Add MCP Server.
03
העבירו את הטופס ל-Command (stdio): השרת הזה הוא פקודה שה-Mac שלכם מריץ, לא כתובת אינטרנט שהוא פונה אליה.
04
Name: Puppeteer. Command: npx. Arguments: -y @modelcontextprotocol/server-puppeteer, ושום דבר אחריו. בשונה מרוב השרתים במדריך הזה אין נתיב, מפתח או כתובת להוסיף, כי השרת אינו מקבל ארגומנטים כלל.
05
השאירו את Environment Variables ריק, השרת הזה לא צריך משתנים. לחצו Test Connection: Routines מפעילה את השרת ומדווחת כמה כלים היא מצאה, שבעה עבור השרת הזה. אם Puppeteer מעולם לא רץ על ה-Mac הזה, הבדיקה הראשונה גם מורידה עותק Chrome משלו, כ-300 MB אחרי פריסה, ולכן היא יכולה לשבת זמן מה; ההפעלות הבאות מהירות, כי העותק נשמר. אחר כך לחצו Add Server.
06
הכלים עובדים בצ׳אט מיד. תבקשו עמוד ויקפוץ מולכם חלון בשם Google Chrome for Testing: זהו עותק ה-Chrome של Puppeteer עצמו, נפרד מהדפדפן היומיומי שלכם ומתחיל עם פרופיל ריק. חלון גלוי הוא ברירת המחדל כאן, וכדאי להכיר את זה לפני שמתזמנים משהו. כדי לתת לשגרה מתוזמנת להשתמש בכלים, פתחו את השגרה, מצאו את הכרטיס Tools & connections וסמנו את השרת תחת Apps.
רעיונות לשגרות
אחרי שהשרת מחובר, שגרה מתוזמנת יכולה להשתמש בכלים שלו גם כשאתם לא מול המסך. העתיקו פרומפט, הדביקו אותו ב-Routines ובחרו שעה. הפרומפטים כתובים באנגלית בכוונה, מדביקים אותם בדיוק כפי שהם.
Every Monday at 9:00, open each product page listed in prices.md, read today's price from the page, and write me a short note naming anything that changed since last week.
Every Friday at 15:00, open the pricing page of each company listed in competitors.md, copy the plan names and prices into a table, and save it as competitor-prices.md so I can see what moved.
Every weekday at 8:00, open my home page and my pricing page, confirm each one loads and still shows its main heading, and only message me if something is missing or a page fails to open.
פתרון תקלות
שגיאות אמיתיות שנלכדו בריצת האימות, מודפסות בדיוק כפי שהשרת החזיר אותן.
מה רואים
Dangerous browser arguments detected: --no-sandbox. Fround from environment variable and tool call argument. Set allowDangerous: true in the tool call arguments to override.
הפתרון
עובד כמתוכנן. לשרת יש רשימה של דגלי Chrome שמחלישים את מנגנוני ההגנה של הדפדפן עצמו, ובהם --no-sandbox, והוא מסרב לעלות עם אחד מהם אלא אם אישרתם זאת במפורש. גרמנו לזה בכוונה. אפשר לוותר על הדגל, להעביר allowDangerous: true יחד עם הקריאה, או להגדיר את משתנה הסביבה ALLOW_DANGEROUS לערך true. שגיאת הכתיב במילה ׳Found׳ בהודעה היא של השרת עצמו, מודפסת בדיוק כפי שהיא נשלחת. שימו לב גם שהבדיקה הזו רצה לפני שהדפדפן בכלל קיים, ולכן היא חוזרת כשגיאת פרוטוקול ולא כתוצאה רגילה של כלי.
מה רואים
Failed to click #does-not-exist-mcp-verify: No element found for selector: #does-not-exist-mcp-verify
הפתרון
הסלקטור של CSS לא התאים לשום דבר ברגע הלחיצה. שתי סיבות נפוצות: הסלקטור שגוי, או שהעמוד עוד לא סיים לרנדר את האלמנט הזה. הכלי puppeteer_click אינו ממתין לכלום, בשונה מ-puppeteer_fill, puppeteer_select ו-puppeteer_hover שממתינים עד שלושים שניות. בקשו מהעוזר לצלם מסך או לקרוא את העמוד קודם, ואז ללחוץ על מה שהוא באמת מצא.
מה רואים
Protocol error (Page.navigate): Cannot navigate to invalid URL
הפתרון
לכתובת חסרה הקידומת. שלחנו example.com בלי https:// ו-Chrome סירב; הכתובת https://example.com עברה בקריאה שאחריה. השרת מעביר את המחרוזת שלכם ישירות לדפדפן ואינו מתקן אותה, אז כתבו כתובות במלואן.
מה רואים
Failed to fill #missing-input: Waiting for selector `#missing-input` failed: Waiting failed: 30000ms exceeded
הפתרון
הכלי puppeteer_fill ממתין שהשדה יופיע ומוותר אחרי שלושים שניות. כמעט תמיד הסלקטור שגוי, או שהשדה יושב בחלק מהעמוד שמעולם לא נטען, למשל חלון עוגיות או טופס התחברות שהעוזר לא עבר. בקשו ממנו להסתכל על העמוד לפני שהוא מקליד.
הפתרון
הפקודה npx שייכת ל-Node.js. אם Node לא מותקן על ה-Mac, כל לקוח בעמוד הזה ייכשל בשלב ההפעלה עוד לפני שהשרת מספיק לומר משהו. התקינו Node מ-nodejs.org, הפעילו מחדש את לקוח ה-MCP ונסו שוב.
שאלות נפוצות
זהו שרת אוטומציית הדפדפן של פרויקט ה-Model Context Protocol עצמו, הבנוי על Puppeteer, הספרייה של Google להפעלת Chrome מתוך קוד. אחרי החיבור, עוזר AI כמו Claude יכול לפתוח עמודי אינטרנט, ללחוץ ולהקליד בהם, לצלם מסך ולהריץ JavaScript על מה שטעון, וכך אפשר לגרום לו לקרוא אתר שאין לו API. הוא רץ כתהליך מקומי על ה-Mac שלכם ומדבר עם אפליקציית ה-AI על גבי stdio. [5][6]
לא, וכדאי שתדעו את זה לפני ההתקנה. npm מסמן את החבילה כמיושנת עם ההערה ׳Package no longer supported׳, הגרסה החדשה ביותר היא 2025.5.12 ממאי 2025, והקוד עבר מהמאגר הפעיל של הפרויקט למאגר נפרד שהועבר לארכיון ותויג כ׳שרתי MCP לדוגמה שאינם מתוחזקים עוד׳. ובכל זאת הוא הורד 26,452 פעמים בשבוע שעבר, והוא רץ אצלנו כשורה ב-2026-08-03. זה המתח שכדאי לומר בקול: בשימוש נרחב, ובבירור לא מתוחזק. הגיל שלו ניכר בפרטים קטנים, למשל בכך שענה ללחיצת היד שלנו בגרסת 2025-06-18 עם גרסת הפרוטוקול הישנה יותר 2024-11-05, ובכך שהוא מצמיד גרסת Puppeteer ש-npm כבר מזהיר לגביה בעצמו. עובד היום אינו הבטחה לשנה הבאה. [1][2][3][4]
השרת הרץ חושף 7 כלים: puppeteer_navigate לפתיחת עמוד, puppeteer_click, puppeteer_fill, puppeteer_select ו-puppeteer_hover לפעולה בתוכו, puppeteer_screenshot לצילום העמוד או אלמנט יחיד, ו-puppeteer_evaluate להרצת JavaScript בו. הטבלה למעלה היא פלט ה-tools/list החי, מילה במילה. השרת גם מכריז על resources של MCP, וכך הוא מציע לעיון את יומן ה-console של הדפדפן ואת צילומי המסך שביצעתם; בריצה הזו ספרנו כלים, לא resources. [6]
לא. אין למה להירשם ואין אישור גישה להדביק, והשרת אינו קורא שום סוד מהסביבה שלו: משתני הסביבה שהוא כן קורא, PUPPETEER_LAUNCH_OPTIONS, ALLOW_DANGEROUS ו-DOCKER_CONTAINER, רק משנים את אופן ההפעלה של הדפדפן. מה שהוא כן צריך זה דפדפן. Puppeteer מתקין עותק משלו, גרסה בשם Chrome for Testing שיושבת לצד ה-Chrome הרגיל שלכם ולא מחליפה אותו, ולכן ההפעלה הראשונה דורשת חיבור לאינטרנט וקצת סבלנות עד שהיא מגיעה. [1][6]
התייחסו אליו כחשוף יותר מרוב השרתים במדריך הזה, אבל דייקו במה בדיוק החשיפה. כשמפעילים אותו כמו בכל ההגדרות בעמוד הזה, הוא פותח חלון אמיתי וגלוי של Chrome for Testing, העותק של Puppeteer עצמו, עם פרופיל זמני חדש: ראינו את זה ישירות מהחיבור, ומשמעות הדבר היא שה-Chrome היומיומי שלכם, ההתחברויות והעוגיות שלכם אינם נמצאים בתוכו. מה שכן נמצא בהישג ידו הוא המחשב והרשת שלכם. ה-README של הפרויקט מזהיר שהשרת יכול להגיע לקבצים מקומיים ולכתובות פנימיות בדיוק משום שהדפדפן רץ אצלכם, וזה הסיכון ששווה לשקול. יש גדר אמיתית אחת ובדקנו אותה: דגלי Chrome שמחלישים את הדפדפן, כמו --no-sandbox, נדחים אלא אם אישרתם במפורש, והשגיאה שקיבלנו מודפסת בקטע פתרון התקלות למעלה. מעבר לזה, העוזר יכול להקליד לתוך כל עמוד שהוא פתח, אז התייחסו לכל אתר שאתם מבקשים ממנו להתחבר אליו כאתר שהוא יוכל גם לפעול בו. [5][6]
שתיים שכדאי להכיר. שרת ה-MCP של Playwright הוא של Microsoft, מתפרסם באופן פעיל, וגם אותו אימתנו בריצה חיה באתר הזה, ולכן הוא התחליף הקרוב ביותר. השני הוא chrome-devtools-mcp של Google, שמתוחזק בידי צוות Chrome DevTools והורד 1,408,230 פעמים בשבוע שעבר, אלא שהוא מפעיל את Chrome דרך פרוטוקול ה-DevTools ולא דרך Puppeteer, ולכן הכלים שלו בנויים אחרת. קיים גם image רשמי של Docker לשרת הזה, mcp/puppeteer, עם כ-239,000 משיכות אך בלי עדכון מאז מאי 2025: ההגדרה המתועדת של Docker מציבה משתנה סביבה שגורם לשרת להפעיל את הדפדפן בלי חלון כלל, וזה הדבר האחד שמסלול ה-npx לא עושה בלי הגדרה נוספת. [9][8][6]
לא. ב-Routines ממלאים שלושה שדות בהגדרות ולוחצים Test Connection; המדריך למעלה מראה כל לחיצה, כולל הדבר האחד שמפתיע אנשים: בדיקת החיבור הראשונה יכולה לשבת זמן מה, כי Puppeteer מוריד קודם עותק Chrome משלו לפני שהשרת מסוגל לענות. Claude Desktop דורש עריכה חד-פעמית של קובץ JSON קטן. רק Claude Code הוא כלי טרמינל מטבעו. [13][10]
מקורות
כל מה שבעמוד הזה שלא ראינו בעצמנו בריצה מקושר כאן, עם התאריך שבו קראנו אותו. לגבי השאר, הריצה עצמה היא הקבלה.
[1]
Latest version 2025.5.12, published 2025-05-12, carrying the deprecation notice "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info." License MIT, and it pins puppeteer ^23.4.0 and @modelcontextprotocol/sdk 1.0.1.
[2]
26,452 downloads for the week ending 2026-08-01, and 126,562 for the month.
[3]
Archived repository described as "Reference MCP servers that are no longer maintained", 293 stars, last pushed 2025-05-28, per the GitHub API. It holds src/puppeteer.
[4]
The active repository, 89,142 stars and pushed the day we checked. Its src directory no longer holds a puppeteer folder, and its README links Puppeteer out to the archived repository.
[5]
Carries a caution that the server can reach local files and local or internal IP addresses because it runs a browser on your machine, and documents PUPPETEER_LAUNCH_OPTIONS and ALLOW_DANGEROUS.
[6]
Instantiates StdioServerTransport, launches Chrome with headless false unless the DOCKER_CONTAINER environment variable is set, screens launch arguments against a hardcoded dangerous list, and serves the console log and each screenshot as MCP resources.
[7]
MIT, Copyright (c) 2024 Anthropic, PBC. The published package declares MIT as well.
[8]
239,063 pulls and last updated 2025-05-27, per the Docker Hub API, described there as "Browser automation and web scraping using Puppeteer".
[9]
1,408,230 downloads for the week ending 2026-08-01. The package is published by the Chrome DevTools team.
[10]
The official Claude Desktop quickstart and the claude_desktop_config.json shape.
[11]
[12]
[13]
How Routines runs one-click OAuth connectors and any MCP server.
העמוד הזה מתאר את Puppeteer כפי שהתנהג בריצה מתוארכת אחת על Mac אחד. גרסאות משתנות: אם משהו כאן כבר לא תואם למה שאתם רואים, תאריך הלכידה בראש העמוד אומר בן כמה הצילום.
מאחורי המדריך הזה
Routines, האפליקציה שמאחורי המדריך הזה, מריצה שרתי MCP כמו זה בלי טרמינל: כך עובדים המחברים. הפתקים שלכם נשארים קובצי markdown על ה-Mac שלכם, אין חשבון ענן לשלם, והיא עובדת גם בלי אינטרנט. להורדת Routines