From 180c023af94d1a24e894e0ba196d5ab4f16604e3 Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Tue, 17 Mar 2026 01:36:44 -0400 Subject: [PATCH] feat: add /mcps/add route for deep linking MCP server creation --- client/src/routes/MCPAddRedirect.tsx | 24 ++++++++++++++++++++++++ client/src/routes/index.tsx | 5 +++++ 2 files changed, 29 insertions(+) create mode 100644 client/src/routes/MCPAddRedirect.tsx diff --git a/client/src/routes/MCPAddRedirect.tsx b/client/src/routes/MCPAddRedirect.tsx new file mode 100644 index 0000000000..b0951cd1ab --- /dev/null +++ b/client/src/routes/MCPAddRedirect.tsx @@ -0,0 +1,24 @@ +import { useEffect } from 'react'; +import { useSearchParams, useNavigate } from 'react-router-dom'; + +const MCP_NAME_PARAM = 'name'; +const MCP_URL_PARAM = 'url'; +const MCP_TRANSPORT_PARAM = 'transport'; + +export default function MCPAddRedirect() { + const [searchParams] = useSearchParams(); + const navigate = useNavigate(); + + useEffect(() => { + const mcpName = searchParams.get(MCP_NAME_PARAM) ?? undefined; + const mcpUrl = searchParams.get(MCP_URL_PARAM) ?? undefined; + const mcpTransport = searchParams.get(MCP_TRANSPORT_PARAM) ?? undefined; + + navigate('/c/new', { + replace: true, + state: { mcpName, mcpUrl, mcpTransport }, + }); + }, [searchParams, navigate]); + + return null; +} diff --git a/client/src/routes/index.tsx b/client/src/routes/index.tsx index 871fd3ff86..d460ad393c 100644 --- a/client/src/routes/index.tsx +++ b/client/src/routes/index.tsx @@ -16,6 +16,7 @@ import RouteErrorBoundary from './RouteErrorBoundary'; import StartupLayout from './Layouts/Startup'; import LoginLayout from './Layouts/Login'; import dashboardRoutes from './Dashboard'; +import MCPAddRedirect from './MCPAddRedirect'; import ShareRoute from './ShareRoute'; import ChatRoute from './ChatRoute'; import Search from './Search'; @@ -107,6 +108,10 @@ export const router = createBrowserRouter( path: 'c/:conversationId?', element: , }, + { + path: 'mcps/add', + element: , + }, { path: 'search', element: ,