bugfix(MCP): ensure memory path exists on initialization and remove unused… (#4418)

* bugfix: ensure memory path exists on initialization and remove unused everything mcp server

* refactor(factory): remove unused EverythingServer import and case

* fix(CodeCacheService): update import statement for LRUCache to default import

Error: src/renderer/src/services/CodeCacheService.ts(2,10): error TS2595: 'LRUCache' can only be imported by using a default import.
This commit is contained in:
LiuVaayne 2025-04-06 12:40:51 +08:00 committed by GitHub
parent ae6097a29e
commit 1085c11240
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 20 additions and 601 deletions

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,6 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js'
import Logger from 'electron-log'
import BraveSearchServer from './brave-search'
import EverythingServer from './everything'
import FetchServer from './fetch'
import FileSystemServer from './filesystem'
import MemoryServer from './memory'
@ -21,9 +20,6 @@ export function createInMemoryMCPServer(name: string, args: string[] = [], envs:
case '@cherry/brave-search': {
return new BraveSearchServer(envs.BRAVE_API_KEY).server
}
case '@cherry/everything': {
return new EverythingServer().server
}
case '@cherry/fetch': {
return new FetchServer().server
}

View File

@ -33,6 +33,25 @@ class KnowledgeGraphManager {
constructor(memoryPath: string) {
this.memoryPath = memoryPath
this.ensureMemoryPathExists()
}
private async ensureMemoryPathExists(): Promise<void> {
try {
// Ensure the directory exists
const directory = path.dirname(this.memoryPath)
await fs.mkdir(directory, { recursive: true })
// Check if the file exists, if not create an empty one
try {
await fs.access(this.memoryPath)
} catch (error) {
// File doesn't exist, create an empty file
await fs.writeFile(this.memoryPath, '')
}
} catch (error) {
console.error('Failed to create memory path:', error)
}
}
private async loadGraph(): Promise<KnowledgeGraph> {

View File

@ -1,5 +1,5 @@
import store from '@renderer/store'
import { LRUCache } from 'lru-cache'
import LRUCache from 'lru-cache'
/**
* FNV-1a哈希函数

View File

@ -84,14 +84,6 @@ export const builtinMCPServers: MCPServer[] = [
'An MCP server implementation that integrates the Brave Search API, providing both web and local search capabilities.',
isActive: false
},
{
id: nanoid(),
name: '@cherry/everything',
type: 'inMemory',
description:
'This MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.',
isActive: true
},
{
id: nanoid(),
name: '@cherry/fetch',