מדריך MCP בעברית

פרק 5

MCP בגרוק CLI

גרוק CLI מציע תמיכה עשירה ויציבה בפרוטוקול MCP. מעבר ליכולת הרצת שרתים מקומיים ומרוחקים, גרוק מצויד במנגנון גילוי כלים דינמי שמונע ניפוח של מרחב ההקשר (Context Window) ומאפשר לנהל עשרות שרתים בלי לפגוע בביצועי המודל.

#הוספת שרתים דרך ה-CLI (פקודת grok mcp add)

#1. הוספת שרת stdio מקומי

הוספת שרת מקומי המופעל עם npx:

grok mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /workspace/project

העברת משתני סביבה לשרת ה-stdio באמצעות דגל -e חוזר:

grok mcp add postgres -e DATABASE_URL=postgres://user:secret@localhost:5432/app_db -- \
  npx -y @modelcontextprotocol/server-postgres

#2. הוספת שרת HTTP מרוחק

הוספת שרת ענן גלובלי:

grok mcp add --transport http sentry https://mcp.sentry.dev/mcp

הוספת שרת ייעודי ברמת הפרויקט הנוכחי (--scope project):

grok mcp add --scope project --transport http linear https://mcp.linear.app/mcp

#ניהול ובדיקת שרתים מפקודת המעטפת

גרוק מספק סט פקודות מלא לניהול שרתים:

# הצגת רשימת כל השרתים המוגדרים ומצבם
grok mcp list

# בדיקת בריאות ודיאגנוסטיקה לכל השרתים (בודק תהליכים ואימות)
grok mcp doctor

# השבתת שרת זמנית בלי למחוק את הגדרתו
grok mcp disable github

# הפעלה מחדש של שרת שהושבת
grok mcp enable github

# הסרה ומחיקה של שרת מההגדרות
grok mcp remove github

פקודת grok mcp doctor היא כלי חיוני: היא מנסה לבצע Handshake מול כל שרת, מודדת זמני תגובה ומציגה דוח מפורט על שגיאות התחברות או טוקנים שפג תוקפם.

#קובצי תצורה בפורמט TOML

במקום פקודות CLI, ניתן להגדיר שרתי MCP ישירות בקובצי התצורה של גרוק (config.toml).

#מיקום הקבצים וסדר העדיפויות

  1. .grok/config.toml בתיקייה הפנימית שבה אתם נמצאים (עדיפות עליונה).
  2. .grok/config.toml בשורש מאגר ה-Git של הפרויקט.
  3. ~/.grok/config.toml בתיקיית הבית של המשתמש (הגדרות גלובליות).

הגדרה של שרת בעל אותו שם ברמת הפרויקט תדרוס לחלוטין את ההגדרה הגלובלית.

#תחביר ההגדרה ב-TOML

# שרת HTTP מרוחק עם כתובת פתוחה
[mcp_servers.linear]
url = "https://mcp.linear.app/mcp"
enabled = true

# שרת פנימי עם כותרת אימות שמושכת משתנה סביבה מהמערכת
[mcp_servers.internal_api]
url = "https://mcp.internal.example.com/mcp"
headers = { "Authorization" = "Bearer ${INTERNAL_MCP_TOKEN}" }
startup_timeout_sec = 15

# שרת stdio מקומי
[mcp_servers.sqlite]
command = "uvx"
args = ["mcp-server-sqlite", "--db-path", "./test.db"]
enabled = true

שימו לב לתמיכה באינטרפולציה של משתני סביבה באמצעות ${VAR_NAME}. זה מאפשר לכם לשתף את קובץ ה-TOML ב-Git בלי לחשוף טוקנים סודיים.

#ניהול אינטראקטיבי בתוך הסשן (תפריט /mcps)

במהלך עבודה ב-TUI של גרוק CLI, הקלדת /mcps פותחת ממשק ניהול ייעודי:

  • מקש Space: הפעלה או השבתה (Enable/Disable) של השרת הנבחר בזמן אמת.
  • מקש i: התחלת תהליך אימות OAuth בדפדפן עבור השרת הנבחר.
  • מקש r: טעינה מחדש (Reload) ורענון של כל השרתים ורשימות הכלים שלהם.
  • מקש Esc או Enter: סגירת הממשק וחזרה לסשן השיחה.

#מנגנון קריאת הכלים הדינמי: search_tool ו-use_tool

בניגוד למערכות שדוחסות עשרות הגדרות כלים לתוך הפרומפט הראשי (מה שגורם לבזבוז טוקנים ובלבול של המודל), גרוק מיישם מנגנון גילוי חכם בשני שלבים:

  1. שלב האיתור (search_tool): כאשר המשתמש מבקש פעולה, גרוק מחפש במאגר הכלים הזמינים את הכלי המתאים ביותר לפי תיאור הכלי.
  2. שלב ההפעלה (use_tool): גרוק טוען את הסכמה המלאה של הכלי שנמצא ומפעיל אותו עם הארגומנטים הדרושים.

שמות הכלים מוגדרים תמיד במבנה שקוף עם קידומת השרת ושני קווים תחתונים: server__tool. לדוגמה:

  • github__create_issue
  • postgres__describe_tables
  • sentry__get_issue_details

#פקודת grok inspect

אם אתם רוצים לראות בדיוק מאיזה קובץ נטען כל שרת, אילו כלים זמינים כעת ומה צריכת המשאבים, הריצו:

grok inspect

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