MCP Tools Reference: developerconnect.googleapis.com

כלי: 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 (CommitView),
  "pathFilters": [
    string
  ]
}
שדות
name

string

חובה. שם המשאב של GitRepositoryLink בפורמט projects/*/locations/*/connections/*/gitRepositoryLinks/*.

commitSha

string

חובה. ה-SHA של ה-commit או הגרסה הסמלית (לדוגמה, שם ההסתעפות, התג או ההפניה ל-Git).

view

enum (CommitView)

זה שינוי אופציונלי. רמת הפירוט של פרטי השמירה שיופיעו בתשובה. אם לא צוין ערך, ברירת המחדל היא FULL. בתצוגה FULL, מוחזרים המטא-נתונים של files (נתיבים וסטטוסים). צריך לציין גם את path_filters כדי לאכלס את קטעי התיקונים של השורות.

pathFilters[]

string

זה שינוי אופציונלי. תבניות של נתיבים או נתיבים מדויקים לסינון הקבצים שמוחזרים (רלוונטי רק בתצוגה FULL). כשמציינים את path_filters, השדה FileDiff.patch מאוכלס בכל הקבצים התואמים (אפשר להשתמש ב-["**"] כדי לכלול תיקונים לכל הקבצים שהשתנו). אם משמיטים את path_filters או שהוא ריק, מוחזרת הרשימה המלאה של FileDiff בלי הבדלי תיקונים (FileDiff.patch ריק).

CommitView

רמת הפירוט של פרטי השמירה שיופיעו בתשובה.

טיפוסים בני מנייה (enum)
COMMIT_VIEW_UNSPECIFIED לא צוין, ברירת המחדל היא BASIC.
BASIC תצוגה בסיסית, מחזירה מטא-נתונים של commit אבל לא הבדלים בין קבצים.
FULL תצוגה מלאה, מחזירה מטא-נתונים של השמירה והשוואות בין קבצים.

סכימת הפלט

הודעת תגובה ל-FetchGitRepositoryLinkCommit.

FetchGitRepositoryLinkCommitResponse

ייצוג ב-JSON
{
  "commit": {
    object (SCMCommit)
  },
  "files": [
    {
      object (FileDiff)
    }
  ]
}
שדות
commit

object (SCMCommit)

המטא-נתונים של ה-commit.

files[]

object (FileDiff)

רשימת השינויים בקבצים וההבדלים בתיקונים. לא נכלל כשהתצוגה היא BASIC. ההבדלים בתיקונים (FileDiff.patch) מאוכלסים רק כשמציינים את path_filters בבקשה.

SCMCommit

ייצוג ב-JSON
{
  "sha": string,
  "message": string,
  "author": string,
  "authorEmail": string,
  "commitTime": string,
  "url": string
}
שדות
sha

string

‫SHA מלא של 40 תווים של SCM commit.

message

string

טקסט של הודעת השמירה.

author

string

השם המוצג של המחבר.

authorEmail

string

כתובת האימייל של המחבר.

commitTime

string (Timestamp format)

חותמת הזמן של יצירת ה-commit.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-0, 3, 6 או 9 ספרות אחרי הנקודה העשרונית. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. לדוגמה: "2014-10-02T15:01:23Z",‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

url

string

קישור לכתובת ה-URL ב-HTML של ספק ה-SCM עבור ה-commit הזה.

חותמת הזמן

ייצוג ב-JSON
{
  "seconds": string,
  "nanos": integer
}
שדות
seconds

string (int64 format)

מייצג שניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) ‏1970-01-01T00:00:00Z. הערך חייב להיות בין ‎-62135596800 ל-253402300799, כולל (טווח שמתאים ל-‎0001-01-01T00:00:00Z עד ‎9999-12-31T23:59:59Z).

nanos

integer

שברים לא שליליים של שנייה ברזולוציה של ננו-שנייה. השדה הזה הוא החלק של הננו-שניות במשך הזמן, ולא חלופה לשניות. ערכי שניות שליליים עם שברים עדיין צריכים לכלול ערכי ננו-שניות לא שליליים שנספרים קדימה בזמן. הערך חייב להיות בין 0 ל-999,999,999, כולל.

FileDiff

ייצוג ב-JSON
{
  "path": string,
  "status": string,
  "patch": string
}
שדות
path

string

הנתיב היחסי לקובץ במאגר.

status

string

סטטוס השינוי: "ADDED",‏ "MODIFIED",‏ "REMOVED",‏ "RENAMED".

patch

string

קטע של תיקון diff מאוחד סטנדרטי לקובץ. מאוכלס רק כשמצוין path_filters בבקשה, אחרת הוא ריק.

הערות לגבי הכלים

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

בנוסף למחרוזת הכותרת, הרמזים הבוליאניים הבאים מוגדרים כך:

  • ‫readOnlyHint: אם הערך הוא True, הכלי לא משנה את הסביבה שלו. ברירת המחדל: false.
  • ‫destructiveHint: אם הערך הוא True, הכלי יכול לבצע פעולות הרסניות. אם הערך הוא False, הכלי יכול לבצע רק פעולות הוספה. ברירת המחדל: true.
  • ‫idempotentHint: אם הערך הוא True, קריאה חוזרת לכלי עם אותם ארגומנטים לא תשפיע על הסביבה שלו. ברירת המחדל: false.
  • ‫openWorldHint: אם הערך הוא True, הכלי יכול לקיים אינטראקציה עם "עולם פתוח" של ישויות חיצוניות. אם הערך הוא false, הכלי יכול לקיים אינטראקציה רק עם ישויות פנימיות. לדוגמה, כלי חיפוש באינטרנט הוא כלי בעולם פתוח, אבל כלי זיכרון הוא לא כלי בעולם פתוח.

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