jpskill.com
🛠️ 開発・MCP コミュニティ

supermemory

Supermemory APIを活用し、AIアシスタントにユーザー情報を記憶させたり、チャットボットに長期記憶を持たせたり、会話履歴を保存してAI製品をパーソナライズするなど、AIに永続的な記憶を持たせることで、より賢く、より使いやすくするSkill。

📜 元の英語説明(参考)

Add persistent memory to AI agents using Supermemory API -- the #1 ranked AI memory engine. Use when: building AI assistants that remember users, adding long-term memory to chatbots, creating personalized AI products, storing conversation context across sessions.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Supermemory APIを活用し、AIアシスタントにユーザー情報を記憶させたり、チャットボットに長期記憶を持たせたり、会話履歴を保存してAI製品をパーソナライズするなど、AIに永続的な記憶を持たせることで、より賢く、より使いやすくするSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o supermemory.zip https://jpskill.com/download/15432.zip && unzip -o supermemory.zip && rm supermemory.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15432.zip -OutFile "$d\supermemory.zip"; Expand-Archive "$d\supermemory.zip" -DestinationPath $d -Force; ri "$d\supermemory.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して supermemory.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → supermemory フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Supermemory

概要

Supermemory は AI 向けのメモリおよびコンテキストレイヤーであり、LongMemEval、LoCoMo、ConvoMem のベンチマークで第1位を獲得しています。会話から自動的に事実を抽出し、約50msの検索でユーザープロファイルを維持し、時間的な変化や矛盾を処理し、適切なタイミングで適切なコンテキストを提供します。ハイブリッド検索 (RAG + メモリ)、コネクタ (Google Drive、Gmail、Notion、GitHub)、およびマルチモーダル入力 (PDF、画像、動画、コード) をサポートします。

指示

インストール

npm install supermemory
# または
pip install supermemory

https://console.supermemory.ai で API キーを取得してください。

コアメモリ操作

import Supermemory from "supermemory";

const client = new Supermemory({ apiKey: process.env.SUPERMEMORY_API_KEY });

// メモリの追加
const memory = await client.memories.add({
  content: "User prefers dark mode and uses TypeScript exclusively",
  userId: "user_123",
  metadata: { source: "conversation", timestamp: new Date().toISOString() },
});

// メモリの検索
const results = await client.memories.search({
  query: "user preferences",
  userId: "user_123",
  limit: 5,
});

// メモリの削除
await client.memories.delete(memory.id);

ユーザープロファイル (自動維持)

const profile = await client.users.getProfile("user_123");
// 戻り値: { stable_facts, recent_activity, preferences }

AI 会話へのメモリの追加

  1. 各応答の前に、関連するメモリを取得します。
  2. システムプロンプトにメモリコンテキストを含めます。
  3. 各会話のターンから新しい情報を保存します。
async function chatWithMemory(userId: string, userMessage: string) {
  const memories = await client.memories.search({
    query: userMessage, userId, limit: 5,
  });

  const memoryContext = memories.results.map(m => `- ${m.content}`).join("\n");

  const response = await claude.messages.create({
    model: "claude-opus-4-5",
    max_tokens: 1024,
    system: `You know this about the user:\n${memoryContext}`,
    messages: [{ role: "user", content: userMessage }],
  });

  await client.memories.add({
    content: `User said: "${userMessage}"`,
    userId,
  });

  return response.content[0].text;
}

Python の使用法

from supermemory import Supermemory

client = Supermemory(api_key="your_api_key")

client.memories.add(
    content="User is building a B2B SaaS targeting HR teams",
    user_id="user_123",
)

results = client.memories.search(query="what is the user building", user_id="user_123", limit=3)
for r in results.results:
    print(f"[{r.score:.2f}] {r.content}")

コネクタ (外部ソースの自動同期)

await client.connectors.connect({
  type: "google_drive",
  userId: "user_123",
  credentials: { access_token: googleAccessToken },
});

