Files

🔧 מודול 3: פיתוח מתקדם של MCP עם Microsoft Foundry Toolkit

Duration Microsoft Foundry Toolkit Python MCP SDK Inspector

🎯 יעדי למידה

לקראת סיום המעבדה, תוכל:

  • ליצור שרתי MCP מותאמים אישית באמצעות Microsoft Foundry Toolkit
  • להגדיר ולהשתמש ב-SDK Python העדכני ביותר של MCP (גרסה 1.9.3)
  • להקים ולהשתמש ב-MCP Inspector לניפוי שגיאות
  • לנפות שגיאות בשרתי MCP בסביבות Agent Builder ו-Inspector
  • להבין זרימות עבודה מתקדמות לפיתוח שרתי MCP

📋 דרישות מוקדמות

  • השלמת מעבדה 2 (יסודות MCP)
  • VS Code עם תוסף Microsoft Foundry Toolkit מותקן
  • סביבה של Python 3.10+
  • Node.js ו-npm לצורך הגדרת Inspector

🏗️ מה תבנה

במעבדה זו תיצור שרת MCP של מזג אוויר שמדגים:

  • יישום שרת MCP מותאם אישית
  • אינטגרציה עם Agent Builder של Microsoft Foundry Toolkit
  • זרימות עבודה מקצועיות לניפוי שגיאות
  • דפוסי שימוש מודרניים ב-SDK MCP

🔧 סקירת רכיבים מרכזיים

🐍 MCP Python SDK

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

🔍 MCP Inspector

כלי ניפוי שגיאות עוצמתי המספק:

  • מעקב בזמן אמת אחרי השרת
  • תצוגה של ביצועי הכלים
  • בדיקת בקשות/תגובות רשת
  • סביבת בדיקות אינטראקטיבית

📖 יישום שלב אחר שלב

שלב 1: יצירת WeatherAgent ב-Agent Builder

  1. פשוט Agent Builder ב-VS Code דרך תוסף Microsoft Foundry Toolkit
  2. צור סוכן חדש עם ההגדרות הבאות:
    • שם הסוכן: WeatherAgent

Agent Creation

שלב 2: אתחול פרויקט שרת MCP

  1. גש אל ToolsAdd Tool ב-Agent Builder
  2. בחר "MCP Server" מתוך האפשרויות הזמינות
  3. בחר "Create A new MCP Server"
  4. בחר בתבנית python-weather
  5. תן שם לשרת שלך: weather_mcp

Python Template Selection

שלב 3: פתח ובחן את הפרויקט

  1. פתח את הפרויקט שנוצר ב-VS Code
  2. עיין במבנה הפרויקט:
    weather_mcp/
    ├── src/
    │   ├── __init__.py
    │   └── server.py
    ├── inspector/
    │   ├── package.json
    │   └── package-lock.json
    ├── .vscode/
    │   ├── launch.json
    │   └── tasks.json
    ├── pyproject.toml
    └── README.md
    

שלב 4: שדרוג לגרסת ה-MCP SDK האחרונה

🔍 למה לשדרג? ברצוננו להשתמש בגרסת ה-MCP SDK העדכנית ביותר (v1.9.3) ובשירות Inspector (0.14.0) לשיפור הפיצ'רים ויכולת ניפוי השגיאות.

4a. עדכון תלותות פייתון

ערוך את pyproject.toml: עדכן ./code/weather_mcp/pyproject.toml

4b. עדכון תצורת Inspector

ערוך את inspector/package.json: עדכן ./code/weather_mcp/inspector/package.json

4c. עדכון תלותות Inspector

ערוך את inspector/package-lock.json: עדכן ./code/weather_mcp/inspector/package-lock.json

📝 הערה: קובץ זה מכיל הגדרות תלות נרחבות. למטה מוצג המבנה העיקרי - התוכן המלא מבטיח פתרון תלות תקין.

קובץ נעילה מלא: קובץ package-lock.json המלא מכיל כ-3000 שורות של הגדרות תלות. המוצג לעיל מציג את המבנה המפתח - יש להשתמש בקובץ שמסופק לפתרון תלות מלא.

