Gitee

ทางการ

การผสานรวม Gitee API, การจัดการ repository, issue, และ pull request และอื่นๆ

GitHub
65
ลองใช้ MCP นี้ผู้สนับสนุน

คุณทำอะไรได้บ้างด้วย Gitee MCP?

  • จัดการปัญหาของ repository — ให้ผู้ช่วยของคุณแสดงรายการ สร้าง หรืออัปเดตปัญหาใน repository โดยใช้ list_repo_issues, create_issue และ update_issue
  • จัดการ pull requests — ให้ผู้ช่วยของคุณแสดงรายการ สร้าง รวม หรือตรวจสอบ pull requests ด้วยเครื่องมือเช่น list_repo_pulls, create_pull, merge_pull และ manage_pull_review
  • สำรวจเนื้อหาใน repository — รับเนื้อหาของไฟล์ เปรียบเทียบ branch หรือ tag และค้นหาไฟล์ตามเนื้อหาโดยใช้ get_file_content, compare_branches_tags และ search_files_by_content
  • จัดการ releases และ forks — สร้าง releases แสดงรายการที่มีอยู่ หรือ fork repository ผ่าน create_release, list_releases และ fork_repository
  • ค้นหาและค้นพบ — ค้นหา open source repositories หรือผู้ใช้บน Gitee ด้วย search_open_source_repositories และ search_users
  • ติดตามการแจ้งเตือน — ตรวจสอบการแจ้งเตือนล่าสุดของคุณด้วย list_user_notifications

เอกสาร

เซิร์ฟเวอร์ MCP ของ Gitee

เซิร์ฟเวอร์ MCP ของ Gitee คือการใช้งานเซิร์ฟเวอร์ Model Context Protocol (MCP) สำหรับ Gitee โดยมีชุดเครื่องมือสำหรับโต้ตอบกับ API ของ Gitee ช่วยให้ผู้ช่วย AI สามารถจัดการ repositories, issues, pull requests และอื่นๆ ได้

Install MCP Server

คุณสมบัติ

  • โต้ตอบกับ repositories, issues, pull requests และการแจ้งเตือนของ Gitee
  • กำหนดค่า API base URL ได้เพื่อรองรับอินสแตนซ์ Gitee ที่แตกต่างกัน
  • แฟล็กบรรทัดคำสั่งเพื่อการกำหนดค่าที่ง่ายดาย
  • รองรับการดำเนินการทั้งส่วนบุคคล องค์กร และองค์กรขนาดใหญ่
  • เปิด/ปิดชุดเครื่องมือแบบไดนามิก
สถานการณ์จริง: รับ Issue จาก repository ดำเนินการเขียนโค้ดและสร้าง Pull Request
  1. รับ Issues ของ repository get_repo_issues
  2. ดำเนินการเขียนโค้ดและสร้าง Pull Request ตามรายละเอียดของ Issue implement_issue
  3. แสดงความคิดเห็นและปิด Issue comment_and_close_issue

การติดตั้ง

เซิร์ฟเวอร์ MCP ระยะไกลไม่ต้องติดตั้งและทำงานได้ทันที หากต้องการรัน mcp-gitee ในเครื่อง (stdio) ให้เลือกหนึ่งในตัวเลือกด้านล่าง

เซิร์ฟเวอร์ MCP ระยะไกล (แนะนำ)

เพิ่มเนื้อหาต่อไปนี้ในส่วน mcpServers ของการกำหนดค่าโฮสต์ของคุณ โดยแทนที่ <your personal access token> ด้วยโทเค็นจาก ที่นี่:

{
  "mcpServers": {
    "gitee": {
      "url": "https://api.gitee.com/mcp",
      "headers": {
        "Authorization": "Bearer <your personal access token>"
      }
    }
  }
}

สำหรับเส้นทางและรูปแบบไฟล์การกำหนดค่าต่อไคลเอนต์ (Claude Code, Codex, Cursor, Trae, Cline, Continue, opencode) ให้ปฏิบัติตามคำแนะนำที่เชื่อมโยงในส่วนการกำหนดค่าโฮสต์ MCP ด้านล่าง

ท้องถิ่น (stdio)

ดาวน์โหลดไบนารีที่สร้างไว้ล่วงหน้า

นำไฟล์เก็บถาวรสำหรับแพลตฟอร์มของคุณ (linux-amd64 / linux-arm / darwin-amd64 / darwin-arm64 / windows-amd64) จาก Releases แตกไฟล์และวาง mcp-gitee ลงใน PATH ของคุณ (บน Windows ไฟล์ปฏิบัติการคือ mcp-gitee.exe)

ใช้ npx

ไม่ต้องติดตั้ง ไบนารีที่สร้างไว้ล่วงหน้าสำหรับแพลตฟอร์มของคุณจะถูกดาวน์โหลดโดยอัตโนมัติเมื่อเริ่มต้น:

