Gitee

ทางการ

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

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

  • ค้นหาโอเพนซอร์ส repositories — ค้นหาโปรเจกต์ Gitee สาธารณะด้วยคำสำคัญโดยใช้ search_open_source_repositories
  • แสดงรายการและตรวจสอบ issues ของ repository — ดึง issues ที่เปิดอยู่ด้วย list_repo_issues และรับรายละเอียดทั้งหมดผ่าน get_repo_issue_detail
  • สร้าง pull requests จาก issues — ใช้ create_pull เพื่อเปิด PR จากนั้นใช้ create_comment และ update_issue เพื่อแสดงความคิดเห็นและปิด issue ที่เกี่ยวข้อง
  • ตรวจสอบและรวม pull requests — อนุมัติหรือยกเลิกการตรวจสอบด้วย manage_pull_review และรวมโดยใช้ merge_pull
  • จัดการไฟล์และ releases ของ repository — อ่านเนื้อหาไฟล์ผ่าน get_file_content ค้นหาโค้ดด้วย search_files_by_content และเผยแพร่ releases ด้วย create_release
  • ตรวจสอบการแจ้งเตือนและข้อมูลผู้ใช้ — แสดงรายการการแจ้งเตือน Gitee ของคุณด้วย list_user_notifications และดึงรายละเอียดผู้ใช้ที่ผ่านการยืนยันตัวตนผ่าน get_user_info

เอกสาร

Gitee MCP Server

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

Install MCP Server

คุณสมบัติ

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

การติดตั้ง (สามารถข้ามขั้นตอนนี้ได้เมื่อเริ่มต้นด้วย npx)

ข้อกำหนดเบื้องต้น

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

  1. โคลนที่เก็บข้อมูล:

    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:

mcp-gitee --version

การกำหนดค่า MCP Hosts

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

เซิร์ฟเวอร์ MCP ระยะไกล

เชื่อมต่อกับเซิร์ฟเวอร์ mcp-gitee ระยะไกลอย่างเป็นทางการ (ไม่ต้องติดตั้ง):

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

Codex ใช้ ~/.codex/config.toml:

[mcp_servers.gitee]
url = "https://api.gitee.com/mcp"
bearer_token_env_var = "GITEE_ACCESS_TOKEN"

opencode ใช้ ~/.config/opencode/opencode.json:

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

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

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

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

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

  • GITEE_ACCESS_TOKEN: Gitee access token
  • GITEE_API_BASE: Gitee API base URL
  • 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 Headers)

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

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

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

    • ใช้ header 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 ดูรายละเอียดเพิ่มเติมได้ที่ไฟล์ LICENSE

เครื่องมือที่พร้อมใช้งาน

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

เครื่องมือหมวดหมู่คำอธิบาย
list_user_reposRepositoryแสดงรายการที่เก็บข้อมูลที่ผู้ใช้ได้รับอนุญาต
get_file_contentRepositoryรับเนื้อหาของไฟล์ในที่เก็บข้อมูล
create_repoRepositoryสร้างที่เก็บข้อมูล (ผู้ใช้, องค์กร หรือองค์กรธุรกิจ)
fork_repositoryRepositoryFork ที่เก็บข้อมูล
create_releaseRepositoryสร้าง release สำหรับที่เก็บข้อมูล
list_releasesRepositoryแสดงรายการ releases ของที่เก็บข้อมูล
search_open_source_repositoriesRepositoryค้นหาที่เก็บข้อมูลโอเพนซอร์สบน Gitee
search_files_by_contentRepositoryค้นหาไฟล์ตามเนื้อหาในที่เก็บข้อมูล
compare_branches_tagsRepositoryเปรียบเทียบสอง branch, tag หรือ commit ในที่เก็บข้อมูล
list_repo_pullsPull Requestแสดงรายการ pull requests ในที่เก็บข้อมูล
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 ในที่เก็บข้อมูล
list_repo_issuesIssueแสดงรายการ issues ของที่เก็บข้อมูล
get_user_infoUserรับข้อมูลผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ปัจจุบัน
search_usersUserค้นหาผู้ใช้
list_user_notificationsNotificationแสดงรายการแจ้งเตือนของผู้ใช้

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

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

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

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