Skip to main content
Glama

neuroverse_recall

Retrieve stored memories from NeuroVerse's tiered memory system using user ID, intent filters, tier selection, or semantic queries to access relevant information.

Instructions

Retrieve memories from NeuroVerse's tiered memory system.

Args:

  • user_id (string): Agent / user identifier

  • intent (string, optional): Filter by intent

  • tier (string, optional): Filter by tier

  • semantic_query (string, optional): Search constraint for vector engine

  • limit (number): Max results (1–100, default 10)

Returns: JSON array of matching MemoryRecords

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_idYesAgent / user identifier
intentNoFilter by intent
tierNoFilter by tier
semantic_queryNoQuery for semantic retrieval reranking
limitNoMax results

Implementation Reference

  • The core implementation of the memory retrieval logic used by the neuroverse_recall tool.
    export async function recallMemory(query: MemoryQuery): Promise<MemoryRecord[]> {
      const results: MemoryRecord[] = [];
    
      // Check short-term
      const stRecords = shortTerm.get(query.userId) ?? [];
      for (const r of stRecords) {
        if (query.tier && r.tier !== query.tier) continue;
        if (query.intent && r.intent !== query.intent) continue;
        results.push(r);
      }
    
      // Check persistent
      if (!query.tier || query.tier !== "short_term") {
        const persistent = loadPersistent();
        for (const r of persistent) {
          if (r.userId !== query.userId) continue;
          if (query.tier && r.tier !== query.tier) continue;
          if (query.intent && r.intent !== query.intent) continue;
          results.push(r);
        }
      }
    
      // Apply Semantic Search if requested
      if (query.semanticQuery && results.length > 0) {
        const qVector = await generateEmbedding(query.semanticQuery);
        if (qVector) {
          results.sort((a, b) => {
  • Tool registration and handler wrapper for neuroverse_recall.
    server.registerTool(
      "neuroverse_recall",
      {
        title: "Recall Memory",
        description: `Retrieve memories from NeuroVerse's tiered memory system.
    
    Args:
      - user_id (string): Agent / user identifier
      - intent (string, optional): Filter by intent
      - tier (string, optional): Filter by tier
      - semantic_query (string, optional): Search constraint for vector engine
      - limit (number): Max results (1–100, default 10)
    
    Returns:
      JSON array of matching MemoryRecords`,
        inputSchema: RecallMemorySchema,
        annotations: {
          readOnlyHint: true,
          destructiveHint: false,
          idempotentHint: true,
          openWorldHint: false,
        },
      },
      async (params) => {
        const results = await recallMemory({
          userId: params.user_id,
          intent: params.intent,
          tier: params.tier as MemoryTier | undefined,
          semanticQuery: params.semantic_query,
          limit: params.limit,
        });
  • Input validation schema for neuroverse_recall.
    const RecallMemorySchema = z
      .object({
        user_id: z.string().min(1).describe("Agent / user identifier"),
        intent: z.string().optional().describe("Filter by intent"),
        tier: z
          .enum(["short_term", "episodic", "semantic"])
          .optional()
          .describe("Filter by tier"),
        semantic_query: z.string().optional().describe("Query for semantic retrieval reranking"),
        limit: z.number().int().min(1).max(100).default(10).describe("Max results"),
      })
      .strict();

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/joshua400/neuroverse'

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