@@ -81,8 +81,7 @@ def add_component_tools(mcp: FastMCP) -> None:
81
81
82
82
async def list_components (ctx : Context ) -> List [Component ]:
83
83
"""List all available components."""
84
- client = ctx .session .state ["sapi_client" ]
85
- assert isinstance (client , KeboolaClient )
84
+ client = KeboolaClient .from_state (ctx .session .state )
86
85
87
86
r_components = client .storage_client .components .list ()
88
87
logger .info (f"Found { len (r_components )} components." )
@@ -96,8 +95,7 @@ async def list_component_configurations(
96
95
ctx : Context ,
97
96
) -> List [ComponentConfiguration ]:
98
97
"""List all configurations for a given component."""
99
- client = ctx .session .state ["sapi_client" ]
100
- assert isinstance (client , KeboolaClient )
98
+ client = KeboolaClient .from_state (ctx .session .state )
101
99
102
100
component = await get_component_details (component_id , ctx )
103
101
r_configs = client .storage_client .configurations .list (component_id )
@@ -116,8 +114,7 @@ async def get_component_configuration_details(
116
114
ctx : Context ,
117
115
) -> ComponentConfiguration :
118
116
"""Detail a given component configuration."""
119
- client = ctx .session .state ["sapi_client" ]
120
- assert isinstance (client , KeboolaClient )
117
+ client = KeboolaClient .from_state (ctx .session .state )
121
118
122
119
component = await get_component_details (component_id , ctx )
123
120
r_config = client .storage_client .configurations .detail (component_id , configuration_id )
@@ -131,8 +128,7 @@ async def get_component_details(
131
128
ctx : Context ,
132
129
) -> Component :
133
130
"""Retrieve detailed information about a original Keboola component object given component ID."""
134
- client = ctx .session .state ["sapi_client" ]
135
- assert isinstance (client , KeboolaClient )
131
+ client = KeboolaClient .from_state (ctx .session .state )
136
132
137
133
endpoint = "branch/{}/components/{}" .format (client .storage_client ._branch_id , component_id )
138
134
r_component = await client .get (endpoint )
0 commit comments