חומר עזר לפקודה של CLI develop-mcp של סוכן 365

נהל שרתי MCP בסביבות Dataverse. הפקודה develop-mcp מספקת אפשרויות לפרסום, הסרת פרסום, רישום ומתן הרשאות לסוכן עבור שרתי MCP לשימוש בסביבות Dataverse.

Note

ה-CLI של סוכן 365 כבר לא כולל את הפקודות develop-mcp approve, develop-mcp block, ו develop-mcp package-mcp-server -. מנהלי דיירים מבצעים כעת אישור וחסימה של שרת במרכז המנהל Microsoft — בקשות ממתינות נבדקות בדף Requested Agents. ה-CLI כבר אינו מייצר חבילות שרתי MCP להגשה ל-Admin Center; מנהלים מצטרפים ומנהלים שרתים ישירות במרכז המנהל.

תפקיד מינימלי נדרש: משתנה לפי תת-פיקוד

Syntax

a365 develop-mcp [command] [options]

אפשרויות

Option Description
-v, --verbose אפשר‎ ‎לוגים‎ ‎מפורטים
-?, , -h--help הצג‎ ‎עזרה‎ ‎ומידע‎ ‎על‎ ‎שימוש

develop-mcp evaluate

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

a365 develop-mcp evaluate --server-url <server-url> [--auth-token <auth-token>] [options]

evaluate אפשרויות

Option Description
-u, --server-url <server-url> Required. כתובת ה-HTTP של שרת MCP (בדרך כלל מסתיימת ב /mcp-).
--auth-token <auth-token> Optional. נדרש רק כאשר שרת MCP דורש אימות. אסימון נושא לשרת. מעדיף את A365_MCP_AUTH_TOKEN משתנה הסביבה; אסימון שמועבר בשורת הפקודה נראה לעיבוד רשימות והיסטוריית shell.
-o, --output-dir <output-dir> תיקיית רשימת הבדיקה וקבצי הדוחות. ברירת המחדל היא התיקייה הנוכחית (.).
--eval-engine <eval-engine> איזה סוכן קידוד מקומי מדרג את הבדיקות הסמנטיות: auto (ברירת מחדל; נסה GitHub Copilot, ואז קוד קלוד), github-copilot, claude-code, או none (דלג על ניקוד בינה מלאכותית וצפה לרשימת בדיקה מראש).
-v, --verbose הפעל רישום מפורט.
-?, , -h--help הצג עזרה ומידע שימוש.

evaluate דוגמאות

הערכת שרת מקומי באמצעות בחירת מנוע אוטומטית:

a365 develop-mcp evaluate --server-url "http://localhost:5000/mcp"

הערך שרת מאומת, באמצעות האסימון שסופק דרך משתנה סביבה וחפצים שנכתבו בתיקיית משנה:

$env:A365_MCP_AUTH_TOKEN = "<bearer-token>"
a365 develop-mcp evaluate --server-url "https://my-mcp-server.contoso.com/mcp" --output-dir "./eval"

צור את רשימת הפעולות לביצוע בלבד, ולאחר מכן תן לה ציון עם LLM משלך:

a365 develop-mcp evaluate --server-url "https://my-mcp-server.contoso.com/mcp" --eval-engine none

כפה מנוע ניקוד ספציפי:

a365 develop-mcp evaluate --server-url "http://localhost:5000/mcp" --eval-engine claude-code

evaluate משתני סביבה

השתמשו במשתני הסביבה הבאים כדי לספק אימות ובאופן אופציונלי לשלוט באיזה מודל כל מנוע ניקוד מקומי משתמש.

Environment variable Purpose
A365_MCP_AUTH_TOKEN אסימון נושא לשרת MCP, משמש כשאתה לא עובר --auth-token. השתמש במשתנה הזה במקום בדגל כי הוא שומר על הטוקן מחוץ לרישומי התהליך והיסטוריית הקלפים.
A365_EVAL_COPILOT_MODEL לעקוף את מודל GitHub Copilot. דורש מזהה דגם מדויק, כגון claude-haiku-4.5.
A365_EVAL_CLAUDE_MODEL לעקוף את מודל קוד קלוד. מקבל כינוי מודל (כגון haiku) או מזהה מודל מלא.