// Drive ドキュメント + メモリ全体を一緒に検索
const results = await client.memories.search({
  query: "project requirements",
  userId: "user_123",
  includeConnectors: true,
});

MCP 統合 (Claude Desktop)

claude_desktop_config.json に以下を追加します。

{
  "mcpServers": {
    "supermemory": {
      "command": "npx",
      "args": ["-y", "supermemory-mcp"],
      "env": { "SUPERMEMORY_API_KEY": "your_api_key" }
    }
  }
}

例 1: メモリ付きのパーソナル AI アシスタント

セッション間でユーザーの好みを記憶するチャットボットを構築します。

  1. 最初の会話で、ユーザーはフィンテックで働いており、Python を好み、決済 API を構築していると述べます。
  2. client.memories.add({ content: "Works in fintech, prefers Python, building payment API", userId }) がこれを保存します。
  3. 次のセッションで、ユーザーが「エラー処理を手伝って」と尋ねると、検索によってそのコンテキストが返されます。
  4. システムプロンプトには、「ユーザーはフィンテックで働いており、Python を好み、決済 API を構築しています」と含まれます。
  5. 応答は調整されます。一般的なコードではなく、決済処理に特化した Python のエラー処理の例です。
  6. プロファイルが自動的に更新されます。{ stable_facts: ["Works in fintech", "Prefers Python"], recent_activity: ["Building payment API"] }

例 2: コネクタ同期によるナレッジベース

チームの Google Drive を同期し、誰でもすべてのドキュメントと会話履歴を検索できるようにします。

  1. Google Drive を接続します。client.connectors.connect({ type: "google_drive", userId: "team_shared" })
  2. Supermemory はすべての Drive ドキュメントを自動的にインデックス化します。
  3. チームメンバーが「価格モデルについて何を決めたか?」と尋ねます。
  4. includeConnectors: true を指定して検索すると、Drive の価格ドキュメントと、CEO が「使用量ベースにしましょう」と言った以前の会話からのメモリの両方が返されます。
  5. 応答は両方のソースを統合します。「価格ドキュメントには3つの階層が概説されており、前回のディスカッションでチームは使用量ベースの価格設定に決定しました。」

ガイドライン

  • 複数ユーザーアプリケーションの場合は、常にメモリを userId にスコープしてください。
  • トレーサビリティのために、metadata を使用して、ソースとタイムスタンプでメモリにタグを付けます。
  • 重複するメモリを避けるために、追加する前に検索してください。Supermemory は矛盾を処理しますが、重複はクォータを浪費します。
  • ノイズなしで最適なコンテキストを得るには、クエリごとに 3〜5 個のメモリを取得します。
  • ユーザープロファイルは自動的に維持されるため、手動で構築する必要はありません。
  • 無料プラン: 1,000 メモリ、100 検索/日。Pro: 100,000 メモリ、無制限検索で月額 20 ドル。
  • API キーは環境変数に保持し、ハードコードしないでください。
  • コネクタは初期設定後に自動的に同期されます。ポーリングは不要です。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Supermemory

Overview

Supermemory is the memory and context layer for AI -- ranked #1 on LongMemEval, LoCoMo, and ConvoMem benchmarks. It automatically extracts facts from conversations, maintains user profiles with ~50ms retrieval, handles temporal changes and contradictions, and delivers the right context at the right time. Supports hybrid search (RAG + memory), connectors (Google Drive, Gmail, Notion, GitHub), and multi-modal input (PDFs, images, videos, code).

Instructions

Installation

npm install supermemory
# or
pip install supermemory

Get an API key at https://console.supermemory.ai

Core Memory Operations

import Supermemory from "supermemory";

const client = new Supermemory({ apiKey: process.env.SUPERMEMORY_API_KEY });

// Add a memory
const memory = await client.memories.add({
  content: "User prefers dark mode and uses TypeScript exclusively",
  userId: "user_123",
  metadata: { source: "conversation", timestamp: new Date().toISOString() },
});

