Skip to main content
Glama

list_group_permissions

View group access levels for a Bitbucket repository to manage team permissions and control repository security settings.

Instructions

List group permissions for a repository.

Args:
    repo_slug: Repository slug
    limit: Maximum number of results (default: 50)

Returns:
    List of groups with their permission levels

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repo_slugYes
limitNo

Implementation Reference

  • The MCP tool handler function that executes the list_group_permissions tool logic by calling the Bitbucket client method and formatting the response.
    @mcp.tool()
    @handle_bitbucket_error
    @formatted
    def list_group_permissions(repo_slug: str, limit: int = 50) -> dict:
        """List group permissions for a repository.
    
        Args:
            repo_slug: Repository slug
            limit: Maximum number of results (default: 50)
    
        Returns:
            List of groups with their permission levels
        """
        client = get_client()
        permissions = client.list_group_permissions(repo_slug, limit=validate_limit(limit))
        return {
            "groups": [GroupPermission.from_api(p).model_dump() for p in permissions],
        }
  • Supporting method in BitbucketClient that fetches the group permissions via paginated API call.
    def list_group_permissions(
        self,
        repo_slug: str,
        limit: int = 50,
    ) -> list[dict[str, Any]]:
        """List group permissions for a repository.
    
        Args:
            repo_slug: Repository slug
            limit: Maximum results to return
    
        Returns:
            List of group permission info dicts
        """
        return self._paginated_list(
            self._repo_path(repo_slug, "permissions-config", "groups"),
            limit=limit,
        )
  • Pydantic model for group permission data structure, used for validation and serialization in the tool response.
    class GroupPermission(BaseModel):
        """Group permission info."""
    
        group: Optional[str] = None
        slug: Optional[str] = None
        permission: str
    
        @classmethod
        def from_api(cls, data: dict) -> "GroupPermission":
            group_data = data.get("group") or {}
            return cls(
                group=group_data.get("name"),
                slug=group_data.get("slug"),
                permission=data.get("permission", ""),
            )
  • The @mcp.tool() decorator that registers the list_group_permissions function as an MCP tool.
    @mcp.tool()

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JaviMaligno/mcp-server-bitbucket'

If you have feedback or need assistance with the MCP directory API, please join our Discord server