שרת MCP מאומת: MySQL

שרת ה-MCP ל-MySQL, אומת בריצה חיה על Mac אמיתי.

  • הכלים נספרו2026-08-03macOS 15.7.7
  • חבילה@benborla29/mcp-server-mysql 2.0.9
  • מדווח על עצמוMySQL MCP Server 1.0.0
  • פרוטוקול MCP2024-11-05
  • סביבת ריצהv24.18.0

רשימת הכלים למטה היא לכידה חיה מהשרת הרץ; קריאת כלי מאומתת עדיין ממתינה להרשאות.

התשובה הקצרה

אומת לאחרונה 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]

  • כלים

    1, נספר בריצה חיה

  • אישורי גישה

    פרטי חיבור ל-MySQL [7]

  • ערוץ תקשורת

    stdio, רץ על ה-Mac שלכם [5]

  • מתחזק

    benborla, קהילתי [1][3]

  • הורדות

    12,075 בשבוע האחרון [2]

  • רישיון

    MIT [3][5]

אימות

איך שרת ה-MCP הזה אומת.

השיטה

הרצנו את השרת עם 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)

פרמטרים המסומנים ב-* הם חובה.

התקנה

הגדרות שעובדות, אחת לכל אפליקציה.

העתיקו את הבלוק של האפליקציה שלכם. כל אחד מהם הוא ההגדרה המדויקת שאיתה אימתנו את השרת.

Claude Desktop

פתחו את הקובץ ‎~/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 Code

פקודה אחת בטרמינל:

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

הוסיפו ל-‎~/.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]

Routines

בלי קובץ 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]

בלי טרמינל

איך מגדירים את שרת ה-MCP‏ MySQL בלי טרמינל.

אם מעולם לא פתחתם את הטרמינל ואין לכם כוונה להתחיל, זה המסלול שלכם. Routines היא אפליקציית Mac שמריצה שרתי MCP בשבילכם: ממלאים כמה שדות פעם אחת, והכלי של השרת זמין ל-AI שלכם בצ׳אט ובשגרות מתוזמנות.

  1. 01

    התקינו את Routines

    הורידו את האפליקציה מ-getroutines.ai/download, גררו אותה ל-Applications והתחברו.

  2. 02

    פתחו את הגדרות ה-MCP

    לחצו על החשבון שלכם בתחתית סרגל הצד ובחרו Settings. פתחו את הקטע Assistant, אחר כך את הלשונית Connections, גללו אל MCP Servers ולחצו על Add MCP Server.

  3. 03

    בחרו Command (stdio)‎

    העבירו את הטופס ל-Command (stdio): השרת הזה הוא פקודה, לא כתובת אינטרנט. Name: MySQL. Command: npx. Arguments: ‎-y @benborla29/mcp-server-mysql, בלי שום דבר אחרי שם החבילה.

  4. 04

    הכינו מסד נתונים, ואז מלאו את פרטי החיבור אליו

    מדובר בחיבור למסד נתונים ולא במפתח API: אין להירשם לשום דבר ואין להפיק אסימון. אתם צריכים שרת MySQL שה-Mac הזה באמת יכול להגיע אליו, ושם משתמש וסיסמה קיימים עבורו. הוסיפו חמש שורות Environment Variables: MYSQL_HOST (‎127.0.0.1 עבור מסד נתונים על ה-Mac הזה, אחרת כתובת השרת), MYSQL_PORT (‎3306 אלא אם אמרו לכם אחרת), MYSQL_USER, MYSQL_PASS ו-MYSQL_DB, שם מסד הנתונים היחיד שתרצו שהעוזר יראה. אם אינכם בטוחים, בקשו ממי שמנהל את מסד הנתונים משתמש לקריאה בלבד.

  5. 05

    בדקו, ואז הוסיפו

    לחצו Test Connection: Routines מפעילה את השרת ומדווחת כמה כלים היא מצאה, אחד עבור השרת הזה. אם הבדיקה נכשלת, פרטי החיבור שגויים או שמסד הנתונים אינו נגיש מה-Mac הזה; קטע פתרון התקלות למטה מכיל את השגיאות המדויקות. אחר כך לחצו Add Server.

  6. 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 למסד הנתונים היחיד שתרצו שהעוזר יראה.

לקוח ה-MCP לא מצליח להפעיל את השרת בכלל

הפתרון

הפקודה npx שייכת ל-Node.js. אם Node לא מותקן על ה-Mac, כל לקוח בעמוד הזה ייכשל בשלב ההפעלה עוד לפני שהשרת מספיק לומר משהו. התקינו Node מ-nodejs.org, הפעילו מחדש את לקוח ה-MCP ונסו שוב.

שאלות נפוצות

שאלות שאנשים שואלים.

מה זה שרת ה-MCP ל-MySQL?

זו תוכנה קטנה שמחברת עוזר AI כמו Claude אל מסד נתונים MySQL. אחרי החיבור, אתם שואלים שאלה בשפה פשוטה, העוזר כותב את ה-SQL, השרת מריץ אותו מול מסד הנתונים שלכם ומחזיר את השורות. הוא רץ כתהליך מקומי על ה-Mac שלכם ומדבר עם אפליקציית ה-AI על גבי stdio. זו תוכנת קהילה של Ben Borla, לא מוצר רשמי של MySQL. [5][1]

אילו כלים כלולים בשרת ה-MCP ל-MySQL?

