Skip to main content
Glama

update_user_permission

Modify repository access by setting user permissions to read, write, or admin levels in Bitbucket.

Instructions

Update or add a user's permission for a repository.

Args: repo_slug: Repository slug selected_user: User's account_id or UUID permission: Permission level - "read", "write", or "admin" Returns: Updated permission info

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repo_slugYes
selected_userYes
permissionYes

Implementation Reference

  • MCP tool handler function for 'update_user_permission'. Registers the tool with @mcp.tool() and implements the logic by calling the BitbucketClient method.
    @mcp.tool() @handle_bitbucket_error @formatted def update_user_permission( repo_slug: str, selected_user: str, permission: str, ) -> dict: """Update or add a user's permission for a repository. Args: repo_slug: Repository slug selected_user: User's account_id or UUID permission: Permission level - "read", "write", or "admin" Returns: Updated permission info """ client = get_client() result = client.update_user_permission(repo_slug, selected_user, permission) return { "user": result.get("user", {}).get("display_name"), "permission": result.get("permission"), }
  • BitbucketClient helper method that executes the Bitbucket API PUT request to update repository user permissions.
    def update_user_permission( self, repo_slug: str, selected_user: str, permission: str, ) -> dict[str, Any]: """Update (or add) user permission. Args: repo_slug: Repository slug selected_user: User UUID or account_id permission: Permission level: "read", "write", or "admin" Returns: Updated permission info """ result = self._request( "PUT", self._repo_path(repo_slug, "permissions-config", "users", selected_user), json={"permission": permission}, ) return self._require_result(result, "update permission for user", selected_user)
  • Pydantic model defining the structure for user permission data, used in related permission listing tools.
    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", ""), )
  • @mcp.tool() decorator that registers the update_user_permission 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