שרת MCP מאומת: Elasticsearch

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

  • הכלים נספרו2026-08-03macOS 26.3.1
  • חבילה@elastic/mcp-server-elasticsearch 0.3.1
  • מדווח על עצמוelasticsearch-mcp 0.3.1
  • פרוטוקול MCP2025-06-18
  • סביבת ריצהNode v24.18.0

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

התשובה הקצרה

אומת לאחרונה 2026-08-03

שרת ה-MCP של Elasticsearch מחבר עוזר AI לאשכול שכבר רץ אצלכם: הוא מציג את רשימת האינדקסים, קורא מיפויי שדות, מדווח על מצב ה-shards ומריץ חיפוש אמיתי בשפת ה-query DSL, בשיחה רגילה במקום JSON שכותבים ביד. זו החבילה של Elastic עצמה, שמתפרסמת תחת ה-scope שלה ב-npm, עם 1,717 הורדות בשבוע שהסתיים ב-2026-08-01. הרצנו אותה על ה-Mac הזה: npx הפעיל את elasticsearch-mcp 0.3.1 על גבי stdio, הוא השלים את לחיצת היד של MCP וספר את כל ארבעת הכלים, המודפסים למטה מילה במילה. אין אשכול Elasticsearch על ה-Mac הזה, ולכן כיוונו אותו בכוונה לפורט מת, וכל ארבע הקריאות האמיתיות שלנו חזרו עם שגיאת החיבור של השרת עצמו, שנמצאת גם היא בעמוד הזה. דבר אחד כדאי לדעת לפני שבונים על זה: npm נושא הודעת הוצאה משימוש על החבילה, ו-Elastic מפיצה כיום את גרסה 0.4.0 ומעלה כתמונת קונטיינר, ומפנה משתמשים חדשים לנקודת הקצה של Agent Builder שבתוך Elasticsearch עצמה. [1][2][3][6]

  • כלים

    4, נספרו בריצה חיה

  • אישורי גישה

    נדרשים כתובת אשכול ומפתח [5]

  • ערוץ תקשורת

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

  • מתחזק

    Elastic, רשמי אך הוצא משימוש [1][6]

  • הורדות

    1.7 אלף בשבוע האחרון [2]

  • רישיון

    Apache-2.0 [4][1]

אימות

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

השיטה

הרצנו את השרת עם npx על גבי stdio, השלמנו את לחיצת היד של MCP, קראנו ל-tools/list וביצענו ארבע קריאות tools/call אמיתיות, אחת לכל כלי. טבלת הכלים למטה היא הלכידה הזו, מילה במילה. קריאות שעובדות ממתינות לאישור גישה שאין לנו: אשכול Elasticsearch שאפשר להגיע אליו, כלומר ES_URL שעונה יחד עם ES_API_KEY עבורו, או צמד ES_USERNAME ו-ES_PASSWORD. הפעלנו את השרת עם כתובת דמה על פורט מת במקום, ולכן כל ארבע הקריאות חזרו עם שגיאת החיבור המודפסת למטה. זה מוכיח שהשרת עולה, מדבר MCP וסופר את מלוא ערכת הכלים שלו בלי שום אשכול באופק. זה לא מוכיח שכלי כלשהו מסוגל לקרוא נתונים, ואיננו טוענים זאת. ריצה שנייה עם ארגומנטים שגויים במתכוון וריצה שלישית עם ES_URL ריק נתנו לנו עוד שתיים מהשגיאות שבעמוד, ריצה רביעית עם מטמון npm נקי נתנה לנו את הודעת ההוצאה משימוש ש-npm מדפיס בהתקנה, וריצה חמישית בלי OTEL_LOG_LEVEL ספרה את אותם ארבעה כלים, וכך אנחנו יודעים שהמשתנה הזה אופציונלי.

הודעת הפתיחה של השרת