// Search memories
const results = await client.memories.search({
  query: "user preferences",
  userId: "user_123",
  limit: 5,
});

// Delete a memory
await client.memories.delete(memory.id);

User Profiles (Auto-maintained)

const profile = await client.users.getProfile("user_123");
// Returns: { stable_facts, recent_activity, preferences }

Adding Memory to AI Conversations

  1. Retrieve relevant memories before each response
  2. Include memory context in the system prompt
  3. Store new information from each conversation turn
async function chatWithMemory(userId: string, userMessage: string) {
  const memories = await client.memories.search({
    query: userMessage, userId, limit: 5,
  });

  const memoryContext = memories.results.map(m => `- ${m.content}`).join("\n");

  const response = await claude.messages.create({
    model: "claude-opus-4-5",
    max_tokens: 1024,
    system: `You know this about the user:\n${memoryContext}`,
    messages: [{ role: "user", content: userMessage }],
  });

  await client.memories.add({
    content: `User said: "${userMessage}"`,
    userId,
  });

  return response.content[0].text;
}

Python Usage

from supermemory import Supermemory

client = Supermemory(api_key="your_api_key")

client.memories.add(
    content="User is building a B2B SaaS targeting HR teams",
    user_id="user_123",
)

results = client.memories.search(query="what is the user building", user_id="user_123", limit=3)
for r in results.results:
    print(f"[{r.score:.2f}] {r.content}")

Connectors (Auto-sync External Sources)

await client.connectors.connect({
  type: "google_drive",
  userId: "user_123",
  credentials: { access_token: googleAccessToken },
});

// Search across Drive docs + memories together
const results = await client.memories.search({
  query: "project requirements",
  userId: "user_123",
  includeConnectors: true,
});

MCP Integration (Claude Desktop)

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "supermemory": {
      "command": "npx",
      "args": ["-y", "supermemory-mcp"],
      "env": { "SUPERMEMORY_API_KEY": "your_api_key" }
    }
  }
}

Examples

Example 1: Personal AI Assistant with Memory

Build a chatbot that remembers user preferences across sessions:

  1. On first conversation: user mentions they work in fintech, prefer Python, and are building a payment API
  2. client.memories.add({ content: "Works in fintech, prefers Python, building payment API", userId }) stores this
  3. Next session, user asks "help me with error handling" -- search returns their context
  4. System prompt includes: "User works in fintech, prefers Python, is building a payment API"
  5. Response is tailored: Python error handling examples specific to payment processing, not generic code
  6. Profile auto-updates: { stable_facts: ["Works in fintech", "Prefers Python"], recent_activity: ["Building payment API"] }

Example 2: Knowledge Base with Connector Sync

Sync a team's Google Drive and let anyone search across all documents plus conversation history:

  1. Connect Google Drive: client.connectors.connect({ type: "google_drive", userId: "team_shared" })
  2. Supermemory indexes all Drive documents automatically
  3. Team member asks: "What did we decide about the pricing model?"
  4. Search with includeConnectors: true returns both the pricing doc from Drive and a memory from a previous conversation where the CEO said "let us go with usage-based"
  5. Response synthesizes both sources: "The pricing doc outlines three tiers, and in your last discussion the team decided on usage-based pricing"

Guidelines

  • Always scope memories to a userId for multi-user applications
  • Use metadata to tag memories with source and timestamp for traceability
  • Search before adding to avoid duplicate memories -- Supermemory handles contradictions but duplicates waste quota
  • Retrieve 3-5 memories per query for optimal context without noise
  • User profiles are auto-maintained -- no need to manually build them
  • Free tier: 1,000 memories, 100 searches/day. Pro: $20/month for 100k memories, unlimited search
  • Keep API keys in environment variables, never hardcode them
  • Connectors sync automatically after initial setup -- no polling required