list_project_members
Retrieve and display all members of a GitLab project to manage team access and permissions. Specify project ID and pagination for efficient member listing.
Instructions
列出專案成員
Args: project_id: 專案 ID 或路徑 page: 頁碼 per_page: 每頁筆數
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| page | No | ||
| per_page | No |
Implementation Reference
- src/gitlab_mcp/server.py:125-147 (handler)Handler function for listing project members in the MCP server.
def list_project_members(project_id: int | str, page: int = 1, per_page: int = 20) -> str: """列出專案成員 Args: project_id: 專案 ID 或路徑 page: 頁碼 per_page: 每頁筆數 """ try: client = get_client() members = client.list_project_members(project_id, page=page, per_page=per_page) if not members: return "此專案沒有成員" access_levels = {10: "Guest", 20: "Reporter", 30: "Developer", 40: "Maintainer", 50: "Owner"} lines = [f"專案成員(共 {len(members)} 位):\n"] for m in members: level = access_levels.get(m.get("access_level", 0), "Unknown") lines.append(f"- {m.get('name', 'N/A')} (@{m.get('username', 'N/A')}) — {level}") return "\n".join(lines) except GitLabAPIError as e: return f"列出成員失敗: {str(e)}" - src/gitlab_mcp/gitlab_client.py:165-171 (handler)The underlying API client method that fetches the members from the GitLab REST API.
def list_project_members( self, project_id: int | str, page: int = 1, per_page: int = 20 ) -> list[dict]: """GET /projects/:id/members""" pid = self._resolve_project_id(project_id) params = {"page": page, "per_page": per_page} return self._get_json(f"/projects/{pid}/members", params=params)