{"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"elasticsearch-mcp","version":"0.3.1"}},"jsonrpc":"2.0","id":1}

קריאת כלי אמיתית אחת

tools/call list_indices {"indexPattern": "*"}
Error: connection failed (http://localhost:9201/)

שורות אמיתיות מהתוצאה שנלכדה: מספיק כדי להוכיח שהקריאה נענתה.

כלים

הכלים, כפי שנספרו מהשרת הרץ.

השרת ענה ל-tools/list עם 4 כלים בתאריך 2026-08-03. השמות, התיאורים והפרמטרים למטה הם המילים שלו עצמו, מועתקים מהתשובה הזו וללא עריכה.

כלימה הוא עושה
list_indicesindexPattern*

List all available Elasticsearch indices

get_mappingsindex*

Get field mappings for a specific Elasticsearch index

searchindex*queryBody*profileexplain

Perform an Elasticsearch search with the provided query DSL. Highlights are always enabled.

get_shardsindex

Get shard information for all or specific indices

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

התקנה

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

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

Claude Desktop

פתחו את הקובץ ‎~/Library/Application Support/Claude/claude_desktop_config.json (בתוך Claude Desktop: Settings, אחר כך Developer, אחר כך Edit Config) והוסיפו:

{
  "mcpServers": {
    "elasticsearch-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@elastic/mcp-server-elasticsearch"
      ],
      "env": {
        "ES_URL": "<your-elasticsearch-url>",
        "ES_API_KEY": "<your-api-key>",
        "OTEL_LOG_LEVEL": "none"
      }
    }
  }
}

זהו הבלוק ש-Elastic מתעדת עבור חבילת ה-npm, וזו הפקודה שהרצנו. הכניסו ל-ES_URL את כתובת האשכול המלאה, כולל הסכימה. המשתנה OTEL_LOG_LEVEL אינו חובה: הרצנו את השרת פעם אחת בלעדיו והוא עדיין עלה וספר את כל ארבעת הכלים. הוא מופיע בבלוק של Elastic, ולכן השארנו אותו גם אצלנו. אחר כך סגרו ופתחו מחדש את Claude Desktop. [5][8]

Claude Code

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

claude mcp add --env ES_URL=https://your-cluster.example:9243 --env ES_API_KEY=your_api_key --transport stdio elasticsearch -- npx -y @elastic/mcp-server-elasticsearch

כל מה שאחרי המקף הכפול הוא הפקודה המדויקת ש-Claude Code יריץ. אפשר לחזור על הדגל ‎--env, וכך שני המשתנים נכנסים, ו-‎--transport ממוקם בין ה-‎--env האחרון לבין שם השרת מפני ששם שמופיע מיד אחרי ‎--env נקרא כצמד נוסף ונדחה. [9][5]

Cursor

הוסיפו ל-‎~/.cursor/mcp.json עבור כל הפרויקטים, או ל-‎.cursor/mcp.json בתוך פרויקט אחד:

{
  "mcpServers": {
    "elasticsearch-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@elastic/mcp-server-elasticsearch"
      ],
      "env": {
        "ES_URL": "<your-elasticsearch-url>",
        "ES_API_KEY": "<your-api-key>"
      }
    }
  }
}

אותו מבנה כמו ב-Claude Desktop, בלי המשתנה האופציונלי OTEL_LOG_LEVEL, בקובץ אחר. Cursor קורא אותו מחדש אחרי הפעלה מחדש. [10][5]

Routines

בלי קובץ JSON ובלי טרמינל. ב-Routines: Settings, אחר כך Assistant, אחר כך Connections, אחר כך Add MCP Server. העבירו את הטופס ל-Command (stdio) והזינו:

Name        Elasticsearch
Command     npx
Arguments   -y @elastic/mcp-server-elasticsearch
Environment ES_URL = https://your-cluster.example:9243
            ES_API_KEY = your_api_key

שני הערכים נכנסים לשדה Environment Variables, לא ל-Arguments. לחצו קודם על Test Connection: שרת תקין עונה עם מספר הכלים שלו, ארבעה עבור השרת הזה. הריצה שלנו ספרה בדיוק את אותם ארבעה כלים עם כתובת שלא הובילה לשום מקום, ולכן מספר הכלים מעיד שהשרת עלה, לא שהאשכול שלכם ענה. [11]

