Skip to main content
Glama

Memory MCP Server

by win10ogod
test-basic.jsโ€ข4.65 kB
/** * Basic functionality test * Tests core memory operations without requiring MCP client */ import { ShortTermMemoryManager } from './src/memory/short-term.js'; import { LongTermMemoryManager } from './src/memory/long-term.js'; import { StorageManager } from './src/memory/storage.js'; import { extractKeywords } from './src/nlp/jieba.js'; import { matchKeys, createContextSnapshot } from './src/nlp/keywords.js'; console.log('๐Ÿงช Running basic functionality tests...\n'); // Test 1: NLP - Jieba keyword extraction console.log('Test 1: Jieba Keyword Extraction'); try { const keywords = extractKeywords('ๆˆ‘ๅ–œๆฌขๅƒๆŠซ่จๅ’Œๅ–ๅ’–ๅ•ก๏ผŒ่ฟ™ๆ˜ฏๆˆ‘ๆœ€ๅ–œๆฌข็š„้ฃŸ็‰ฉ', 5); console.log('โœ“ Keywords extracted:', keywords.slice(0, 3).map(k => k.word).join(', ')); } catch (error) { console.error('โœ— Failed:', error.message); } // Test 2: NLP - Keyword matching console.log('\nTest 2: Keyword Matching'); try { const messages = [ { role: 'user', content: 'ๆˆ‘็š„็”Ÿๆ—ฅๆ˜ฏ7ๆœˆ17ๆ—ฅ' }, { role: 'assistant', content: 'ๅฅฝ็š„๏ผŒๆˆ‘่ฎฐไฝไบ†๏ผ' } ]; const matches = matchKeys(messages, ['็”Ÿๆ—ฅ', 'birthday'], 'any'); console.log('โœ“ Keyword matches found:', matches); } catch (error) { console.error('โœ— Failed:', error.message); } // Test 3: Short-term memory - Add and search console.log('\nTest 3: Short-term Memory Operations'); try { const stManager = new ShortTermMemoryManager(); // Add memory await stManager.addMemory( [ { role: 'user', content: 'ๆˆ‘ๅ–œๆฌขๅƒๆŠซ่จ', timestamp: Date.now() }, { role: 'assistant', content: 'ๅฅฝ็š„๏ผ', timestamp: Date.now() } ], 'test-conversation' ); console.log('โœ“ Memory added, total:', stManager.getMemories().length); // Search memory const searchResults = await stManager.searchRelevantMemories( [{ role: 'user', content: 'ๆˆ‘ๅ–œๆฌขไป€ไนˆ้ฃŸ็‰ฉ' }], 'test-conversation' ); console.log('โœ“ Search complete, found relevant:', searchResults.topRelevant.length + searchResults.nextRelevant.length); // Get stats const stats = stManager.getStats(); console.log('โœ“ Stats retrieved, total memories:', stats.total); } catch (error) { console.error('โœ— Failed:', error.message); } // Test 4: Long-term memory - Add and trigger console.log('\nTest 4: Long-term Memory Operations'); try { const ltManager = new LongTermMemoryManager(); // Add memory const addResult = await ltManager.addMemory({ name: 'birthday-memory', prompt: '็”จๆˆท็š„็”Ÿๆ—ฅๆ˜ฏ7ๆœˆ17ๆ—ฅ', trigger: 'match_keys(context.messages, ["็”Ÿๆ—ฅ", "birthday"], "any")', createdContext: 'ๆต‹่ฏ•ไธŠไธ‹ๆ–‡' }); if (addResult.success) { console.log('โœ“ Long-term memory added'); } else { throw new Error(addResult.error); } // Test trigger activation const context = { messages: [ { role: 'user', content: 'ๆˆ‘็š„็”Ÿๆ—ฅๆ˜ฏไป€ไนˆๆ—ถๅ€™๏ผŸ' } ], conversation_id: 'test', participants: {} }; const searchResults = await ltManager.searchAndActivateMemories(context); console.log('โœ“ Trigger evaluation complete, activated:', searchResults.activated.length); // List memories const names = ltManager.listMemoryNames(); console.log('โœ“ Memory list retrieved:', names.length, 'memories'); } catch (error) { console.error('โœ— Failed:', error.message); } // Test 5: Storage operations console.log('\nTest 5: Storage Operations'); try { const storage = new StorageManager('test-storage'); // Test paths const stPath = storage.getShortTermPath(); const ltPath = storage.getLongTermPath(); console.log('โœ“ Storage paths generated'); console.log(' Short-term:', stPath); console.log(' Long-term:', ltPath); } catch (error) { console.error('โœ— Failed:', error.message); } // Test 6: Context snapshot console.log('\nTest 6: Context Snapshot'); try { const messages = [ { role: 'user', content: 'ไฝ ๅฅฝ', name: 'User' }, { role: 'assistant', content: 'ไฝ ๅฅฝ๏ผ', name: 'Assistant' } ]; const snapshot = createContextSnapshot(messages); console.log('โœ“ Context snapshot created'); console.log(' Preview:', snapshot.substring(0, 50) + '...'); } catch (error) { console.error('โœ— Failed:', error.message); } console.log('\nโœ… Basic functionality tests complete!\n'); console.log('Next steps:'); console.log('1. Run: npm install'); console.log('2. Configure MCP client (see example-config.json)'); console.log('3. Test with actual MCP client (see TESTING.md)');

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/win10ogod/memory-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server