שלב 5: הגדרת ניפוי שגיאות ב-VS Code

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

5a. עדכון תצורת השקה

ערוך .vscode/launch.json:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Attach to Local MCP",
      "type": "debugpy",
      "request": "attach",
      "connect": {
        "host": "localhost",
        "port": 5678
      },
      "presentation": {
        "hidden": true
      },
      "internalConsoleOptions": "neverOpen",
      "postDebugTask": "Terminate All Tasks"
    },
    {
      "name": "Launch Inspector (Edge)",
      "type": "msedge",
      "request": "launch",
      "url": "http://localhost:6274?timeout=60000&serverUrl=http://localhost:3001/sse#tools",
      "cascadeTerminateToConfigurations": [
        "Attach to Local MCP"
      ],
      "presentation": {
        "hidden": true
      },
      "internalConsoleOptions": "neverOpen"
    },
    {
      "name": "Launch Inspector (Chrome)",
      "type": "chrome",
      "request": "launch",
      "url": "http://localhost:6274?timeout=60000&serverUrl=http://localhost:3001/sse#tools",
      "cascadeTerminateToConfigurations": [
        "Attach to Local MCP"
      ],
      "presentation": {
        "hidden": true
      },
      "internalConsoleOptions": "neverOpen"
    }
  ],
  "compounds": [
    {
      "name": "Debug in Agent Builder",
      "configurations": [
        "Attach to Local MCP"
      ],
      "preLaunchTask": "Open Agent Builder",
    },
    {
      "name": "Debug in Inspector (Edge)",
      "configurations": [
        "Launch Inspector (Edge)",
        "Attach to Local MCP"
      ],
      "preLaunchTask": "Start MCP Inspector",
      "stopAll": true
    },
    {
      "name": "Debug in Inspector (Chrome)",
      "configurations": [
        "Launch Inspector (Chrome)",
        "Attach to Local MCP"
      ],
      "preLaunchTask": "Start MCP Inspector",
      "stopAll": true
    }
  ]
}

ערוך .vscode/tasks.json:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Start MCP Server",
      "type": "shell",
      "command": "python -m debugpy --listen 127.0.0.1:5678 src/__init__.py sse",
      "isBackground": true,
      "options": {
        "cwd": "${workspaceFolder}",
        "env": {
          "PORT": "3001"
        }
      },
      "problemMatcher": {
        "pattern": [
          {
            "regexp": "^.*$",
            "file": 0,
            "location": 1,
            "message": 2
          }
        ],
        "background": {
          "activeOnStart": true,
          "beginsPattern": ".*",
          "endsPattern": "Application startup complete|running"
        }
      }
    },
    {
      "label": "Start MCP Inspector",
      "type": "shell",
      "command": "npm run dev:inspector",
      "isBackground": true,
      "options": {
        "cwd": "${workspaceFolder}/inspector",
        "env": {
          "CLIENT_PORT": "6274",
          "SERVER_PORT": "6277",
        }
      },
      "problemMatcher": {
        "pattern": [
          {
            "regexp": "^.*$",
            "file": 0,
            "location": 1,
            "message": 2
          }
        ],
        "background": {
          "activeOnStart": true,
          "beginsPattern": "Starting MCP inspector",
          "endsPattern": "Proxy server listening on port"
        }
      },
      "dependsOn": [
        "Start MCP Server"
      ]
    },
    {
      "label": "Open Agent Builder",
      "type": "shell",
      "command": "echo ${input:openAgentBuilder}",
      "presentation": {
        "reveal": "never"
      },
      "dependsOn": [
        "Start MCP Server"
      ],
    },
    {
      "label": "Terminate All Tasks",
      "command": "echo ${input:terminate}",
      "type": "shell",
      "problemMatcher": []
    }
  ],
  "inputs": [
    {
      "id": "openAgentBuilder",
      "type": "command",
      "command": "ai-mlstudio.agentBuilder",
      "args": {
        "initialMCPs": [ "local-server-weather_mcp" ],
        "triggeredFrom": "vsc-tasks"
      }
    },
    {
      "id": "terminate",
      "type": "command",
      "command": "workbench.action.tasks.terminate",
      "args": "terminateAll"
    }
  ]
}

