MemoryPlugin

Give every AI you use one shared, permanent memory. Store once, recall in whichever AI you open.

我該用這個嗎

品質與安全性

A
說明品質
99%
結構描述完整度
88%
命名品質
96%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,025Token(工具定義)
~1.1 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.36%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "memory": {
      "url": "https://www.memoryplugin.com/api/mcp/mcp"
    }
  }
}

遠端端點

https://www.memoryplugin.com/api/mcp/mcpstreamable-http
https://www.memoryplugin.com/api/mcp/ssesse

它能做什麼

工具清單

工具(14)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟡store_memory(text, bucketId)

Save information to the user's MemoryPlugin account. MemoryPlugin lets users build persistent memory across AI conversations. WHEN TO USE: Proactively save anything that might be useful for future context - preferences, decisions, project details, personal info, insights, or anything the user might want recalled later. Err on the side of saving. Ask the user which bucket to save to if unclear. Buckets are organizational folders (e.g., 'Work', 'Personal', 'Health').

輸入結構描述

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "The memory text to store"
    },
    "bucketId": {
      "type": "number",
      "description": "Optional bucket ID to store the memory in"
    }
  },
  "required": [
    "text"
  ]
}
🟢list_buckets

List the user's memory buckets. Buckets are organizational folders for memories (e.g., 'Work', 'Personal', 'Health').

輸入結構描述

{
  "type": "object",
  "properties": {}
}
🟡create_bucket(name)

Create a new bucket to organize memories. Buckets are folders like 'Work', 'Personal', 'Health'. Ask the user for a name if not specified.

輸入結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name for the new bucket"
    }
  },
  "required": [
    "name"
  ]
}
🟢get_memories_and_buckets(bucketId, count, all, latest, query)

Retrieve the user's saved memories from MemoryPlugin, optionally filtered by bucket. Also returns the list of available buckets. Use to see what the user has previously saved. Consider using at conversation start if the user's query might benefit from their stored context.

輸入結構描述

{
  "type": "object",
  "properties": {
    "bucketId": {
      "type": "number",
      "description": "Optional bucket ID to filter memories"
    },
    "count": {
      "type": "number",
      "description": "Number of memories to retrieve (default: 10)"
    },
    "all": {
      "type": "boolean",
      "description": "Whether to fetch all memories"
    },
    "latest": {
      "type": "boolean",
      "description": "Whether to fetch only latest memories"
    },
    "query": {
      "type": "string",
      "description": "Optional search query"
    }
  }
}
🟢list_bucket_categories(bucketId)

List AI-generated categories within a bucket. When users activate Smart Memory, their memories are automatically organized into topic-based categories. Returns for each category: - name: Category title - summary: Dense overview of core facts, preferences, current projects, key context (~200 words) - additionalInfo: Lists specific topics available in this category and suggests when to load the full memories - memoryCount: Number of memories in category Also returns recentMemories: the 30 most recent memories in the bucket. Use the summary and additionalInfo to decide if/when to load full memories via list_category_memories.

輸入結構描述

{
  "type": "object",
  "properties": {
    "bucketId": {
      "type": "string",
      "description": "Bucket ID to get categories for"
    }
  },
  "required": [
    "bucketId"
  ]
}
🟢list_category_memories(bucketId, categoryId, limit)

Get all memories within a specific Smart Memory category. Use when a category's summary (from list_bucket_categories) indicates it's relevant to the current conversation. The categoryId persists across conversations.

輸入結構描述

{
  "type": "object",
  "properties": {
    "bucketId": {
      "type": "string",
      "description": "Bucket ID containing the category"
    },
    "categoryId": {
      "type": "string",
      "description": "Category ID to get memories from"
    },
    "limit": {
      "type": "number",
      "description": "Number of memories to retrieve (default: 20)"
    }
  },
  "required": [
    "bucketId",
    "categoryId"
  ]
}
🟢search_memories(query, bucketId, limit)

