diff --git a/src/ayon_mcp/client.py b/src/ayon_mcp/client.py index a48e6b1..6e0e7fe 100644 --- a/src/ayon_mcp/client.py +++ b/src/ayon_mcp/client.py @@ -77,7 +77,7 @@ class AyonClient: parent_id: str, folder_type: str = "Asset", ) -> dict: - """Create a new folder under a parent.""" + """Create a new folder under a parent. Returns full folder dict.""" r = self._client.post( f"/api/projects/{project}/folders", json={ @@ -87,7 +87,19 @@ class AyonClient: }, ) r.raise_for_status() - return r.json() + folder_id = r.json()["id"] + # Re-fetch to get full folder details (including name/path) + return self._get_folder(project, folder_id) + + def _get_folder(self, project: str, folder_id: str) -> dict: + """Get a single folder by ID via GraphQL.""" + query = ( + '{project(name:"' + project + '")' + '{folder(id:"' + folder_id + '")' + "{id name path parentId folderType}}}" + ) + data = self._graphql(query) + return data["project"]["folder"] def find_or_create_folder( self, project: str, path: str, folder_type: str = "Asset"