Skip to main content
Glama

list_user_permissions

View user permissions for a Bitbucket repository to manage access control and security settings. Specify the repository slug to retrieve a list of users with their assigned permission levels.

Instructions

List user permissions for a repository.

Args: repo_slug: Repository slug limit: Maximum number of results (default: 50) Returns: List of users with their permission levels

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repo_slugYes
limitNo

Implementation Reference

  • MCP tool handler function (registered via @mcp.tool()) that executes the list_user_permissions tool logic: fetches from BitbucketClient, applies validation, formats output using UserPermission Pydantic models.
    @mcp.tool() @handle_bitbucket_error @formatted def list_user_permissions(repo_slug: str, limit: int = 50) -> dict: """List user permissions for a repository. Args: repo_slug: Repository slug limit: Maximum number of results (default: 50) Returns: List of users with their permission levels """ client = get_client() permissions = client.list_user_permissions(repo_slug, limit=validate_limit(limit)) return { "users": [UserPermission.from_api(p).model_dump() for p in permissions], }
  • Pydantic BaseModel for UserPermission providing input/output schema validation, parsing from Bitbucket API responses, and clean serialization for tool output.
    class UserPermission(BaseModel): """User permission info.""" user: Optional[str] = None account_id: Optional[str] = None permission: str @classmethod def from_api(cls, data: dict) -> "UserPermission": user_data = data.get("user") or {} return cls( user=user_data.get("display_name"), account_id=user_data.get("account_id"), permission=data.get("permission", ""), )
  • BitbucketClient class method implementing the core API interaction: paginated GET request to /repositories/{workspace}/{repo_slug}/permissions-config/users endpoint.
    def list_user_permissions( self, repo_slug: str, limit: int = 50, ) -> list[dict[str, Any]]: """List user permissions for a repository. Args: repo_slug: Repository slug limit: Maximum results to return Returns: List of user permission info dicts """ return self._paginated_list( self._repo_path(repo_slug, "permissions-config", "users"), limit=limit, )

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