From 0be4cc98a9e19c05202a4cf248f4b67b8b108908 Mon Sep 17 00:00:00 2001 From: ciregenz Date: Mon, 6 Apr 2026 11:48:03 -0700 Subject: [PATCH] fix MCP docs links not opening in browser cards, implement youtube mcp --- backend/apps/tools_lib/tools_lib.py | 5 +++++ electron/package-lock.json | 4 ++-- .../src/app/pages/Dashboard/Dashboard.tsx | 2 +- frontend/src/app/pages/Tools/Tools.tsx | 20 ++++++++++++++++--- 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/backend/apps/tools_lib/tools_lib.py b/backend/apps/tools_lib/tools_lib.py index 4a6bfdc7..c293d9a9 100644 --- a/backend/apps/tools_lib/tools_lib.py +++ b/backend/apps/tools_lib/tools_lib.py @@ -529,6 +529,11 @@ _SERVICE_RULES: list[tuple[list[str], str, str]] = [ (["contact"], "Contacts", "Google"), (["script", "deployment", "version", "trigger"], "Apps Script", "Google"), (["search_custom", "search_engine"], "Search", "Google"), + # YouTube + (["transcript", "caption"], "Transcripts", "YouTube"), + (["video_detail", "video_comment", "video_categor", "video_engagement"], "Videos", "YouTube"), + (["search_video", "trending_video"], "Search", "YouTube"), + (["channel_stat", "channel_top"], "Channels", "YouTube"), # Reddit (before Twitter so "search_reddit" etc. don't mis-match) (["subreddit"], "Subreddits", "Reddit"), (["search_reddit"], "Search", "Reddit"), diff --git a/electron/package-lock.json b/electron/package-lock.json index d0016efa..651559dd 100644 --- a/electron/package-lock.json +++ b/electron/package-lock.json @@ -1,12 +1,12 @@ { "name": "openswarm", - "version": "1.0.20", + "version": "1.0.21", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "openswarm", - "version": "1.0.20", + "version": "1.0.21", "hasInstallScript": true, "dependencies": { "electron-updater": "^6.3.0", diff --git a/frontend/src/app/pages/Dashboard/Dashboard.tsx b/frontend/src/app/pages/Dashboard/Dashboard.tsx index 878bf994..ed495bb0 100644 --- a/frontend/src/app/pages/Dashboard/Dashboard.tsx +++ b/frontend/src/app/pages/Dashboard/Dashboard.tsx @@ -438,7 +438,7 @@ const DashboardInner: React.FC = () => { dispatch(fetchOutputs()); dashboardWs.connect(); const cleanupBrowserHandler = initBrowserCommandHandler(); - return () => { cleanupBrowserHandler(); dashboardWs.disconnect(); }; + return () => { dispatch(resetLayout()); cleanupBrowserHandler(); dashboardWs.disconnect(); }; }, [dispatch, dashboardId]); const pendingBrowserUrl = useAppSelector((state) => state.tempState.pendingBrowserUrl); diff --git a/frontend/src/app/pages/Tools/Tools.tsx b/frontend/src/app/pages/Tools/Tools.tsx index 9ab4bb14..7b406d2a 100644 --- a/frontend/src/app/pages/Tools/Tools.tsx +++ b/frontend/src/app/pages/Tools/Tools.tsx @@ -135,7 +135,7 @@ const INTEGRATIONS: Integration[] = [ description: 'Browse subreddits, search posts, get post details, analyze users. No API keys required.', mcp_config: { type: 'stdio', command: 'npx', args: ['-y', 'reddit-mcp-buddy'] }, color: '#FF4500', - website: 'https://github.com/karanb192/reddit-mcp-buddy', + website: 'https://www.npmjs.com/package/reddit-mcp-buddy', icon: ( @@ -143,6 +143,20 @@ const INTEGRATIONS: Integration[] = [ ), }, + { + id: 'youtube', + name: 'YouTube', + description: 'Get video transcripts, details, comments, search videos, and channel stats. Transcripts work with no API key.', + mcp_config: { type: 'stdio', command: 'npx', args: ['-y', '@kirbah/mcp-youtube'] }, + color: '#FF0000', + website: 'https://www.npmjs.com/package/@kirbah/mcp-youtube', + icon: ( + + + + + ), + }, { id: 'google-workspace', name: 'Google Workspace', @@ -166,7 +180,7 @@ const INTEGRATIONS: Integration[] = [ description: 'Outlook email, Calendar, OneDrive, Excel, OneNote, Tasks, Contacts, Teams, and SharePoint.', mcp_config: { type: 'stdio', command: 'npx', args: ['-y', '@softeria/ms-365-mcp-server'] }, color: '#0078D4', - website: 'https://github.com/softeria/ms-365-mcp-server', + website: 'https://www.npmjs.com/package/@softeria/ms-365-mcp-server', icon: ( @@ -180,7 +194,7 @@ const INTEGRATIONS: Integration[] = [ description: 'Create, read, and update pages, databases, and blocks in Notion workspaces.', mcp_config: { type: 'stdio', command: 'npx', args: ['-y', '@notionhq/notion-mcp-server'] }, color: '#000000', - website: 'https://www.notion.so', + website: 'https://www.npmjs.com/package/@notionhq/notion-mcp-server', icon: (