list_users
Retrieve all users from Apache Airflow clusters using the v1 API with pagination support for limit and offset parameters.
Instructions
[Tool Role]: Lists all users in the Airflow system (v1 API only).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
Implementation Reference
- Core handler function for the 'list_users' tool. Defined with @mcp.tool() decorator for automatic registration in MCP. Fetches Airflow users list via v1 API '/users' endpoint with pagination (limit/offset). Returns error message for v2 API compatibility.async def list_users(limit: int = 20, offset: int = 0) -> Dict[str, Any]: """[Tool Role]: Lists all users in the Airflow system (v1 API only).""" from ..functions import get_api_version api_version = get_api_version() if api_version == "v2": return {"error": "User management is not available in Airflow 3.x (API v2)", "available_in": "v1 only"} params = [] params.append(f"limit={limit}") if offset > 0: params.append(f"offset={offset}") query_string = "&".join(params) if params else "" endpoint = f"/users?{query_string}" if query_string else "/users" resp = await airflow_request("GET", endpoint) resp.raise_for_status() return resp.json()
- src/mcp_airflow_api/tools/v1_tools.py:23-23 (registration)Registration point for v1 API variant: calls register_common_tools(mcp) which executes the @mcp.tool() decorators including list_users.common_tools.register_common_tools(mcp)
- src/mcp_airflow_api/tools/v2_tools.py:24-24 (registration)Registration point for v2 API variant: calls register_common_tools(mcp) which executes the @mcp.tool() decorators including list_users (which will error in v2 as intended).common_tools.register_common_tools(mcp)