mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-30 15:59:09 +08:00
* 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.
33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import { Server } from '@modelcontextprotocol/sdk/server/index.js'
|
|
import Logger from 'electron-log'
|
|
|
|
import BraveSearchServer from './brave-search'
|
|
import FetchServer from './fetch'
|
|
import FileSystemServer from './filesystem'
|
|
import MemoryServer from './memory'
|
|
import ThinkingServer from './sequentialthinking'
|
|
|
|
export function createInMemoryMCPServer(name: string, args: string[] = [], envs: Record<string, string> = {}): Server {
|
|
Logger.info(`[MCP] Creating in-memory MCP server: ${name} with args: ${args} and envs: ${JSON.stringify(envs)}`)
|
|
switch (name) {
|
|
case '@cherry/memory': {
|
|
const envPath = envs.MEMORY_FILE_PATH
|
|
return new MemoryServer(envPath).server
|
|
}
|
|
case '@cherry/sequentialthinking': {
|
|
return new ThinkingServer().server
|
|
}
|
|
case '@cherry/brave-search': {
|
|
return new BraveSearchServer(envs.BRAVE_API_KEY).server
|
|
}
|
|
case '@cherry/fetch': {
|
|
return new FetchServer().server
|
|
}
|
|
case '@cherry/filesystem': {
|
|
return new FileSystemServer(args).server
|
|
}
|
|
default:
|
|
throw new Error(`Unknown in-memory MCP server: ${name}`)
|
|
}
|
|
}
|