Skip to main content
Glama

Port MCP Server

by port-labs
get_action_permissions.py2.33 kB
"""Tool for getting action permissions configuration.""" from typing import Any from src.client import PortClient from src.models.common.annotations import Annotations from src.models.permissions.get_action_permissions import ( GetActionPermissionsToolResponse, GetActionPermissionsToolSchema, ) from src.models.tools.tool import Tool from src.utils import logger class GetActionPermissionsTool(Tool[GetActionPermissionsToolSchema]): """Get permissions and RBAC configuration for a specific action.""" port_client: PortClient def __init__(self, port_client: PortClient): super().__init__( name="get_action_permissions", description="Get the permissions, approval, and execution configuration for a specific action in Port. This includes RBAC settings, dynamic permissions, and approval workflows.", input_schema=GetActionPermissionsToolSchema, output_schema=GetActionPermissionsToolResponse, annotations=Annotations( title="Get Action Permissions", readOnlyHint=True, destructiveHint=False, idempotentHint=True, openWorldHint=False, ), function=self.get_action_permissions, ) self.port_client = port_client async def get_action_permissions(self, props: GetActionPermissionsToolSchema) -> dict[str, Any]: """Get permissions configuration for the specified action.""" logger.info(f"GetActionPermissionsTool.get_action_permissions called for action: {props.action_identifier}") if not self.port_client.permissions: raise ValueError("Permissions client not available") # Get action permissions configuration permissions_info = await self.port_client.permissions.get_action_permissions( props.action_identifier ) if not permissions_info: raise ValueError(f"Action '{props.action_identifier}' not found or no permissions available") response = GetActionPermissionsToolResponse( permissions=permissions_info ) logger.info(f"Retrieved permissions configuration for action '{props.action_identifier}'") return response.model_dump(exclude_unset=True, exclude_none=True)

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/port-labs/port-mcp-server'

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