develop-mcp grant-agents-access

הענק הרשאה לשרת MCP (BYO) לזהויות סוכנים שחסרות אותה.

a365 develop-mcp grant-agents-access --mcp-server-name <NAME> --agent-blueprint-id <GUID> [options]

הרשאות מינימליות נדרשות: מנהל כללי (או תפקיד אחר עם זכויות ליצור אישורי OAuth2 לכל הדייר)

השתמש בפקודה הזו כדי למצוא ולתקן זהויות של סוכנים שלא יכולים לקרוא לשרת MCP להבא את עצמך (BYO) כי חסרה להם ההרשאה Tools.ListInvoke.All לכך. הפקודה מפרטת את מופעי הסוכנים של התכנית שצוינה שחסרה להם ההרשאה, ואז מאפשרת לבחור למי להעניק אותה.

שם שרת MCP מתפתר ליישום Microsoft Entra כאשר - BYO מצורף לשם. לדוגמה, ext_Learn1 פותרת ל- ext_Learn1 - BYO. הענק עצמו הוא מתן הרשאה OAuth2 שהועבר לכלAllPrincipals הדייר () על ראש השירות של האפליקציה, ולכן הוא חל על כל מופע סוכן נוכחי ועתידי של התוכנית, לא רק על אלו שמופיעים בזמן הריצה.

בדרך כלל לא יודעים מראש את ה-GUID של התכנית. מעבר --agent-blueprint-id ללא ערך, או לא תקין, מדפיס את שמות התכניות והמזהים של ה-Microsoft כדי שתוכל למצוא אותם. Passing --help מדפיסה את אותה רשימה.

לאחר שהפקודה מדווחת על מופעי הסוכן שחסרים את ההרשאה, יש Enter all כדי להעניק אותה לכל מופע שמוצג, רשימה מופרדת בפסיקים של המספרים המוצגים (למשל, 1,3) כדי להעניק אותה למופעים מסוימים, או לחץ על Enter כדי לדלג על האישור. העביר --yes ל-Grant לכל מופע רשום בלי הנחיות, למשל בסקריפט.

אם יותר מאפליקציית Entra אחת חולקת <name> - BYO את אותו שם תצוגה, הפקודה מפרטת את כל ההתאמות ושואלת איזו מהן להשתמש במקום לנחש.

הפקודה לא משתמשת באפליקציית הלקוח שהוגדרה ב- a365.config.json. במקום זאת, הוא מתחבר כאפליקציית Microsoft Graph Command Line Tools (14d82eec-204b-4c2f-b7e8-296a70dab67e) ומבקש את הטווחים המוקצים ל-Microsoft Graph הבאים:

  • Application.Read.All
  • AgentIdentity.Read.All
  • DelegatedPermissionGrant.ReadWrite.All

בפעם הראשונה שאתה מריץ את הפקודה בשוכר, אתה רואה הנחיית אישור מנהל עבור הטווחים האלה. מנהל מנהל גלובלי או מנהל תפקידים מועדף חייב להעניק תחומים אלה ליישום ארגוני Microsoft Graph Command Line Tools. לאחר ההסכמה, כל ריצה דורשת רק כניסה אחת. אם הפקודה לא מצליחה להשיג טוקן, הודעת השגיאה מציינת את שמות האפליקציה ואת הטווחים שהפקודה ביקשה.

grant-agents-access אפשרויות