Search the user's saved memories using hybrid semantic + keyword search. Returns matching memories ranked by relevance. MemoryPlugin stores memories the user wants to persist across AI conversations. Use when looking for specific saved information.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query"
    },
    "bucketId": {
      "type": "string",
      "description": "Optional bucket ID to limit search scope"
    },
    "limit": {
      "type": "number",
      "description": "Number of memories to retrieve (default: 10)"
    }
  },
  "required": [
    "query"
  ]
}
🟢search_uploaded_files(query, bucketId, topK)

Search documents the user has uploaded to their MemoryPlugin document library (not files uploaded directly to this conversation). MemoryPlugin file buckets store documents persistently across all AI chats. Returns relevant text passages with source file and page info. Use when: - User explicitly mentions their MemoryPlugin documents - User asks about "my files" or "my documents" and there are no files in the current conversation - If unsure whether they mean MemoryPlugin files or conversation files, ask to clarify

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query text"
    },
    "bucketId": {
      "type": "number",
      "description": "Optional file bucket ID to limit search scope"
    },
    "topK": {
      "type": "number",
      "description": "Number of results to return (default: 5, max: 20)"
    }
  },
  "required": [
    "query"
  ]
}
🟢get_conversation_summary(conversationId)

Get details of a specific past conversation. For short conversations (<5K tokens), returns the full transcript. For longer conversations, returns an AI-generated summary. Use when the user wants to dive deeper into a conversation returned by recall_chat_history. Requires the conversationId from that tool's sources array.

輸入結構描述

{
  "type": "object",
  "properties": {
    "conversationId": {
      "type": "string",
      "description": "Conversation ID from the recall_chat_history sources array"
    }
  },
  "required": [
    "conversationId"
  ]
}
🟢get_full_conversation(conversationId)

Get the complete transcript of a specific past conversation. Returns all messages in the conversation without summarization. Use when you need the raw conversation content. Requires the conversationId from recall_chat_history's sources array.

輸入結構描述

{
  "type": "object",
  "properties": {
    "conversationId": {
      "type": "string",
      "description": "Conversation ID from the recall_chat_history sources array"
    }
  },
  "required": [
    "conversationId"
  ]
}
🟢export_conversation(conversationId)

Download the complete transcript of a past conversation as a machine-readable JSON file. Returns a temporary download URL (expires in 15 minutes, no auth needed) that you fetch yourself to get the full conversation as structured messages (role, content, timestamp). Use when a transcript is too long to read inline, or when you need it as a file for analysis or scripting. To read a short transcript directly, use get_full_conversation instead. Requires the conversationId from recall_chat_history's sources array.

輸入結構描述

{
  "type": "object",
  "properties": {
    "conversationId": {
      "type": "string",
      "description": "Conversation ID from the recall_chat_history sources array"
    }
  },
  "required": [
    "conversationId"
  ]
}
🟢recall_chat_history(query, maxTokens, platform, conversationContext, conversationHistory, ...)