אחד בדיוק, וספרנו אותו בריצה חיה: mysql_query, שמקבל פרמטר יחיד בשם sql ומריץ אותו. זו כל החזית. במקום כלי לכל פעולה, השרת הזה נותן לעוזר דלת אחת אל מסד הנתונים ומשאיר את השאר ל-SQL, ולכן ההרשאות שתיתנו למשתמש ה-MySQL שלו חשובות כאן יותר מרשימת הכלים.

האם שרת ה-MCP ל-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]

הוא דורש מפתח API או חשבון?

לא. אין הרשמה ואין אסימון להפיק: אישור הגישה הוא חיבור למסד נתונים שכבר יש לכם, כלומר הכתובת, הפורט, שם המשתמש, הסיסמה ושם מסד הנתונים, שמוזנים כמשתני סביבה. מה שכן צריך הוא שרת MySQL שה-Mac שלכם יכול להגיע אליו. ב-Mac הבדיקה שלנו לא היה כזה, וזו בדיוק הסיבה שקריאת הדוגמה בעמוד הזה נכשלה במקום להחזיר שורות. [7]

למה npm מציג גרסה 2.0.9 אבל השרת מדווח 1.0.0?

שני המספרים אמיתיים ולכדנו את שניהם. מאגר npm מפרסם את החבילה בגרסה 2.0.9. על גבי MCP, השרת הרץ מדווח בעצמו את שמו וגרסתו בלחיצת היד, MySQL MCP Server 1.0.0, מספר שהמתחזק לא הזיז יחד עם הגרסאות. אותו קוד, שני מונים. תיאור הכלי נושא את אותו תפר: הוא נפתח בטקסט המילולי ‎[MySQL MCP Server [vundefined]]‎ מפני שמציין מקום לגרסה מעולם לא מולא. [1]

אילו אפליקציות יכולות להשתמש בשרת ה-MCP ל-MySQL?

כל לקוח MCP שמסוגל להפעיל שרת stdio מקומי: Claude Desktop, Claude Code, Cursor ו-Routines כולם יכולים, וההגדרה המדויקת לכל אחד נמצאת למעלה. השרת עצמו זהה בכל לקוח; רק המקום שבו מדביקים את ההגדרה משתנה. אפשר גם להריץ אותו במצב מרוחק על גבי HTTP עם אסימון נושא, אבל זו הגדרה לצוותים ולא ל-Mac אחד. [8][9][10][11][7]

מקורות

כל טענה חיצונית, עם קבלה.

כל מה שבעמוד הזה שלא ראינו בעצמנו בריצה מקושר כאן, עם התאריך שבו קראנו אותו. לגבי השאר, הריצה עצמה היא הקבלה.

  1. [1]

    npm registry: @benborla29/mcp-server-mysqlנקרא בתאריך 2026-08-03

    Latest version 2.0.9, published 2026-06-19. Author Ben Borla, npm maintainer benborla29.

  2. [2]

    npm downloads API: last weekנקרא בתאריך 2026-08-03

    12,075 downloads for the week ending 2026-08-01.

  3. [3]

    GitHub: benborla/mcp-server-mysqlנקרא בתאריך 2026-08-03

    2,003 stars and an MIT license at access time. Read from the repository page because the GitHub API was rate limited.

  4. [4]

    GitHub commits feed: benborla/mcp-server-mysqlנקרא בתאריך 2026-08-03

    Most recent commit entry dated 2026-07-27, used as the last-push date.

  5. [5]

    mcp-server-mysql READMEנקרא בתאריך 2026-08-03

    The Claude Code command, the JSON config block, the MIT license line, and the read-only-by-default framing.

  6. [6]

    mcp-server-mysql docs: CONFIGURATION.mdנקרא בתאריך 2026-08-03

    The security and permissions table: ALLOW_INSERT_OPERATION, ALLOW_UPDATE_OPERATION, ALLOW_DELETE_OPERATION and ALLOW_DDL_OPERATION all default to false.

  7. [7]

    mcp-server-mysql docs: INSTALLATION.mdנקרא בתאריך 2026-08-03

    Credential setup per client, scope advice for keeping the password private, and the remote HTTP mode with a bearer token.

  8. [8]

    modelcontextprotocol.io: Connect to local MCP serversנקרא בתאריך 2026-08-03

    Where the Claude Desktop config file lives and how to edit it.

  9. [9]

    Claude Code docs: MCPנקרא בתאריך 2026-08-03

    The claude mcp add syntax for local stdio servers, including -e for environment variables.

  10. [10]

    Cursor docs: Model Context Protocolנקרא בתאריך 2026-08-03

    The mcp.json shape and file locations.

  11. [11]

    Routines: Connectorsנקרא בתאריך 2026-08-03

    How Routines runs one-click OAuth connectors and any MCP server.

העמוד הזה מתאר את MySQL כפי שהתנהג בריצה מתוארכת אחת על Mac אחד. גרסאות משתנות: אם משהו כאן כבר לא תואם למה שאתם רואים, תאריך הלכידה בראש העמוד אומר בן כמה הצילום.

מאחורי המדריך הזה

Routines, האפליקציה שמאחורי המדריך הזה, מריצה שרתי MCP כמו זה בלי טרמינל: כך עובדים המחברים. הפתקים שלכם נשארים קובצי markdown על ה-Mac שלכם, אין חשבון ענן לשלם, והיא עובדת גם בלי אינטרנט. להורדת Routines