1010 SemanticLayerConfig ,
1111)
1212from dbt_mcp .dbt_admin .client import DbtAdminAPIClient
13+ from dbt_mcp .semantic_layer .client import SemanticLayerClientProtocol
1314
1415
1516class DbtMcpContext (Context [ServerSession , object , Request ]):
1617 """Custom context for the MCP server"""
1718
1819 _semantic_layer_config : SemanticLayerConfig | None = None
20+ _semantic_layer_client : SemanticLayerClientProtocol | None = None
1921 _discovery_config : DiscoveryConfig | None = None
2022 _dbt_cli_config : DbtCliConfig | None = None
2123 _admin_api_config : AdminApiConfig | None = None
@@ -26,13 +28,15 @@ def __init__(
2628 request_context : RequestContext [ServerSession , object , Request ] | None = None ,
2729 fastmcp : FastMCP | None = None ,
2830 semantic_layer_config : SemanticLayerConfig | None = None ,
31+ semantic_layer_client : SemanticLayerClientProtocol | None = None ,
2932 discovery_config : DiscoveryConfig | None = None ,
3033 dbt_cli_config : DbtCliConfig | None = None ,
3134 admin_api_config : AdminApiConfig | None = None ,
3235 admin_api_client : DbtAdminAPIClient | None = None ,
3336 ):
3437 super ().__init__ (request_context = request_context , fastmcp = fastmcp )
3538 self ._semantic_layer_config = semantic_layer_config
39+ self ._semantic_layer_client = semantic_layer_client
3640 self ._discovery_config = discovery_config
3741 self ._dbt_cli_config = dbt_cli_config
3842 self ._admin_api_config = admin_api_config
@@ -43,6 +47,11 @@ def get_semantic_layer_config(self) -> SemanticLayerConfig:
4347 raise ValueError ("Semantic layer config is not set" )
4448 return self ._semantic_layer_config
4549
50+ def get_semantic_layer_client (self ) -> SemanticLayerClientProtocol :
51+ if self ._semantic_layer_client is None :
52+ raise ValueError ("Semantic layer client is not set" )
53+ return self ._semantic_layer_client
54+
4655 def get_discovery_config (self ) -> DiscoveryConfig :
4756 if self ._discovery_config is None :
4857 raise ValueError ("Discovery config is not set" )
0 commit comments