תקציר מכירות ליום שני
Every Monday at 8:00, query the database for last week's orders, and write me a short summary with the total revenue, the number of orders, the five best selling products, and how each number compares with the week before.
שרת MCP מאומת: MySQL
רשימת הכלים למטה היא לכידה חיה מהשרת הרץ; קריאת כלי מאומתת עדיין ממתינה להרשאות.
התשובה הקצרה
אומת לאחרונה 2026-08-03
שרת ה-MCP ל-MySQL נותן לעוזר AI דלת אחת אל מסד נתונים MySQL: כלי יחיד, mysql_query, שמריץ SQL ומחזיר את השורות. הוא מתוחזק על ידי הקהילה, בידי Ben Borla, לא על ידי MySQL ולא על ידי פרויקט ה-Model Context Protocol, והוא שרת ה-MCP ל-MySQL הנפוץ ביותר ב-npm עם 12,075 הורדות בשבוע שהסתיים ב-2026-08-01, לצד 2,003 כוכבים ומאגר שעודכן לאחרונה ב-2026-07-27. אישור הגישה כאן אינו מפתח API: זהו חיבור למסד נתונים שכבר יש לכם, כלומר הכתובת, הפורט, שם המשתמש, הסיסמה ושם מסד הנתונים, שמועברים כמשתני סביבה. הרצנו אותו על Mac, דיברנו איתו בפרוטוקול, והוא ענה עם כלי אחד בדיוק, שהוא הטבלה שלמטה מילה במילה. ב-Mac הזה לא רץ MySQL, ולכן קריאת השאילתה לא הושלמה: השרת יוצא ברגע שבדיקת החיבור שלו בהפעלה נדחית, והדחייה הזו מודפסת בהמשך העמוד. מספר הכלים הוא קריאה חיה; שאילתה שעובדת עדיין ממתינה למסד נתונים לכוון אליו. [1][2][3][4][5]
אימות
השיטה
הרצנו את השרת עם npx על גבי stdio כשהמשתנים MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASS ו-MYSQL_DB מוגדרים בערכי דמה, השלמנו את לחיצת היד של MCP וקראנו ל-tools/list: הוא ענה עם כלי אחד בדיוק, והטבלה שלמטה היא התשובה הזו מילה במילה. השרת לא הדפיס דבר בערוץ השגיאות, ולכן הבאנר שמוצג כאן הוא שורת הזיהוי שלו עצמו מתוך תשובת ה-initialize. הכלים נספרו בריצה חיה עם אישורי דמה, וקריאה מאומתת עדיין ממתינה לשרת MySQL נגיש ולהגדרות החיבור שלו במשתני הסביבה MYSQL_HOST / MYSQL_PORT / MYSQL_USER / MYSQL_PASS / MYSQL_DB, מפני שמדובר בחיבור למסד נתונים ולא במפתח API. קריאת ה-mysql_query שלנו עבור SELECT 1 חזרה בלי שום תשובה: ב-Mac הזה לא רץ MySQL, והשרת יוצא ברגע שבדיקת החיבור שלו בהפעלה נדחית, ולכן הרצנו את אותה פקודה שוב עם הדגל ENABLE_LOGGING של השרת עצמו כדי ללכוד את הדחייה במילים שלו, כפי שמצוטט למטה ובקטע פתרון התקלות.
הודעת הפתיחה של השרת
{"result":{"protocolVersion":"2024-11-05","capabilities":{"resources":{},"tools":{"mysql_query":{"description":"[MySQL MCP Server [vundefined]] Run SQL queries against MySQL database (READ-ONLY)","inputSchema":{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query to execute"}},"required":["sql"]},"annotations":{"readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false,"title":"MySQL Query"}}}},"serverInfo":{"name":"MySQL MCP Server","version":"1.0.0"}},"jsonrpc":"2.0","id":1}קריאת כלי אמיתית אחת
tools/call mysql_query {"sql":"SELECT 1"}Fatal error during server startup: Error: connect ECONNREFUSED 127.0.0.1:3306
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1706:16) {
errno: -61,
code: 'ECONNREFUSED',שורות אמיתיות מהתוצאה שנלכדה: מספיק כדי להוכיח שהקריאה נענתה.
כלים
השרת ענה ל-tools/list עם 1 כלים בתאריך 2026-08-03. השמות, התיאורים והפרמטרים למטה הם המילים שלו עצמו, מועתקים מהתשובה הזו וללא עריכה.
| כלי | מה הוא עושה |
|---|---|
| mysql_querysql* | [MySQL MCP Server [vundefined]] Run SQL queries against MySQL database (READ-ONLY) |
פרמטרים המסומנים ב-* הם חובה.
התקנה
העתיקו את הבלוק של האפליקציה שלכם. כל אחד מהם הוא ההגדרה המדויקת שאיתה אימתנו את השרת.
פתחו את הקובץ ~/Library/Application Support/Claude/claude_desktop_config.json (בתוך Claude Desktop: Settings, אחר כך Developer, אחר כך Edit Config) והוסיפו:
{
"mcpServers": {
"mcp_server_mysql": {
"command": "npx",
"args": ["-y", "@benborla29/mcp-server-mysql"],
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "your_password",
"MYSQL_DB": "your_database"
}
}
}
}החליפו את חמשת הערכים בפרטים של מסד נתונים שאתם כבר יכולים להגיע אליו, ואז סגרו ופתחו מחדש את Claude Desktop. השאירו את MYSQL_DB מלא: בלעדיו השרת עובר מעצמו למצב ריבוי מסדי נתונים. [5][8]
פקודה אחת בטרמינל:
claude mcp add mcp_server_mysql \ -e MYSQL_HOST="127.0.0.1" \ -e MYSQL_PORT="3306" \ -e MYSQL_USER="root" \ -e MYSQL_PASS="your_password" \ -e MYSQL_DB="your_database" \ -- npx @benborla29/mcp-server-mysql
כל -e מגדיר משתנה סביבה אחד, וכל מה שאחרי המקף הכפול הוא הפקודה המדויקת ש-Claude Code יריץ. התיעוד ממליץ להישאר ב-scope המקומי שהוא ברירת המחדל, או -s user עבור כל הפרויקטים, כדי שהסיסמה לא תגיע לקובץ משותף. [5][7][9]
הוסיפו ל-~/.cursor/mcp.json עבור כל הפרויקטים, או ל-.cursor/mcp.json בתוך פרויקט אחד:
{
"mcpServers": {
"mcp_server_mysql": {
"command": "npx",
"args": ["-y", "@benborla29/mcp-server-mysql"],
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "your_password",
"MYSQL_DB": "your_database"
}
}
}
}Cursor קורא את הקובץ מחדש אחרי הפעלה מחדש. קובץ של פרויקט משותף לכל מי שיש לו את המאגר, ולכן שמרו את הסיסמה בקובץ האישי שב-~/.cursor/mcp.json. [10][5]
בלי קובץ JSON ובלי טרמינל. ב-Routines: Settings, אחר כך Assistant, אחר כך Connections, אחר כך Add MCP Server. העבירו את הטופס ל-Command (stdio) והזינו:
Name MySQL Command npx Arguments -y @benborla29/mcp-server-mysql Environment Variables MYSQL_HOST 127.0.0.1 MYSQL_PORT 3306 MYSQL_USER root MYSQL_PASS your_password MYSQL_DB your_database
חמש שורות ה-Environment Variables הן אישור הגישה: מלאו אותן בפרטים של מסד נתונים שאתם כבר יכולים להגיע אליו. לחצו קודם על Test Connection: שרת תקין עונה עם מספר הכלים שלו, אחד עבור השרת הזה. [11][7]
בלי טרמינל
אם מעולם לא פתחתם את הטרמינל ואין לכם כוונה להתחיל, זה המסלול שלכם. Routines היא אפליקציית Mac שמריצה שרתי MCP בשבילכם: ממלאים כמה שדות פעם אחת, והכלי של השרת זמין ל-AI שלכם בצ׳אט ובשגרות מתוזמנות.
01
הורידו את האפליקציה מ-getroutines.ai/download, גררו אותה ל-Applications והתחברו.
02
לחצו על החשבון שלכם בתחתית סרגל הצד ובחרו Settings. פתחו את הקטע Assistant, אחר כך את הלשונית Connections, גללו אל MCP Servers ולחצו על Add MCP Server.
03
העבירו את הטופס ל-Command (stdio): השרת הזה הוא פקודה, לא כתובת אינטרנט. Name: MySQL. Command: npx. Arguments: -y @benborla29/mcp-server-mysql, בלי שום דבר אחרי שם החבילה.
04
מדובר בחיבור למסד נתונים ולא במפתח API: אין להירשם לשום דבר ואין להפיק אסימון. אתם צריכים שרת MySQL שה-Mac הזה באמת יכול להגיע אליו, ושם משתמש וסיסמה קיימים עבורו. הוסיפו חמש שורות Environment Variables: MYSQL_HOST (127.0.0.1 עבור מסד נתונים על ה-Mac הזה, אחרת כתובת השרת), MYSQL_PORT (3306 אלא אם אמרו לכם אחרת), MYSQL_USER, MYSQL_PASS ו-MYSQL_DB, שם מסד הנתונים היחיד שתרצו שהעוזר יראה. אם אינכם בטוחים, בקשו ממי שמנהל את מסד הנתונים משתמש לקריאה בלבד.
05
לחצו Test Connection: Routines מפעילה את השרת ומדווחת כמה כלים היא מצאה, אחד עבור השרת הזה. אם הבדיקה נכשלת, פרטי החיבור שגויים או שמסד הנתונים אינו נגיש מה-Mac הזה; קטע פתרון התקלות למטה מכיל את השגיאות המדויקות. אחר כך לחצו Add Server.
06
הכלי עובד בצ׳אט מיד: שאלו שאלה בשפה פשוטה והעוזר יכתוב את ה-SQL. כדי לתת לשגרה מתוזמנת להשתמש בו, פתחו את השגרה, מצאו את הכרטיס Tools & connections וסמנו את השרת תחת Apps.
רעיונות לשגרות
אחרי שהשרת מחובר, שגרה מתוזמנת יכולה להשתמש בכלים שלו גם כשאתם לא מול המסך. העתיקו פרומפט, הדביקו אותו ב-Routines ובחרו שעה. הפרומפטים כתובים באנגלית בכוונה, מדביקים אותם בדיוק כפי שהם.
Every Monday at 8:00, query the database for last week's orders, and write me a short summary with the total revenue, the number of orders, the five best selling products, and how each number compares with the week before.
Every weekday at 9:00, count the accounts created in the database yesterday, compare that with the daily average of the last 30 days, and tell me in two sentences whether signups are up or down and by how much.
Every evening at 18:00, check the database for rows that look wrong: customers with no email address, orders with no customer, and prices below zero. List what you find, with a count for each problem, and say nothing if everything is clean.
פתרון תקלות
שגיאות אמיתיות שנלכדו בריצת האימות, מודפסות בדיוק כפי שהשרת החזיר אותן.
מה רואים
Fatal error during server startup: Error: connect ECONNREFUSED 127.0.0.1:3306
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1706:16) {
errno: -61,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 3306,
fatal: true
}הפתרון
זו התקלה שנתקלנו בה ב-Mac הבדיקה, וזו הכשלה שרוב האנשים פוגשים ראשונה. השרת בודק את החיבור למסד הנתונים בהפעלה ויוצא מיד אם הבדיקה נכשלת, ולכן הלקוח שלכם מציג שרת שעלה ונעלם. ECONNREFUSED אומר שהכתובת ענתה אבל שום דבר לא מאזין בפורט הזה: MySQL אינו רץ, או ש-MYSQL_HOST ו-MYSQL_PORT מצביעים למקום אחר. הפעילו את מסד הנתונים, או תקנו את שני הערכים, ונסו שוב. השרת לא מדפיס דבר כברירת מחדל; הוסיפו ENABLE_LOGGING=true למשתני הסביבה כדי לראות את ההודעה שלמעלה.
מה רואים
Fatal error during server startup: Error: getaddrinfo ENOTFOUND my-database.invalid
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'my-database.invalid',
fatal: true
}הפתרון
גרמנו לשגיאה הזו בכוונה עם שם מארח שאינו קיים. ENOTFOUND אומר שלא הצליחו כלל לתרגם את השם שב-MYSQL_HOST לכתובת, ולכן זו כמעט תמיד שגיאת כתיב או כתובת פנימית שנפתרת רק ברשת של החברה. בדקו את הכתיב, ועבור מסד נתונים על אותו Mac השתמשו ב-127.0.0.1.
מה רואים
Multi-DB mode detected - enabling read-only mode for safety
הפתרון
השארנו את MYSQL_DB ריק והשרת עבר מעצמו למצב ריבוי מסדי נתונים, שבו השאילתות אינן מוגבלות למסד אחד. הוא נשאר לקריאה בלבד במצב הזה, אבל זו גישה רחבה יותר ממה שרוב האנשים מתכוונים אליה. הגדירו את MYSQL_DB למסד הנתונים היחיד שתרצו שהעוזר יראה.
הפתרון
הפקודה npx שייכת ל-Node.js. אם Node לא מותקן על ה-Mac, כל לקוח בעמוד הזה ייכשל בשלב ההפעלה עוד לפני שהשרת מספיק לומר משהו. התקינו Node מ-nodejs.org, הפעילו מחדש את לקוח ה-MCP ונסו שוב.
שאלות נפוצות
זו תוכנה קטנה שמחברת עוזר AI כמו Claude אל מסד נתונים MySQL. אחרי החיבור, אתם שואלים שאלה בשפה פשוטה, העוזר כותב את ה-SQL, השרת מריץ אותו מול מסד הנתונים שלכם ומחזיר את השורות. הוא רץ כתהליך מקומי על ה-Mac שלכם ומדבר עם אפליקציית ה-AI על גבי stdio. זו תוכנת קהילה של Ben Borla, לא מוצר רשמי של MySQL. [5][1]
אחד בדיוק, וספרנו אותו בריצה חיה: mysql_query, שמקבל פרמטר יחיד בשם sql ומריץ אותו. זו כל החזית. במקום כלי לכל פעולה, השרת הזה נותן לעוזר דלת אחת אל מסד הנתונים ומשאיר את השאר ל-SQL, ולכן ההרשאות שתיתנו למשתמש ה-MySQL שלו חשובות כאן יותר מרשימת הכלים.
הוא לקריאה בלבד כברירת מחדל: תיאור הכלי שהוא דיווח לנו מסתיים ב-READ-ONLY, וכתיבה נפתחת רק ביוזמתכם דרך משתני הסביבה ALLOW_INSERT_OPERATION, ALLOW_UPDATE_OPERATION, ALLOW_DELETE_OPERATION ו-ALLOW_DDL_OPERATION, שכל אחד מהם מוגדר כברירת מחדל ל-false. הסיכון האמיתי הוא היקף, מפני שכלי אחד שמקבל כל SQL רואה כל מה שמשתמש ה-MySQL שלו רואה. תנו לו משתמש עם הרשאות למסד נתונים אחד ותו לא, השאירו את ארבעת דגלי הכתיבה במקומם אלא אם אתם באמת זקוקים להם, ולעולם אל תכוונו אותו למסד נתונים בייצור שאינכם יכולים לשחזר. [6]
לא. ב-Routines ממלאים כמה שדות בהגדרות ולוחצים Test Connection; המדריך למעלה מראה כל לחיצה. Claude Desktop ו-Cursor דורשים כל אחד עריכה חד-פעמית של קובץ JSON קטן. רק Claude Code הוא כלי טרמינל מטבעו. [11][8]
לא. אין הרשמה ואין אסימון להפיק: אישור הגישה הוא חיבור למסד נתונים שכבר יש לכם, כלומר הכתובת, הפורט, שם המשתמש, הסיסמה ושם מסד הנתונים, שמוזנים כמשתני סביבה. מה שכן צריך הוא שרת MySQL שה-Mac שלכם יכול להגיע אליו. ב-Mac הבדיקה שלנו לא היה כזה, וזו בדיוק הסיבה שקריאת הדוגמה בעמוד הזה נכשלה במקום להחזיר שורות. [7]
שני המספרים אמיתיים ולכדנו את שניהם. מאגר npm מפרסם את החבילה בגרסה 2.0.9. על גבי MCP, השרת הרץ מדווח בעצמו את שמו וגרסתו בלחיצת היד, MySQL MCP Server 1.0.0, מספר שהמתחזק לא הזיז יחד עם הגרסאות. אותו קוד, שני מונים. תיאור הכלי נושא את אותו תפר: הוא נפתח בטקסט המילולי [MySQL MCP Server [vundefined]] מפני שמציין מקום לגרסה מעולם לא מולא. [1]
כל לקוח MCP שמסוגל להפעיל שרת stdio מקומי: Claude Desktop, Claude Code, Cursor ו-Routines כולם יכולים, וההגדרה המדויקת לכל אחד נמצאת למעלה. השרת עצמו זהה בכל לקוח; רק המקום שבו מדביקים את ההגדרה משתנה. אפשר גם להריץ אותו במצב מרוחק על גבי HTTP עם אסימון נושא, אבל זו הגדרה לצוותים ולא ל-Mac אחד. [8][9][10][11][7]
מקורות
כל מה שבעמוד הזה שלא ראינו בעצמנו בריצה מקושר כאן, עם התאריך שבו קראנו אותו. לגבי השאר, הריצה עצמה היא הקבלה.
[1]
Latest version 2.0.9, published 2026-06-19. Author Ben Borla, npm maintainer benborla29.
[2]
[3]
2,003 stars and an MIT license at access time. Read from the repository page because the GitHub API was rate limited.
[4]
Most recent commit entry dated 2026-07-27, used as the last-push date.
[5]
The Claude Code command, the JSON config block, the MIT license line, and the read-only-by-default framing.
[6]
The security and permissions table: ALLOW_INSERT_OPERATION, ALLOW_UPDATE_OPERATION, ALLOW_DELETE_OPERATION and ALLOW_DDL_OPERATION all default to false.
[7]
Credential setup per client, scope advice for keeping the password private, and the remote HTTP mode with a bearer token.
[8]
Where the Claude Desktop config file lives and how to edit it.
[9]
The claude mcp add syntax for local stdio servers, including -e for environment variables.
[10]
[11]
How Routines runs one-click OAuth connectors and any MCP server.
העמוד הזה מתאר את MySQL כפי שהתנהג בריצה מתוארכת אחת על Mac אחד. גרסאות משתנות: אם משהו כאן כבר לא תואם למה שאתם רואים, תאריך הלכידה בראש העמוד אומר בן כמה הצילום.
מאחורי המדריך הזה
Routines, האפליקציה שמאחורי המדריך הזה, מריצה שרתי MCP כמו זה בלי טרמינל: כך עובדים המחברים. הפתקים שלכם נשארים קובצי markdown על ה-Mac שלכם, אין חשבון ענן לשלם, והיא עובדת גם בלי אינטרנט. להורדת Routines