|
1 | 1 | import { useState } from 'react'; |
2 | 2 | import { |
3 | | - Globe, |
4 | | - Server, |
5 | | - Monitor, |
6 | | - Wrench, |
7 | 3 | ChevronRight, |
8 | 4 | ChevronLeft, |
9 | | - Rocket, |
10 | 5 | } from 'lucide-react'; |
11 | 6 | import { Button, Card } from '@mcpmux/ui'; |
12 | 7 | import { useAppStore, useHasSeenWelcome } from '@/stores'; |
13 | | - |
14 | | -interface WelcomeStep { |
15 | | - id: string; |
16 | | - icon: React.ReactNode; |
17 | | - title: string; |
18 | | - description: string; |
19 | | - details: string[]; |
20 | | - tip: string | null; |
21 | | -} |
22 | | - |
23 | | -const WELCOME_STEPS: WelcomeStep[] = [ |
24 | | - { |
25 | | - id: 'welcome', |
26 | | - icon: <Rocket className="h-8 w-8" />, |
27 | | - title: 'Welcome to McpMux', |
28 | | - description: |
29 | | - 'Your centralized MCP server manager. Configure your MCP servers once, connect every AI client through a single gateway.', |
30 | | - details: [ |
31 | | - 'No more duplicating server configs across Cursor, Claude Desktop, VS Code, and others', |
32 | | - 'Credentials are encrypted in your OS keychain — not stored in plain-text JSON', |
33 | | - 'One local gateway endpoint for all your AI clients', |
34 | | - ], |
35 | | - tip: null, |
36 | | - }, |
37 | | - { |
38 | | - id: 'discover', |
39 | | - icon: <Globe className="h-8 w-8" />, |
40 | | - title: 'Discover & Install Servers', |
41 | | - description: |
42 | | - 'Browse the curated registry and install MCP servers with one click. Search by category, auth type, or name.', |
43 | | - details: [ |
44 | | - 'Open the Discover page from the sidebar to browse available servers', |
45 | | - 'Click Install on any server to add it to your active space', |
46 | | - 'Servers requiring API keys or OAuth will prompt you for credentials', |
47 | | - ], |
48 | | - tip: 'Servers are cached locally so you can browse even when offline.', |
49 | | - }, |
50 | | - { |
51 | | - id: 'spaces', |
52 | | - icon: <Server className="h-8 w-8" />, |
53 | | - title: 'Organize with Spaces', |
54 | | - description: |
55 | | - 'Spaces are isolated workspaces with their own servers and credentials. Use them to separate work, personal, and project contexts.', |
56 | | - details: [ |
57 | | - 'Create spaces from the Spaces page — each gets its own server set', |
58 | | - 'Switch the active space from the sidebar dropdown', |
59 | | - 'Your AI clients automatically follow the active space', |
60 | | - ], |
61 | | - tip: 'A default space is created for you on first launch.', |
62 | | - }, |
63 | | - { |
64 | | - id: 'connect', |
65 | | - icon: <Monitor className="h-8 w-8" />, |
66 | | - title: 'Connect Your AI Clients', |
67 | | - description: |
68 | | - 'Add one config snippet to each AI client. All installed servers become available through the McpMux gateway.', |
69 | | - details: [ |
70 | | - 'Copy the gateway config from the Dashboard page', |
71 | | - 'Paste it into your client\'s MCP settings (inside mcpServers)', |
72 | | - 'Clients like Cursor, Claude Desktop, VS Code, and Windsurf are all supported', |
73 | | - ], |
74 | | - tip: 'The gateway runs locally — your data never leaves your machine.', |
75 | | - }, |
76 | | - { |
77 | | - id: 'featuresets', |
78 | | - icon: <Wrench className="h-8 w-8" />, |
79 | | - title: 'Control with FeatureSets', |
80 | | - description: |
81 | | - 'FeatureSets let you control which tools, prompts, and resources each client can access. Create permission bundles for fine-grained control.', |
82 | | - details: [ |
83 | | - 'Go to FeatureSets to create bundles like "Read Only" or "Dev Tools"', |
84 | | - 'Assign specific server features to each bundle', |
85 | | - 'Grant bundles to individual clients from the Clients page', |
86 | | - ], |
87 | | - tip: 'A "Default" FeatureSet is auto-created for each space.', |
88 | | - }, |
89 | | -]; |
| 8 | +import { WELCOME_STEPS } from './welcomeSteps'; |
90 | 9 |
|
91 | 10 | export function WelcomeGuide() { |
92 | 11 | const hasSeenWelcome = useHasSeenWelcome(); |
@@ -233,7 +152,3 @@ export function WelcomeGuide() { |
233 | 152 | </div> |
234 | 153 | ); |
235 | 154 | } |
236 | | - |
237 | | -/** Re-export the steps data for testing */ |
238 | | -export { WELCOME_STEPS }; |
239 | | -export type { WelcomeStep }; |
0 commit comments