בלי טרמינל

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

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

  1. 01

    התקינו את Routines

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

  2. 02

    אספו את כתובת האשכול ומפתח API

    השרת הזה צריך שני דברים לפני שהוא מסוגל לענות על משהו: כתובת של אשכול Elasticsearch שאפשר להגיע אליו, כתובה במלואה עם ‎https://‎ ועם הפורט, ואישור גישה עבורו. ההנחיה של Elastic עצמה היא ליצור מפתח API ייעודי במקום להשתמש במפתח ניהולי: הרשאת האשכול monitor, ולצדה read ו-view_index_metadata רק על האינדקסים שתרצו שהעוזר יראה.

  3. 03

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

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

  4. 04

    בחרו Command (stdio)‎

    העבירו את הטופס ל-Command (stdio): השרת הזה הוא פקודה, לא כתובת אינטרנט. Name: Elasticsearch. Command: npx. Arguments: ‎-y @elastic/mcp-server-elasticsearch. הערך בשדה ה-Arguments מתפצל לפי רווחים, ולכן שתי המילים האלה נכנסות בדיוק כפי שהן כתובות.

  5. 05

    הוסיפו את שני המשתנים, בדקו, ואז הוסיפו

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

  6. 06

    השתמשו בו

    הכלים עובדים בצ׳אט מיד, כך שאפשר לשאול אילו אינדקסים יש באשכול בלי לצאת מהשיחה. כדי לתת לשגרה מתוזמנת להשתמש בהם, פתחו את השגרה, מצאו את הכרטיס Tools & connections וסמנו את השרת תחת Apps.

רעיונות לשגרות

שגרות ששווה לתזמן.

אחרי שהשרת מחובר, שגרה מתוזמנת יכולה להשתמש בכלים שלו גם כשאתם לא מול המסך. העתיקו פרומפט, הדביקו אותו ב-Routines ובחרו שעה. הפרומפטים כתובים באנגלית בכוונה, מדביקים אותם בדיוק כפי שהם.

בדיקת אשכול של יום שני

פרומפט

Every Monday at 9:00, list the indices in my Elasticsearch cluster with their shard status, flag anything that is not healthy, and save the result as elasticsearch-check.md.

תקציר שגיאות יומי

פרומפט

Every weekday at 8:30, search my logs index for entries from the last 24 hours at error level, group them by message, and write the ten most frequent ones with their counts to error-digest.md.

מפת שדות בשפה פשוטה

פרומפט

Every Friday at 16:00, read the field mappings for my main product index and explain in plain English which fields can be searched as free text and which only match exactly, saved as mappings-notes.md.

פתרון תקלות

השגיאות שנתקלנו בהן, ומה פתר אותן.

שגיאות אמיתיות שנלכדו בריצת האימות, מודפסות בדיוק כפי שהשרת החזיר אותן.

כל קריאת כלי עונה בשגיאת חיבור

מה רואים

