feat: Add MCP Reinitialization to MCPPanel (#8418)

*  feat: Add MCP Reinitialization to MCPPanel

- Refactored tool caching to include user-specific tools in various service files.
- Refactored MCPManager class for clarity
- Added a new endpoint for reinitializing MCP servers, allowing for dynamic updates of server configurations.
- Enhanced the MCPPanel component to support server reinitialization with user feedback.

* 🔃 refactor: Simplify Plugin Deduplication and Clear Cache Post-MCP Initialization

- Replaced manual deduplication of tools with the dedicated `filterUniquePlugins` function for improved readability.
- Added back cache clearing for tools after MCP initialization to ensure fresh data is used.
- Removed unused exports from `PluginController.js` to clean up the codebase.
This commit is contained in:
Dustin Healy 2025-07-21 14:49:19 -07:00 committed by GitHub
parent 14660d75ae
commit faaba30af1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 499 additions and 193 deletions

View file

@ -316,6 +316,20 @@ export const useUpdateUserPluginsMutation = (
});
};
export const useReinitializeMCPServerMutation = (): UseMutationResult<
{ success: boolean; message: string; serverName: string },
unknown,
string,
unknown
> => {
const queryClient = useQueryClient();
return useMutation((serverName: string) => dataService.reinitializeMCPServer(serverName), {
onSuccess: () => {
queryClient.refetchQueries([QueryKeys.tools]);
},
});
};
export const useGetCustomConfigSpeechQuery = (
config?: UseQueryOptions<t.TCustomConfigSpeechResponse>,
): QueryObserverResult<t.TCustomConfigSpeechResponse> => {