Option Description
--agent-blueprint-id <agent-blueprint-id> מזהה תכנית סוכן (GUID) עבור מופעי הסוכן לבדוק. אם תשכח את האפשרות הזו או תספק ערך שגוי, הפקודה מדפיסה את שמות השרטוטים והמזהים של הצד הראשון.
-s, --mcp-server-name <mcp-server-name> Required. שם שרת MCP. היישום של Entra מתייחס ל- <name> - BYO.
--tenant-id <tenant-id> מזהה דייר של Azure AD. ברירת מחדל להקשר הנוכחי של Azure CLI.
-y, --yes הענק את ההרשאה החסרה לכל מופע סוכן רשום בלי לבקש.
--device-code השתמש באימות קוד התקן במקום זרימת הדפדפן האינטראקטיבית (ה-WAM ברוקר ב-Windows). השתמש כאשר WAM לא יכול להציג דו-שיח של התחברות, כמו טרמינל משובץ או מרוחק. נפתח https://microsoft.com/devicelogin בדפדפן שלך.
--dry-run דווח אילו מופעי סוכן חסרים את ההרשאה מבלי להעניק אותה.
-v, --verbose אפשר‎ ‎לוגים‎ ‎מפורטים
-?, , -h--help הצג‎ ‎עזרה‎ ‎ומידע‎ ‎על‎ ‎שימוש

develop-mcp list-environments

פרט את כל הסביבות Dataverse הזמינות לניהול שרתי MCP.

a365 develop-mcp list-environments [options]

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

list-environments אפשרויות

Option Description
--dry-run הצג מה ניתן לעשות מבלי לבצע
-v, --verbose אפשר‎ ‎לוגים‎ ‎מפורטים
-?, , -h--help הצג‎ ‎עזרה‎ ‎ומידע‎ ‎על‎ ‎שימוש

develop-mcp list-servers

פרט שרתי MCP בסביבה Dataverse ספציפית.

a365 develop-mcp list-servers [options]

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

list-servers אפשרויות

Option Description
-e, --environment-id <environment-id> מזהה סביבת Dataverse
--dry-run הצג מה ניתן לעשות מבלי לבצע
-v, --verbose אפשר‎ ‎לוגים‎ ‎מפורטים
-?, , -h--help הצג‎ ‎עזרה‎ ‎ומידע‎ ‎על‎ ‎שימוש

develop-mcp publish

פרסום שרת MCP לסביבה Dataverse.

a365 develop-mcp publish [options]

השתמש בפקודה זו כדי לפרסם שרת MCP בסביבת Dataverse שצוינה.

Important

פרסום שרת MCP לא מאשר את זה. פרסום רק שולח את השרת לדייר שלך ויוצר בקשת אישור ממתינה. לפני שסוכן כלשהו יכול להשתמש בשרת, מנהל דיירים חייב לאשר זאת בדף הכלים המבוקשים במרכז הניהול של מרכז הניהול של Microsoft 365. עד שהמנהל יאשר את הבקשה, השרת נשאר בלתי זמין לסוכנים. כאשר הפקודה מצליחה, ה-CLI מדפיס תזכורת לבקש ממנהל הדיירים שלך לאשר את השרת.

כשאתה מפרסם, ה-CLI יוצר את ההרשמות הבאות לאפליקציית Microsoft Entra בדייר שלך:

App registration Purpose When created
<server-name>-PublicClients מחזיק בהרשאות OAuth שמארחי לקוח (כגון Visual Studio Code ו-Microsoft Copilot CLI) משתמשים בהן כדי לקרוא לשרת MCP שפורסם. ה-CLI יוצר את האפליקציה הזו לכל שרת.
<server-name>-A365Proxy פועלת כאפליקציית לקוח סודית עם סוד לקוח. ה-CLI מעביר את פרטי האישור של האפליקציה לפלטפורמה, שמשתמשת בהם ליצירת מחבר Power Platform לשרת. ה-CLI יוצר אפליקציה זו רק עבור שרתי MCP מותאמים אישית (שאינם Dataverse). שרתי Dataverse של צד ראשון, כמו msdyn_DataverseMCPServer, מדלגים על האפליקציה הזו כי הפלטפורמה מציבה להם אפליקציה משלה.

מכיוון שהפקודה יוצרת הרשמות אפליקציה, החשבון שמריץ את ה-CLI חייב לקבל את Application.ReadWrite.All הרשאת Microsoft Graph. בלי אישור זה, publish זה נכשל. אם הפרסום נכשל, ה-CLI מוחק את רישומי האפליקציה שיצר. אם תסיר את פרסום השרת, תמחק את רישומי האפליקציות האלה ידנית.