Error: connection failed (http://localhost:9201/)

הפתרון

זו השגיאה שהריצה שלנו יצרה בכוונה: כיוונו את ES_URL לפורט שאין מאחוריו כלום. שימו לב למבנה שלה, כי הוא מפיל אנשים. הקריאה מצליחה ברמת הפרוטוקול והכישלון מגיע כטקסט תוצאה רגיל של הכלי, ולכן לקוח שמחפש רק שגיאות JSON-RPC רואה תשובה תקינה. כוונו את ES_URL לאשכול שרץ ושאפשר להגיע אליו מה-Mac הזה, כולל דרך VPN וחומת אש, ושאלו שוב.

השרת יוצא בהפעלה והלקוח ממתין לנצח

מה רואים

Server error: [
  {
    "code": "too_small",
    "minimum": 1,
    "type": "string",
    "inclusive": true,
    "exact": false,
    "message": "Elasticsearch URL cannot be empty",
    "path": [
      "url"
    ]
  },
  {
    "validation": "url",
    "code": "invalid_string",
    "message": "Invalid Elasticsearch URL format",
    "path": [
      "url"
    ]
  }
]

הפתרון

המשתנה ES_URL חסר או ריק. גרמנו לזה כשהפעלנו את השרת עם ES_URL כמחרוזת ריקה: הוא הדפיס את זה ל-stderr ויצא, ולכן לחיצת היד מעולם לא הושלמה והלקוח שלנו המתין עד שפג הזמן. הגדירו את ES_URL ככתובת מלאה עם הסכימה בהתחלה, למשל ‎https://your-cluster.example:9243, ובדקו שהמשתנה אכן מגיע לשרת ולא נשאר בטרמינל שממנו הפעלתם אותו.

קריאה נדחית עוד לפני שהיא מגיעה ל-Elasticsearch

מה רואים

MCP error -32602: Invalid arguments for tool list_indices: [
  {
    "code": "invalid_type",
    "expected": "string",
    "received": "undefined",
    "path": [
      "indexPattern"
    ],
    "message": "Required"
  }
]

הפתרון

קראנו ל-list_indices עם index_pattern במקום indexPattern. שמות הפרמטרים כתובים ב-camelCase והשרת בודק אותם לפני שהוא פותח חיבור, ולכן שום דבר לא יצא מה-Mac. השמות המדויקים נמצאים בטבלת הכלים למעלה: indexPattern, index ו-queryBody. אם אתם רואים את זה בשימוש רגיל, העוזר בנה קריאה פגומה; שאלו את אותה שאלה שוב במילים פשוטות יותר.

npm מודיע שהחבילה הוצאה משימוש בזמן ההתקנה

מה רואים

npm warn deprecated @elastic/mcp-server-elasticsearch@0.3.1: This package is deprecated. Please see the README at https://github.com/elastic/mcp-server-elasticsearch for details on how to run v0.4.0 or later.

הפתרון

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

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

הפתרון

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

שאלות נפוצות

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

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

זהו שרת ה-MCP של Elastic עצמה עבור Elasticsearch. אחרי החיבור, עוזר AI כמו Claude יכול לשאול אשכול אילו אינדקסים קיימים בו, אילו שדות הם מכילים, מה מצב ה-shards, ולהריץ חיפוש אמיתי בשפת ה-query DSL, הכל משיחה רגילה. הוא רץ כתהליך מקומי על ה-Mac שלכם על גבי stdio ומדבר עם הכתובת שהגדרתם ב-ES_URL, כך שהנתונים עצמם נשארים במקום שבו האשכול שלכם כבר נמצא. [5][1]

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

ארבעה, והטבלה למעלה היא פלט ה-tools/list החי, מילה במילה: list_indices, get_mappings, search ו-get_shards. הכלי search מקבל אובייקט query DSL מלא של Elasticsearch, כך שכל מה שאפשר לבטא ב-JSON הזה נגיש, יחד עם דגלי profile ו-explain אופציונליים. כל הארבעה הם שליפות קריאה בלבד: אין בשרת הזה כלי שמוסיף, מעדכן או מוחק מסמך.

האם אני צריך אשכול Elasticsearch משלי ומפתח API?

כן, וזה הגבול הכן של מה שאימתנו. עם ES_URL שהצביע על פורט מת השרת עדיין עלה ועדיין ספר את כל ארבעת הכלים, ולכן טבלת הכלים למעלה אמיתית. אבל כל אחת מארבע הקריאות שלנו חזרה עם שגיאת החיבור המודפסת בקטע פתרון התקלות, ולכן מעולם לא ראינו את השרת הזה קורא מסמך ואיננו טוענים שראינו. כדי להשתמש בו נדרש אשכול שאפשר להגיע אליו יחד עם אישור גישה, ו-Elastic ממליצה על מפתח API ייעודי שמוגבל להרשאת האשכול monitor ולהרשאות read ו-view_index_metadata על אינדקסים מפורשים, במקום אישור ניהולי. [5]

האם החבילה הזו עדיין מתוחזקת?

לא באופן שהייתם רוצים לפני שבונים עליה. npm נושא הודעת הוצאה משימוש על גרסה 0.3.1, אותה הודעה ש-npx מדפיס בהתקנה נקייה, והיא מצוטטת למעלה. ה-README בענף ה-main של המאגר נפתח באזהרה שהשרת הוצא משימוש ויקבל רק עדכוני אבטחה קריטיים. גרסה 0.3.1 פורסמה ב-2025-07-01 והיא עדיין הגרסה החדשה ביותר ב-npm, בעוד המאגר עצמו התקדם: ענף ה-main שלו מכיל היום פרויקט Rust עם Dockerfile ובלי קובץ package.json כלל. ה-README באותו תג 0.3.1 נפתח באמירה שהמאגר מכיל יכולות ניסיוניות המיועדות למחקר ולהערכה ואינן בשלות לייצור, וזה היה נכון עוד לפני שהודעת ההוצאה משימוש הגיעה. [1][6][3]

במה Elastic מחליפה אותו?

בשני דברים, תלוי במה שאתם צריכים. גרסה 0.4.0 ומעלה של אותו שרת מופצת כתמונת קונטיינר במקום כחבילת npm, כלומר דורשת Docker. בנפרד, Elasticsearch ו-Kibana נושאים כיום נקודת קצה משלהם ל-MCP, שרת ה-MCP של Agent Builder בכתובת {KIBANA_URL}/api/agent_builder/mcp, שאינו דורש חבילה כלל: הלקוח מתחבר אליו על גבי HTTP עם מפתח API, או עם OAuth בפרויקטים של Serverless. ה-README מגדיר אותו כיורש ואומר שהוא זמין ב-Elastic 9.2.0 ומעלה ובפרויקטים של Elasticsearch Serverless. לא בדקנו אף אחד משני המסלולים: Docker היה מחוץ לתחום של הריצה הזו, ונקודת הקצה של Agent Builder קיימת רק על מופע Kibana, שאין ל-Mac הזה. [6][7]

צריך טרמינל כדי להגדיר אותו?

לא. ב-Routines ממלאים ארבעה שדות בהגדרות, שניים מהם כתובת האשכול והמפתח, ולוחצים Test Connection; המדריך למעלה מראה כל לחיצה. Claude Desktop דורש עריכה חד-פעמית של קובץ JSON קטן. רק Claude Code הוא כלי טרמינל מטבעו. [11][8]

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

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

מקורות

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

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

  1. [1]

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

    Latest version 0.3.1, published 2025-07-01, license Apache-2.0, engines node >=18, and a deprecated field carrying the notice npm prints on install. Five versions in total, from 0.1.0 in March 2025.

  2. [2]

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

    1,717 downloads for the week ending 2026-08-01, and 6,184 for the month ending the same day.

  3. [3]

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

    701 stars, 144 forks, 5 open issues and 10 open pull requests, not archived, license detected as Apache-2.0, and a push dated 2026-07-31 at access time, per the GitHub API. The same API shows the main branch tree holding Cargo.toml, Cargo.lock and a Dockerfile with no package.json.

  4. [4]

    LICENSE at tag v0.3.1נקרא בתאריך 2026-08-03

    The plain Apache License, Version 2.0 text.

  5. [5]

    README at tag v0.3.1, the version on npmנקרא בתאריך 2026-08-03

    The npx config block we ran, the four-tool list, the environment variable table (ES_URL required, ES_API_KEY or ES_USERNAME and ES_PASSWORD for auth), the least-privilege API key recipe, and the line stating the features are experimental and not production-ready.

  6. [6]

    README on the main branch, after deprecationנקרא בתאריך 2026-08-03

    The caution banner naming the Agent Builder MCP endpoint as the successor, available in Elastic 9.2.0 and later and in Serverless projects, plus container image instructions that apply to 0.4.0 and later.

  7. [7]

    Elastic docs: Agent Builder MCP serverנקרא בתאריך 2026-08-03

    The endpoint at {KIBANA_URL}/api/agent_builder/mcp, the space-scoped variant, and the API key versus OAuth 2.1 comparison.

  8. [8]

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

    Where claude_desktop_config.json lives and how Claude Desktop loads it.

  9. [9]

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

    The claude mcp add syntax, the repeatable --env flag and the rule that a server name must not follow it directly, and why the double dash separates Claude Code options from the server command.

  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.

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

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

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