@@ -181,22 +181,22 @@ public function loadElementsFromCache(bool $force = false): void
181181 $ this ->logger ->debug ('MCP: Loading elements from cache. ' , ['key ' => $ this ->cacheKey ]);
182182
183183 foreach ($ cached ['tools ' ] ?? [] as $ tool ) {
184- $ toolDefinition = ToolDefinition::fromArray ($ tool );
184+ $ toolDefinition = $ tool instanceof ToolDefinition ? $ tool : ToolDefinition::fromArray ($ tool );
185185 $ this ->registerTool ($ toolDefinition );
186186 }
187187
188188 foreach ($ cached ['resources ' ] ?? [] as $ resource ) {
189- $ resourceDefinition = ResourceDefinition::fromArray ($ resource );
189+ $ resourceDefinition = $ resource instanceof ResourceDefinition ? $ resource : ResourceDefinition::fromArray ($ resource );
190190 $ this ->registerResource ($ resourceDefinition );
191191 }
192192
193193 foreach ($ cached ['prompts ' ] ?? [] as $ prompt ) {
194- $ promptDefinition = PromptDefinition::fromArray ($ prompt );
194+ $ promptDefinition = $ prompt instanceof PromptDefinition ? $ prompt : PromptDefinition::fromArray ($ prompt );
195195 $ this ->registerPrompt ($ promptDefinition );
196196 }
197197
198198 foreach ($ cached ['resourceTemplates ' ] ?? [] as $ template ) {
199- $ resourceTemplateDefinition = ResourceTemplateDefinition::fromArray ($ template );
199+ $ resourceTemplateDefinition = $ template instanceof ResourceTemplateDefinition ? $ template : ResourceTemplateDefinition::fromArray ($ template );
200200 $ this ->registerResourceTemplate ($ resourceTemplateDefinition );
201201 }
202202 }
@@ -247,8 +247,6 @@ public function clearCache(): void
247247 }
248248 }
249249
250- private function setElementsFromArray (array $ data ): void {}
251-
252250 public function findTool (string $ name ): ?ToolDefinition
253251 {
254252 return $ this ->tools [$ name ] ?? null ;
0 commit comments