בדיירים שמגבילים את חיי הסוד של הלקוח באמצעות appManagementPolicies פוליסה, יש להשתמש --secret-lifetime-months בקביעת אורך חיים בתוך הגבול של <server-name>-A365Proxy סוד הלקוח.

Note

לספק --publisher-name שרתי MCP מותאמים אישית (שנוצרו על ידי המשתמש). הערך נכתב למטא-דאטה של מפתחי החבילה שפורסמה והוא נדרש לשרתים אלו. זה מתעלמים ממנו בשרתים בבעלות Microsoft של צד ראשון (למשל, msdyn_DataverseMCPServer), שתמיד מתפרסמים כ"Microsoft". כשאתה משמיט את זה, ה-CLI מבקש ממנה את זה באופן אינטראקטיבי; לעבור --yes לפרסום ללא הנחיות בהקשרים CI או בטקסטים מתוסרטים.

publish אפשרויות

Option Description
-e, --environment-id <environment-id> מזהה סביבת Dataverse
-s, --server-name <server-name> שם שרת MCP לפרסום
-a, --alias <alias> כינוי לשרת MCP
-d, --display-name <display-name> שם תצוגה לשרת MCP
-p, --publisher-name <publisher-name> שם Publisher נכתב למטא-דאטה של החבילה שפורסמה. נדרש לשרתי MCP מותאמים אישית (שנוצרו על ידי משתמשים); מתעלמים ממנו עבור שרתים בבעלות Microsoft של צד ראשון. נשלח באופן אינטראקטיבי כשהוא מושמט.
--service-tree-id <service-tree-id> ServiceTree ID עבור רישומים לאפליקציית Microsoft Entra שיוצרתpublish. נדרש בדיירים תאגידיים של Microsoft.
-l, --secret-lifetime-months <months> חיים בחודשים (1-24) עבור סוד הלקוח באפליקציית <server-name>-A365Proxy Microsoft Entra. כאשר מושמט, Microsoft Entra ID מפעיל את תקופת חיי ברירת המחדל של כ-2 שנים. אם המדיניות של appManagementPolicies השוכר שלך מחייבת מקסימום קצר יותר, קבע ערך בתוך הגבול הזה.
-y, --yes דלג על האינטראקטיב "להמשיך עם פרסום? (y/N)" confirmation. שימוש בהקשרים של CI או בהקשרים מתוסרטים.
--dry-run הצג מה ניתן לעשות מבלי לבצע
-v, --verbose אפשר‎ ‎לוגים‎ ‎מפורטים
-?, , -h--help הצג‎ ‎עזרה‎ ‎ומידע‎ ‎על‎ ‎שימוש

develop-mcp unpublish

ביטול פרסום של שרת MCP מתוך סביבה Dataverse.

a365 develop-mcp unpublish [options]

השתמש בפקודה זו כדי להסיר שרת MCP מסביבת Dataverse שצוינה.

unpublish אפשרויות

Option Description
-e, --environment-id <environment-id> מזהה סביבת Dataverse
-s, --server-name <server-name> שם שרת MCP להסרת פרסום
--dry-run הצג מה ניתן לעשות מבלי לבצע
-?, , -h--help הצג‎ ‎עזרה‎ ‎ומידע‎ ‎על‎ ‎שימוש

develop-mcp register-external-mcp-server

רשום שרת MCP חיצוני עם Entra, OAuth חיצוני, מפתח API או ללא אימות.

a365 develop-mcp register-external-mcp-server [options]

השתמש בפקודה זו כדי לרשום שרת MCP חיצוני (צד שלישי) עם הדייר שלך. הפקודה יוצרת את רישומים לאפליקציית Microsoft Entra שהפלטפורמה צריכה, קוראת לפלטפורמת Agent 365 להוסיף את שרת ה-MCP, ומגדירה הפניה מחדש של URI והרשאות API בהרשמות האפליקציות החדשות.

שם השרת חייב להתחיל בקידומת ext_ ולהיות באורך לכל היותר 20 תווים, לדוגמה ext_MyServer. שמות הכלים חייבים להתאים בדיוק לשמות שנחשפו על ידי שרת MCP המרוחק. שמות לא תואמים גורמים לכישלון בקריאות כלים בזמן ריצה.

