1+ from typing import Any , Dict , List , Optional , Union
2+ from metorial_util_endpoint import BaseMetorialEndpoint , MetorialEndpointManager , MetorialRequest
3+ from ..resources import mapDashboardInstanceMagicMcpServersProviderListOutput , DashboardInstanceMagicMcpServersProviderListOutput , mapDashboardInstanceMagicMcpServersProviderListQuery , DashboardInstanceMagicMcpServersProviderListQuery , mapDashboardInstanceMagicMcpServersProviderGetOutput , DashboardInstanceMagicMcpServersProviderGetOutput , mapDashboardInstanceMagicMcpServersProviderCreateOutput , DashboardInstanceMagicMcpServersProviderCreateOutput , mapDashboardInstanceMagicMcpServersProviderCreateBody , DashboardInstanceMagicMcpServersProviderCreateBody , mapDashboardInstanceMagicMcpServersProviderUpdateOutput , DashboardInstanceMagicMcpServersProviderUpdateOutput , mapDashboardInstanceMagicMcpServersProviderUpdateBody , DashboardInstanceMagicMcpServersProviderUpdateBody , mapDashboardInstanceMagicMcpServersProviderDeleteOutput , DashboardInstanceMagicMcpServersProviderDeleteOutput
4+
5+ class MetorialDashboardInstanceMagicMcpServersProviderEndpoint (BaseMetorialEndpoint ):
6+ """Magic MCP server providers define which providers are included in the setup session template backing a magic MCP server."""
7+
8+ def __init__ (self , config : MetorialEndpointManager ):
9+ super ().__init__ (config )
10+
11+ def list (self , instance_id : str , magic_mcp_server_id : str , * , limit : Optional [float ] = None , after : Optional [str ] = None , before : Optional [str ] = None , cursor : Optional [str ] = None , order : Optional [str ] = None , status : Optional [Union [str , List [str ]]] = None , id : Optional [Union [str , List [str ]]] = None , provider_id : Optional [Union [str , List [str ]]] = None , provider_deployment_id : Optional [Union [str , List [str ]]] = None , provider_config_id : Optional [Union [str , List [str ]]] = None , provider_auth_config_id : Optional [Union [str , List [str ]]] = None , created_at : Optional [Dict [str , Any ]] = None , updated_at : Optional [Dict [str , Any ]] = None ) -> DashboardInstanceMagicMcpServersProviderListOutput :
12+ """
13+ List magic MCP server providers
14+ Returns a paginated list of providers configured for a magic MCP server.
15+
16+ :param instance_id: str
17+ :param magic_mcp_server_id: str
18+ :param limit: Optional[float] (optional)
19+ :param after: Optional[str] (optional)
20+ :param before: Optional[str] (optional)
21+ :param cursor: Optional[str] (optional)
22+ :param order: Optional[str] (optional)
23+ :param status: Optional[Union[str, List[str]]] (optional)
24+ :param id: Optional[Union[str, List[str]]] (optional)
25+ :param provider_id: Optional[Union[str, List[str]]] (optional)
26+ :param provider_deployment_id: Optional[Union[str, List[str]]] (optional)
27+ :param provider_config_id: Optional[Union[str, List[str]]] (optional)
28+ :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional)
29+ :param created_at: Optional[Dict[str, Any]] (optional)
30+ :param updated_at: Optional[Dict[str, Any]] (optional)
31+ :return: DashboardInstanceMagicMcpServersProviderListOutput
32+ """
33+ # Build query parameters from keyword arguments
34+ query_dict = {}
35+ if limit is not None :
36+ query_dict ["limit" ] = limit
37+ if after is not None :
38+ query_dict ["after" ] = after
39+ if before is not None :
40+ query_dict ["before" ] = before
41+ if cursor is not None :
42+ query_dict ["cursor" ] = cursor
43+ if order is not None :
44+ query_dict ["order" ] = order
45+ if status is not None :
46+ query_dict ["status" ] = status
47+ if id is not None :
48+ query_dict ["id" ] = id
49+ if provider_id is not None :
50+ query_dict ["provider_id" ] = provider_id
51+ if provider_deployment_id is not None :
52+ query_dict ["provider_deployment_id" ] = provider_deployment_id
53+ if provider_config_id is not None :
54+ query_dict ["provider_config_id" ] = provider_config_id
55+ if provider_auth_config_id is not None :
56+ query_dict ["provider_auth_config_id" ] = provider_auth_config_id
57+ if created_at is not None :
58+ query_dict ["created_at" ] = created_at
59+ if updated_at is not None :
60+ query_dict ["updated_at" ] = updated_at
61+
62+ request = MetorialRequest (
63+ path = ['dashboard' , 'instances' , instance_id , 'magic-mcp-servers' , magic_mcp_server_id , 'provider' ],
64+ query = query_dict
65+ )
66+ return self ._get (request ).transform (mapDashboardInstanceMagicMcpServersProviderListOutput .from_dict )
67+
68+ def get (self , instance_id : str , magic_mcp_server_id : str , magic_mcp_server_provider_id : str ) -> DashboardInstanceMagicMcpServersProviderGetOutput :
69+ """
70+ Get magic MCP server provider
71+ Retrieves a specific provider configuration from a magic MCP server.
72+
73+ :param instance_id: str
74+ :param magic_mcp_server_id: str
75+ :param magic_mcp_server_provider_id: str
76+ :return: DashboardInstanceMagicMcpServersProviderGetOutput
77+ """
78+ request = MetorialRequest (
79+ path = ['dashboard' , 'instances' , instance_id , 'magic-mcp-servers' , magic_mcp_server_id , 'provider' , magic_mcp_server_provider_id ]
80+ )
81+ return self ._get (request ).transform (mapDashboardInstanceMagicMcpServersProviderGetOutput .from_dict )
82+
83+ def create (self , instance_id : str , magic_mcp_server_id : str , * , provider_deployment_id : Optional [str ] = None , provider_config_id : Optional [str ] = None , provider_config_vault_id : Optional [str ] = None , provider_auth_config_id : Optional [str ] = None , tool_filters : Optional [Union [Union [Dict [str , Any ], Dict [str , Any ], Dict [str , Any ], Dict [str , Any ], Dict [str , Any ], Dict [str , Any ]], List [Union [Dict [str , Any ], Dict [str , Any ], Dict [str , Any ], Dict [str , Any ], Dict [str , Any ], Dict [str , Any ]]]]] = None ) -> DashboardInstanceMagicMcpServersProviderCreateOutput :
84+ """
85+ Create magic MCP server provider
86+ Adds a new provider configuration to a magic MCP server.
87+
88+ :param instance_id: str
89+ :param magic_mcp_server_id: str
90+ :param provider_deployment_id: Optional[str] (optional)
91+ :param provider_config_id: Optional[str] (optional)
92+ :param provider_config_vault_id: Optional[str] (optional)
93+ :param provider_auth_config_id: Optional[str] (optional)
94+ :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional)
95+ :return: DashboardInstanceMagicMcpServersProviderCreateOutput
96+ """
97+ # Build body parameters from keyword arguments
98+ body_dict = {}
99+ if provider_deployment_id is not None :
100+ body_dict ["provider_deployment_id" ] = provider_deployment_id
101+ if provider_config_id is not None :
102+ body_dict ["provider_config_id" ] = provider_config_id
103+ if provider_config_vault_id is not None :
104+ body_dict ["provider_config_vault_id" ] = provider_config_vault_id
105+ if provider_auth_config_id is not None :
106+ body_dict ["provider_auth_config_id" ] = provider_auth_config_id
107+ if tool_filters is not None :
108+ body_dict ["tool_filters" ] = tool_filters
109+
110+ request = MetorialRequest (
111+ path = ['dashboard' , 'instances' , instance_id , 'magic-mcp-servers' , magic_mcp_server_id , 'provider' ],
112+ body = body_dict
113+ )
114+ return self ._post (request ).transform (mapDashboardInstanceMagicMcpServersProviderCreateOutput .from_dict )
115+
116+ def update (self , instance_id : str , magic_mcp_server_id : str , magic_mcp_server_provider_id : str , * , tool_filters : Optional [Union [Union [Dict [str , Any ], Dict [str , Any ], Dict [str , Any ], Dict [str , Any ], Dict [str , Any ], Dict [str , Any ]], List [Union [Dict [str , Any ], Dict [str , Any ], Dict [str , Any ], Dict [str , Any ], Dict [str , Any ], Dict [str , Any ]]]]] = None ) -> DashboardInstanceMagicMcpServersProviderUpdateOutput :
117+ """
118+ Update magic MCP server provider
119+ Updates a provider configuration in a magic MCP server.
120+
121+ :param instance_id: str
122+ :param magic_mcp_server_id: str
123+ :param magic_mcp_server_provider_id: str
124+ :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional)
125+ :return: DashboardInstanceMagicMcpServersProviderUpdateOutput
126+ """
127+ # Build body parameters from keyword arguments
128+ body_dict = {}
129+ if tool_filters is not None :
130+ body_dict ["tool_filters" ] = tool_filters
131+
132+ request = MetorialRequest (
133+ path = ['dashboard' , 'instances' , instance_id , 'magic-mcp-servers' , magic_mcp_server_id , 'provider' , magic_mcp_server_provider_id ],
134+ body = body_dict
135+ )
136+ return self ._patch (request ).transform (mapDashboardInstanceMagicMcpServersProviderUpdateOutput .from_dict )
137+
138+ def delete (self , instance_id : str , magic_mcp_server_id : str , magic_mcp_server_provider_id : str ) -> DashboardInstanceMagicMcpServersProviderDeleteOutput :
139+ """
140+ Delete magic MCP server provider
141+ Removes a provider configuration from a magic MCP server.
142+
143+ :param instance_id: str
144+ :param magic_mcp_server_id: str
145+ :param magic_mcp_server_provider_id: str
146+ :return: DashboardInstanceMagicMcpServersProviderDeleteOutput
147+ """
148+ request = MetorialRequest (
149+ path = ['dashboard' , 'instances' , instance_id , 'magic-mcp-servers' , magic_mcp_server_id , 'provider' , magic_mcp_server_provider_id ]
150+ )
151+ return self ._delete (request ).transform (mapDashboardInstanceMagicMcpServersProviderDeleteOutput .from_dict )
0 commit comments