🚀 הפעלה ובדיקת שרת ה-MCP שלך

שלב 6: התקנת תלותות

לאחר ביצוע השינויים בתצורה, הרץ את הפקודות הבאות:

התקן תלותות פייתון:

uv sync

התקן תלותות Inspector:

cd inspector
npm install

שלב 7: ניפוי שגיאות עם Agent Builder

  1. הקש F5 או השתמש בתצורת "Debug in Agent Builder"
  2. בחר בתצורת הקומפוזיט מהפאנל ניפוי השגיאות
  3. המתן לעליית השרת ולפתיחת Agent Builder
  4. בדוק את שרת מזג האוויר MCP שלך עם שאילתות בשפה טבעית

הזן קלט כמו זה

SYSTEM_PROMPT

You are my weather assistant

USER_PROMPT

How's the weather like in Seattle

Agent Builder Debug Result

שלב 8: ניפוי שגיאות עם MCP Inspector

  1. השתמש בתצורת "Debug in Inspector" (Edge או Chrome)
  2. פתח את ממשק Inspector בכתובת http://localhost:6274
  3. חקור את סביבת הבדיקה האינטראקטיבית:
    • צפה בכלים הזמינים
    • בדוק ביצוע כלים
    • נטר בקשות רשת
    • נפה שגיאות תגובות השרת

MCP Inspector Interface


🎯 תוצרים עיקריים בלמידה

בסיום מעבדה זו, השגת:

  • יצרת שרת MCP מותאם אישית באמצעות תבניות Microsoft Foundry Toolkit
  • שידרגת לגרסת ה-MCP SDK העדכנית ביותר (v1.9.3) לשיפור פונקציונליות
  • הגדרת זרימות עבודה מקצועיות לניפוי שגיאות עבור Agent Builder ו-Inspector
  • הקמת את MCP Inspector לבדיקות אינטראקטיביות של השרת
  • שליטת בהגדרות ניפוי שגיאות ב-VS Code לפיתוח MCP

🔧 תכונות מתקדמות שחקרנו

תכונה תיאור מקרה שימוש
MCP Python SDK v1.9.3 יישום פרוטוקול עכשווי פיתוח שרת מודרני
MCP Inspector 0.14.0 כלי לניפוי שגיאות אינטראקטיבי בדיקות שרת בזמן אמת
ניפוי שגיאות ב-VS Code סביבת פיתוח משולבת זרימת עבודה מקצועית לניפוי שגיאות
אינטגרציה עם Agent Builder חיבור ישיר ל-Microsoft Foundry Toolkit בדיקות סוכן מקצה לקצה

📚 משאבים נוספים


🎉 הברכות! השלמת בהצלחה את מעבדה 3 וכעת תוכל ליצור, לנפות שגיאות ולפרוס שרתי MCP מותאמים אישית עם זרימות עבודה מקצועיות לפיתוח.

🔜 המשך למודול הבא

מוכן ליישם את מיומנויות MCP שלך בזרימת עבודה בפיתוח בעולם האמיתי? המשך אל מודול 4: פיתוח MCP מעשי - שרת העתקה מותאם אישית ל-GitHub שבו ת:

  • תבנה שרת MCP מוכן לייצור שמבצע אוטומציה של פעולות בספריות GitHub
  • תיישם פונקציונליות להעתקת ספריות GitHub דרך MCP
  • תשלב שרתי MCP מותאמים אישית עם VS Code ו-GitHub Copilot Agent Mode
  • תבדוק ותפרוס שרתי MCP מותאמים בסביבות ייצור
  • תלמד אוטומציה מעשית של זרימות עבודה למפתחים

כתב ויתור: מסמך זה תורגם באמצעות שירות תרגום אוטומטי Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עלולים להכיל שגיאות או אי-דיוקים. יש להחשיב את המסמך המקורי בשפתו הטבעית כמקור הסמכות. למידע קריטי מומלץ להשתמש בתרגום מקצועי על ידי מתרגם אדם. אנו לא אחראים לכל אי-הבנה או פירוש שגוי הנובע מהשימוש בתרגום זה.