ניתן לספק פרמטרים בשלוש דרכים:

  • העבר אותם כאפשרויות שורת פקודה.
  • ספק קובץ JSON עם --input-file. אפשרויות שורת הפקודה מחליפות ערכים מהקובץ. ראו register-external-mcp-server-sample.json בתבניות ה-CLI את מבנה הקבצים.
  • השמיטו כל ערך נדרש שיוגש באופן אינטראקטיבי.

לאחר שההרשמה תצליח, בקש ממנהל הדיירים שלך לאשר את שרת ה-MCP החדש לפני שהסוכנים יוכלו להשתמש בו. אם נרשמת ל- ExternalOAuth, הוסף גם את ה-URI המוצג לאפליקציית IDP החיצונית שלך.

Important

אם ההרשמה נכשלת לאחר יצירת הרשמות לאפליקציית Microsoft Entra, האפליקציות לא יוחזרו אוטומטית. מחק אותם ידנית בפורטל Azure לפני שאתה מנסה שוב.

register-external-mcp-server אפשרויות

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

Option Description
-s, --server-name <server-name> שם שרת MCP. חייב להתחיל עם ext_ ולהיות לכל היותר 20 תווים, למשל. ext_MyServer
-u, --server-url <server-url> כתובת שרת MCP מרוחקת. חייב להיות כתובת URL תקינה של HTTP או HTTPS
-a, --auth-type <auth-type> סוג אימות: EntraOAuth, ExternalOAuth, APIKey, או NoAuth
--publisher <publisher> שם Publisher (משמש במטא-דאטה של חבילות)
--description <description> תיאור שרת (בשימוש במטא-דאטה של חבילה)
--tools <tools> לדוגמה, רשימה מופרדת בפסיקים של שמות כלים שנחשפו על ידי שרת זה tool1,tool2,tool3
-f, --input-file <input-file> נתיב לקובץ JSON עם פרמטרי הרישום
--remote-scopes <remote-scopes> לדוגמה, טווחים לשרת api://{appId-guid}/{scopeName}MCP המרוחק . בשימוש עם EntraOAuth
-t, --tenant-id <tenant-id> מזהה שוכר של Entra לרישום האפליקציה. ברירת מחדל לדייר הנוכחי az login
--service-tree-id <service-tree-id> ServiceTree ID להרשמת אפליקציית Entra. נדרש בדיירים תאגידיים של Microsoft
-l, --secret-lifetime-months <months> חיים בחודשים (1-24) עבור סודות לקוח שנוצרו באפליקציות Entra שנוצרו. ברירת מחדל היא 24 חודשים (2 שנים). קבע ערך קטן מהתקרה appManagementPolicies של השוכר שלך אם פוליסת השוכר שלך מחייבת מקסימום קצר יותר
--idp-authorization-url <url> כתובת ההרשאה החיצונית של OAuth. נדרש כאשר --auth-type הוא ExternalOAuth
--idp-token-url <url> כתובת אסימון חיצונית של OAuth. נדרש כאשר --auth-type הוא ExternalOAuth
--idp-scopes <scopes> טווחים חיצוניים ל-OAuth. נדרש כאשר --auth-type הוא ExternalOAuth
--idp-client-id <client-id> מזהה לקוח חיצוני OAuth. נדרש כאשר --auth-type הוא ExternalOAuth
--idp-client-secret <client-secret> סוד לקוח חיצוני של OAuth. נדרש כאשר --auth-type הוא ExternalOAuth
--api-key-location <location> מיקום מפתח ה-API: Header או Query. נדרש כאשר --auth-type הוא APIKey
--api-key-name <name> לדוגמה, פרמטר מפתח API או שם כותרת, X-API-Key או token. נדרש כאשר --auth-type הוא APIKey
--dry-run הצג מה ניתן לעשות מבלי לבצע
-v, --verbose אפשר‎ ‎לוגים‎ ‎מפורטים
-?, , -h--help הצג‎ ‎עזרה‎ ‎ומידע‎ ‎על‎ ‎שימוש