Skip to main content
Glama

search_memories

Search stored memories by content or category to retrieve relevant information from your AI assistant's knowledge base.

Instructions

find|search|look for|query memories - Search memories by content

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
categoryNoCategory to search in

Implementation Reference

  • The main execution handler for the search_memories tool. It uses MemoryManager to search memories by query, optionally filters by category, formats the results as a bulleted list, and returns a ToolResult with the findings or error.
    export async function searchMemoriesHandler(args: { query: string; category?: string }): Promise<ToolResult> {
      const { query, category } = args;
    
      try {
        const mm = MemoryManager.getInstance();
        let results = mm.search(query);
    
        // Filter by category if specified
        if (category) {
          results = results.filter(m => m.category === category);
        }
    
        const resultList = results.map(m =>
          `• ${m.key} (${m.category}): ${m.value.substring(0, 100)}${m.value.length > 100 ? '...' : ''}`
        ).join('\n');
    
        const categoryInfo = category ? ` in category "${category}"` : '';
        return {
          content: [{
            type: 'text',
            text: `✓ Found ${results.length} matches for "${query}"${categoryInfo}:\n${resultList || 'None'}`
          }]
        };
      } catch (error) {
        return {
          content: [{ type: 'text', text: `✗ Error: ${error instanceof Error ? error.message : 'Unknown error'}` }]
        };
      }
    }
  • The ToolDefinition object defining the tool's name, description, input schema (requiring 'query' string, optional 'category'), and annotations.
    export const searchMemoriesDefinition: ToolDefinition = {
      name: 'search_memories',
      description: 'find|search|look for|query memories - Search memories by content',
      inputSchema: {
        type: 'object',
        properties: {
          query: { type: 'string', description: 'Search query' },
          category: { type: 'string', description: 'Category to search in' }
        },
        required: ['query']
      },
      annotations: {
        title: 'Search Memories',
        audience: ['user', 'assistant']
      }
    };
  • src/index.ts:124-134 (registration)
    Registration of searchMemoriesDefinition in the main tools array, which is used by the MCP server's listTools handler with pagination support.
    // Memory Management Tools
    saveMemoryDefinition,
    recallMemoryDefinition,
    listMemoriesDefinition,
    deleteMemoryDefinition,
    searchMemoriesDefinition,
    updateMemoryDefinition,
    autoSaveContextDefinition,
    restoreSessionContextDefinition,
    prioritizeMemoryDefinition,
    startSessionDefinition,
  • src/index.ts:644-645 (registration)
    Dispatch case in the central executeToolCall switch statement that routes calls to the searchMemoriesHandler.
    case 'search_memories':
      return await searchMemoriesHandler(args as any) as CallToolResult;
  • src/index.ts:66-66 (registration)
    Import statement bringing in the tool definition and handler from the implementation file.
    import { searchMemoriesDefinition, searchMemoriesHandler } from './tools/memory/searchMemories.js';

Latest Blog Posts

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/ssdeanx/ssd-ai'

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