{
  "mcpServers": {
    "gitee": {
      "command": "npx",
      "args": [
        "-y",
        "@gitee/mcp-gitee@latest"
      ],
      "env": {
        "GITEE_API_BASE": "https://gitee.com/api/v5",
        "GITEE_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}

สร้างจากซอร์สโค้ด

ต้องใช้ Go 1.23.0 หรือสูงกว่า

  1. โคลน repository:

    git clone https://gitee.com/oschina/mcp-gitee.git
    cd mcp-gitee
    
  2. สร้างโปรเจกต์:

    make build
    

    ย้าย ./bin/mcp-gitee ไปยัง PATH env

ใช้ go install

go install gitee.com/oschina/mcp-gitee@latest

ใช้ไฟล์ปฏิบัติการที่ติดตั้งแล้ว

เมื่อ mcp-gitee พร้อมใช้งานบน PATH ของคุณ (ผ่าน Releases, การสร้างจากซอร์ส หรือ go install):

{
  "mcpServers": {
    "gitee": {
      "command": "mcp-gitee",
      "env": {
        "GITEE_API_BASE": "https://gitee.com/api/v5",
        "GITEE_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}

Windows: ไฟล์ปฏิบัติการต้องมีคำต่อท้าย .exe และเส้นทางใน command ควรใช้เครื่องหมายทับ / (Windows รองรับ และหลีกเลี่ยงข้อผิดพลาดในการหลบอักขระ JSON):

{
  "mcpServers": {
    "gitee": {
      "command": "C:/Users/<you>/bin/mcp-gitee.exe",
      "env": {
        "GITEE_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}

การกำหนดค่าโฮสต์ MCP

ตัวอย่างการกำหนดค่า: คลิกเพื่อดูการกำหนดค่าแอปพลิเคชันเพิ่มเติม

ตัวเลือกบรรทัดคำสั่ง

  • --token: โทเค็นการเข้าถึง Gitee
  • --api-base: URL พื้นฐาน API ของ Gitee (ค่าเริ่มต้น: https://gitee.com/api/v5)
  • --version: แสดงข้อมูลเวอร์ชัน
  • --transport: ประเภทการขนส่ง (stdio, sse หรือ http, ค่าเริ่มต้น: stdio)
  • --address: โฮสต์และพอร์ตสำหรับเริ่มเซิร์ฟเวอร์ (ค่าเริ่มต้น: localhost:8000)
  • --enabled-toolsets: รายการเครื่องมือที่คั่นด้วยเครื่องหมายจุลภาคเพื่อเปิดใช้งาน (หากระบุ จะเปิดใช้งานเฉพาะเครื่องมือเหล่านี้)
  • --disabled-toolsets: รายการเครื่องมือที่คั่นด้วยเครื่องหมายจุลภาคเพื่อปิดใช้งาน

ตัวแปรสภาพแวดล้อม

คุณยังสามารถกำหนดค่าเซิร์ฟเวอร์โดยใช้ตัวแปรสภาพแวดล้อม:

  • GITEE_ACCESS_TOKEN: โทเค็นการเข้าถึง Gitee
  • GITEE_API_BASE: URL พื้นฐาน API ของ Gitee
  • ENABLED_TOOLSETS: รายการเครื่องมือที่คั่นด้วยเครื่องหมายจุลภาคเพื่อเปิดใช้งาน
  • DISABLED_TOOLSETS: รายการเครื่องมือที่คั่นด้วยเครื่องหมายจุลภาคเพื่อปิดใช้งาน

การจัดการชุดเครื่องมือ

การจัดการชุดเครื่องมือรองรับสองโหมด:

  1. เปิดใช้งานเครื่องมือที่ระบุ (โหมดไวท์ลิสต์):

    • ใช้พารามิเตอร์ --enabled-toolsets หรือตัวแปรสภาพแวดล้อม ENABLED_TOOLSETS
    • หลังจากระบุ เฉพาะเครื่องมือที่ระบุไว้จะถูกเปิดใช้งาน ส่วนอื่นๆ จะถูกปิดใช้งาน
    • ตัวอย่าง: --enabled-toolsets="list_user_repos,get_file_content"
  2. ปิดใช้งานเครื่องมือที่ระบุ (โหมดแบล็กลิสต์):

    • ใช้พารามิเตอร์ --disabled-toolsets หรือตัวแปรสภาพแวดล้อม DISABLED_TOOLSETS
    • หลังจากระบุ เครื่องมือที่ระบุไว้จะถูกปิดใช้งาน ส่วนอื่นๆ จะถูกเปิดใช้งาน
    • ตัวอย่าง: --disabled-toolsets="list_user_repos,get_file_content"

หมายเหตุ:

  • หากระบุทั้ง enabled-toolsets และ disabled-toolsets ให้ enabled-toolsets มีลำดับความสำคัญสูงกว่า
  • ชื่อเครื่องมือคำนึงถึงตัวพิมพ์เล็กใหญ่

การกรองเครื่องมือต่อคำขอ (ส่วนหัว HTTP)

เมื่อใช้เซิร์ฟเวอร์ MCP ระยะไกล (การขนส่ง HTTP/SSE) คุณสามารถกรองเครื่องมือที่มีอยู่แบบไดนามิกต่อคำขอผ่านส่วนหัว HTTP ซึ่งมีประโยชน์สำหรับไคลเอนต์ที่ต้องการควบคุมการเปิดเผยเครื่องมืออย่างละเอียดโดยไม่ต้องรีสตาร์ทเซิร์ฟเวอร์

  1. เปิดใช้งานเครื่องมือที่ระบุผ่านส่วนหัว (ไวท์ลิสต์):

    • ใช้ส่วนหัว X-MCP-Enabled-Tools
    • เฉพาะเครื่องมือที่ระบุไว้จะถูกเปิดใช้งานสำหรับคำขอนั้น
    • ตัวอย่าง: X-MCP-Enabled-Tools: list_user_repos,get_file_content
  2. ปิดใช้งานเครื่องมือที่ระบุผ่านส่วนหัว (แบล็กลิสต์):

    • ใช้ส่วนหัว X-MCP-Disabled-Tools
    • เครื่องมือที่ระบุไว้จะถูกปิดใช้งานสำหรับคำขอนั้น
    • ตัวอย่าง: X-MCP-Disabled-Tools: create_repo,delete_repo

กฎลำดับความสำคัญ:

  • หากมีทั้ง X-MCP-Enabled-Tools และ X-MCP-Disabled-Tools ในคำขอเดียวกัน ไวท์ลิสต์ (X-MCP-Enabled-Tools) จะมีลำดับความสำคัญสูงกว่า
  • ชื่อเครื่องมือคำนึงถึงตัวพิมพ์เล็กใหญ่

ตัวอย่างการกำหนดค่าสำหรับ Cursor/Claude:

{
  "mcpServers": {
    "gitee": {
      "url": "https://api.gitee.com/mcp",
      "headers": {
        "Authorization": "Bearer <your personal access token>",
        "X-MCP-Enabled-Tools": "list_user_repos,get_file_content,list_repo_issues"
      }
    }
  }
}

สัญญาอนุญาต

โปรเจกต์นี้อยู่ภายใต้สัญญาอนุญาต MIT ดูไฟล์ LICENSE สำหรับรายละเอียดเพิ่มเติม

เครื่องมือที่มีอยู่

เซิร์ฟเวอร์มีเครื่องมือต่างๆ สำหรับโต้ตอบกับ Gitee:

เครื่องมือหมวดหมู่คำอธิบาย
list_user_reposRepositoryแสดงรายการ repositories ที่ผู้ใช้ได้รับอนุญาต
get_file_contentRepositoryรับเนื้อหาของไฟล์ใน repository
create_repoRepositoryสร้าง repository (ผู้ใช้ องค์กร หรือองค์กรขนาดใหญ่)
fork_repositoryRepositoryFork repository
create_releaseRepositoryสร้าง release สำหรับ repository
list_releasesRepositoryแสดงรายการ releases ของ repository
search_open_source_repositoriesRepositoryค้นหา repositories โอเพนซอร์สบน Gitee
search_files_by_contentRepositoryค้นหาไฟล์ตามเนื้อหาใน repository
compare_branches_tagsRepositoryเปรียบเทียบสอง branches, tags หรือ commits ใน repository
list_repo_pullsPull Requestแสดงรายการ pull requests ใน repository
merge_pullPull Requestรวม pull request
create_pullPull Requestสร้าง pull request
update_pullPull Requestอัปเดต pull request
get_pull_detailPull Requestรับรายละเอียดของ pull request
get_diff_filesPull Requestรับไฟล์ diff ของ pull request
manage_pull_reviewPull Requestจัดการรีวิว pull request (อนุมัติหรือยกเลิก)
create_commentCommentสร้างความคิดเห็นบน issue หรือ pull request
list_commentsCommentแสดงรายการความคิดเห็นทั้งหมดสำหรับ issue หรือ pull request
create_issueIssueสร้าง issue
update_issueIssueอัปเดต issue
get_repo_issue_detailIssueรับรายละเอียดของ issue ใน repository
list_repo_issuesIssueแสดงรายการ issues ของ repository
get_user_infoUserรับข้อมูลผู้ใช้ที่ตรวจสอบสิทธิ์ปัจจุบัน
search_usersUserค้นหาผู้ใช้
list_user_notificationsNotificationแสดงรายการการแจ้งเตือนของผู้ใช้

การมีส่วนร่วม

เรายินดีต้อนรับการมีส่วนร่วมจากชุมชนโอเพนซอร์ส! หากคุณต้องการมีส่วนร่วมในโปรเจกต์นี้ โปรดปฏิบัติตามแนวทางเหล่านี้:

  1. Fork repository
  2. สร้าง branch ใหม่สำหรับฟีเจอร์หรือการแก้ไขบั๊กของคุณ
  3. ทำการเปลี่ยนแปลงและตรวจสอบให้แน่ใจว่าโค้ดมีเอกสารครบถ้วน
  4. ส่ง pull request พร้อมคำอธิบายการเปลี่ยนแปลงที่ชัดเจน

สำหรับข้อมูลเพิ่มเติม โปรดดูไฟล์ CONTRIBUTING