Search and synthesize context from the user's past AI conversations. MemoryPlugin's Chat History feature syncs conversations from ChatGPT, Claude, and other platforms, making them searchable. Also known as the 'MemoryPlugin inject tool' or 'memoryplugin chat history tool'. WHEN TO USE: When the user asks about their past decisions, patterns, preferences, relationships, projects, or anything where their conversation history provides valuable personal context. Consider proactively suggesting this when the user's question could benefit from their history. HOW TO USE: - For simple lookups: a single query is fine - For complex/multifaceted topics: use parallel queries (via 'queries' array) approaching from different angles - timeline, emotions, people, decisions, outcomes, etc. - Set maxTokens per query (300-1000) to control how much context is returned. More tokens = richer detail but consumes more conversation window. - Use 'before'/'after' (ISO 8601 dates like "2025-01-15" or "2025-01-15T10:30:00Z") to constrain results to a date range. Bare dates are interpreted in UTC and are inclusive on both ends. - Use 'mode: "quality"' for slower but more thorough recall on hard or ambiguous queries; defaults to 'speed'. - If unclear how much context to fetch, ask the user. Returns synthesized summaries (not raw conversation logs) with source metadata for citations.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Natural-language description of what the assistant is currently helping with."
    },
    "maxTokens": {
      "type": "number",
      "description": "Maximum tokens to allocate for injected context (defaults to 600, hard cap 2000)."
    },
    "platform": {
      "type": "string",
      "enum": [
        "claude",
        "chatgpt",
        "typingmind"
      ],
      "description": "Optional hint about the downstream chat platform."
    },
    "conversationContext": {
      "type": "string",
      "description": "Short plaintext summary of the immediate conversation exchange."
    },
    "conversationHistory": {
      "type": "array",
      "description": "Ordered list of recent dialogue turns to ground retrieval.",
      "items": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string",
            "enum": [
              "user",
              "assistant"
            ]
          },
          "content": {
            "type": "string"
          }
        },
        "required": [
          "role",
          "content"
        ]
      }
    },
    "before": {
      "type": "string",
      "description": "Optional ISO 8601 date upper bound (inclusive). Bare dates like \"2025-01-15\" mean end-of-day UTC."
    },
    "after": {
      "type": "string",
      "description": "Optional ISO 8601 date lower bound (inclusive). Bare dates like \"2025-01-15\" mean start-of-day UTC."
    },
    "mode": {
      "type": "string",
      "enum": [
        "speed",
        "quality"
      ],
      "description": "Retrieval mode. 'speed' (default) uses the fast path. 'quality' uses GPT-OSS planning, temporal exploration, and DeepSeek evidence judgment for more thorough recall at higher latency."
    },
    "queries": {
      "type": "array",
      "description": "Array of query objects to process in parallel (max 15).",
      "items": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "The search query for this parallel request."
          },
          "maxTokens": {
            "type": "number",
            "description": "Maximum tokens for this query (defaults to 600)."
          },
          "platform": {
            "type": "string",
            "enum": [
              "claude",
              "chatgpt",
              "typingmind"
            ],
            "description": "Optional hint about the downstream chat platform."
          },
          "conversationContext": {
            "type": "string",
            "description": "Short plaintext summary of the immediate conversation exchange."
          },
          "conversationHistory": {
            "type": "array",
            "description": "Ordered list of recent dialogue turns to ground retrieval.",
            "items": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "enum": [
                    "user",
                    "assistant"
                  ]
                },
                "content": {
                  "type": "string"
                }
              },
              "required": [
                "role",
                "content"
              ]
            }
          },
          "before": {
            "type": "string",
            "description": "Per-query override; same semantics as top-level `before`."
          },
          "after": {
            "type": "string",
            "description": "Per-query override; same semantics as top-level `after`."
          },
          "mode": {
            "type": "string",
            "enum": [
              "speed",
              "quality"
            ],
            "description": "Per-query override for retrieval mode."
          }
        },
        "required": [
          "query"
        ]
      }
    }
  }
}
🔴update_or_move_memories(memoryId, memoryIds, text, bucketId, bucketName)

Edit a single memory's text or bucket, or move multiple memories to a different bucket. WHEN TO USE: When the user wants to correct, update, or reorganize their saved memories. Single memory: provide memoryId with optional text and/or bucketId/bucketName. Bulk move: provide memoryIds array with bucketId or bucketName. Bucket can be specified by ID (number) or name (string). If a name is given and no bucket exists with that name, one is created automatically.

輸入結構描述

{
  "type": "object",
  "properties": {
    "memoryId": {
      "type": "string",
      "description": "Encoded memory ID for single edit/move"
    },
    "memoryIds": {
      "type": "array",
      "description": "Array of encoded memory IDs for bulk move (max 100)",
      "items": {
        "type": "string"
      }
    },
    "text": {
      "type": "string",
      "description": "New text content (single memory only)"
    },
    "bucketId": {
      "type": "number",
      "description": "Target bucket ID"
    },
    "bucketName": {
      "type": "string",
      "description": "Target bucket name (auto-creates if missing)"
    }
  }
}
🟢chat_history_overview

Returns an AI-generated overview of the user, built from the chat history they have synced into their MemoryPlugin account. Call it at the start of a conversation to load the user's context. If no overview exists yet, the user can generate one from their MemoryPlugin dashboard.

輸入結構描述

{
  "type": "object",
  "properties": {}
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本14 個工具
觀測失敗未記錄版本—
已驗證未記錄版本14 個工具