Merge pull request #4942 from menloresearch/enhancement/mcp-servers-search-cache-results

enhancement: cache MCP Server search results to enhance UX
This commit is contained in:
Louis 2025-04-24 15:28:48 +07:00
parent aefe9cc23a
commit 946e8dda65
No known key found for this signature in database
GPG Key ID: 44FA9F4D33C37DE2

View File

@ -1,6 +1,8 @@
import React, { useState, useEffect, useCallback } from 'react'
import { Button, Input } from '@janhq/joi'
import { useAtom } from 'jotai'
import { atomWithStorage } from 'jotai/utils'
import { PlusIcon } from 'lucide-react'
import { npxFinder, NPMPackage } from 'npx-scope-finder'
@ -16,12 +18,13 @@ interface MCPConfig {
}
}
const mcpPackagesAtom = atomWithStorage<NPMPackage[]>('mcpPackages', [])
const MCPSearch = () => {
const [showToast, setShowToast] = useState(false)
const [toastMessage, setToastMessage] = useState('')
const [toastType, setToastType] = useState<'success' | 'error'>('success')
const [orgName, setOrgName] = useState('@modelcontextprotocol')
const [packages, setPackages] = useState<NPMPackage[]>([])
const [packages, setPackages] = useAtom(mcpPackagesAtom)
const [loading, setLoading] = useState(false)
const [error, setError] = useState('')
@ -170,7 +173,7 @@ const MCPSearch = () => {
// Check if this server already exists
if (config.mcpServers[serverName]) {
toaster({
title: `Add ${serverName} success`,
title: `Add ${serverName}`,
description: `Server ${serverName} already exists in configuration`,
type: 'error',
})
@ -191,7 +194,7 @@ const MCPSearch = () => {
await window.core?.api?.restartMcpServers()
toaster({
title: `Add ${serverName} success`,
title: `Add ${serverName}`,
description: `Added ${serverName} to MCP configuration`,
type: 'success',
})