get_user_permission
Retrieve a user's permission level for a specific Bitbucket repository by providing the repository slug and user identifier.
Instructions
Get a specific user's permission for a repository.
Args:
repo_slug: Repository slug
selected_user: User's account_id or UUID
Returns:
User's permission level
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| repo_slug | Yes | ||
| selected_user | Yes |
Implementation Reference
- src/server.py:1528-1546 (handler)MCP tool handler: calls Bitbucket client to fetch user permission and formats response using UserPermission model.@mcp.tool() @handle_bitbucket_error @formatted def get_user_permission(repo_slug: str, selected_user: str) -> dict: """Get a specific user's permission for a repository. Args: repo_slug: Repository slug selected_user: User's account_id or UUID Returns: User's permission level """ client = get_client() result = client.get_user_permission(repo_slug, selected_user) if not result: return not_found_response("User permission", selected_user) return UserPermission.from_api(result).model_dump()
- src/bitbucket_client.py:1517-1532 (helper)BitbucketClient helper method: makes API request to retrieve specific user's repository permission.def get_user_permission( self, repo_slug: str, selected_user: str ) -> Optional[dict[str, Any]]: """Get permission for a specific user. Args: repo_slug: Repository slug selected_user: User UUID or account_id Returns: User permission info or None if not found """ return self._request( "GET", self._repo_path(repo_slug, "permissions-config", "users", selected_user), )
- src/models.py:629-644 (schema)Pydantic model for user permission response, used to validate and serialize API data in tool handler.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", ""), )