כלי: fetch-repo-commit
אחזור פרטים של commit ספציפי ממאגר Git. כדי לאחזר קטעי תיקון שורה אחר שורה בתצוגה מלאה, צריך להעביר את path_filters (לדוגמה, ['**'] לכל הקבצים).
בדוגמת הקוד הבאה מוסבר איך להשתמש ב-curl כדי להפעיל את כלי ה-MCP fetch-repo-commit.
| בקשת Curl |
|---|
curl --location 'https://developerconnect.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "fetch-repo-commit", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
סכימת הקלט
הודעת בקשה ל-FetchGitRepositoryLinkCommit.
FetchGitRepositoryLinkCommitRequest
| ייצוג ב-JSON |
|---|
{
"name": string,
"commitSha": string,
"view": enum ( |
| שדות | |
|---|---|
name |
חובה. שם המשאב של GitRepositoryLink בפורמט |
commitSha |
חובה. ה-SHA של ה-commit או הגרסה הסמלית (לדוגמה, שם ההסתעפות, התג או ההפניה ל-Git). |
view |
זה שינוי אופציונלי. רמת הפירוט של פרטי השמירה שיופיעו בתשובה. אם לא צוין ערך, ברירת המחדל היא |
pathFilters[] |
זה שינוי אופציונלי. תבניות של נתיבים או נתיבים מדויקים לסינון הקבצים שמוחזרים (רלוונטי רק בתצוגה |
CommitView
רמת הפירוט של פרטי השמירה שיופיעו בתשובה.
| טיפוסים בני מנייה (enum) | |
|---|---|
COMMIT_VIEW_UNSPECIFIED |
לא צוין, ברירת המחדל היא BASIC. |
BASIC |
תצוגה בסיסית, מחזירה מטא-נתונים של commit אבל לא הבדלים בין קבצים. |
FULL |
תצוגה מלאה, מחזירה מטא-נתונים של השמירה והשוואות בין קבצים. |
סכימת הפלט
הודעת תגובה ל-FetchGitRepositoryLinkCommit.
FetchGitRepositoryLinkCommitResponse
| ייצוג ב-JSON |
|---|
{ "commit": { object ( |
| שדות | |
|---|---|
commit |
המטא-נתונים של ה-commit. |
files[] |
רשימת השינויים בקבצים וההבדלים בתיקונים. לא נכלל כשהתצוגה היא |
SCMCommit
| ייצוג ב-JSON |
|---|
{ "sha": string, "message": string, "author": string, "authorEmail": string, "commitTime": string, "url": string } |
| שדות | |
|---|---|
sha |
SHA מלא של 40 תווים של SCM commit. |
message |
טקסט של הודעת השמירה. |
author |
השם המוצג של המחבר. |
authorEmail |
כתובת האימייל של המחבר. |
commitTime |
חותמת הזמן של יצירת ה-commit. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-0, 3, 6 או 9 ספרות אחרי הנקודה העשרונית. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. לדוגמה: |
url |
קישור לכתובת ה-URL ב-HTML של ספק ה-SCM עבור ה-commit הזה. |
חותמת הזמן
| ייצוג ב-JSON |
|---|
{ "seconds": string, "nanos": integer } |
| שדות | |
|---|---|
seconds |
מייצג שניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) 1970-01-01T00:00:00Z. הערך חייב להיות בין -62135596800 ל-253402300799, כולל (טווח שמתאים ל-0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z). |
nanos |
שברים לא שליליים של שנייה ברזולוציה של ננו-שנייה. השדה הזה הוא החלק של הננו-שניות במשך הזמן, ולא חלופה לשניות. ערכי שניות שליליים עם שברים עדיין צריכים לכלול ערכי ננו-שניות לא שליליים שנספרים קדימה בזמן. הערך חייב להיות בין 0 ל-999,999,999, כולל. |
FileDiff
| ייצוג ב-JSON |
|---|
{ "path": string, "status": string, "patch": string } |
| שדות | |
|---|---|
path |
הנתיב היחסי לקובץ במאגר. |
status |
סטטוס השינוי: "ADDED", "MODIFIED", "REMOVED", "RENAMED". |
patch |
קטע של תיקון diff מאוחד סטנדרטי לקובץ. מאוכלס רק כשמצוין |
הערות לגבי הכלים
הערות הכלים נשלחות ללקוחות MCP כדי לתאר את הסיכון הבסיסי של כלי מסוים. רוב הלקוחות מתייחסים לרמזים האלה כלא מהימנים, אבל אפשר להשתמש בהם כדי להחליט מתי לשלוח למשתמש בקשה לאישור.
בנוסף למחרוזת הכותרת, הרמזים הבוליאניים הבאים מוגדרים כך:
-
readOnlyHint: אם הערך הוא True, הכלי לא משנה את הסביבה שלו. ברירת המחדל: false. -
destructiveHint: אם הערך הוא True, הכלי יכול לבצע פעולות הרסניות. אם הערך הוא False, הכלי יכול לבצע רק פעולות הוספה. ברירת המחדל: true. -
idempotentHint: אם הערך הוא True, קריאה חוזרת לכלי עם אותם ארגומנטים לא תשפיע על הסביבה שלו. ברירת המחדל: false. -
openWorldHint: אם הערך הוא True, הכלי יכול לקיים אינטראקציה עם "עולם פתוח" של ישויות חיצוניות. אם הערך הוא false, הכלי יכול לקיים אינטראקציה רק עם ישויות פנימיות. לדוגמה, כלי חיפוש באינטרנט הוא כלי בעולם פתוח, אבל כלי זיכרון הוא לא כלי בעולם פתוח.
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