mcpField
A
Aimemo

Aimemo

ローカル
github.com/MyAgentHubsメモリ・ナレッジ136 週間前に更新

Aimemo について

Aimemoは、AIエージェント向けのローカル優先MCPメモリーサーバーです。依存関係のない単一のGoバイナリで配布され、`.aimemo/`にプロジェクトの文脈を保存し、検索順位付けとCLI管理を提供します。

主な機能

  1. 01プロジェクト内のSQLiteメモリー
  2. 02順位付けされた全文検索
  3. 03メモリーの保存・関連付け・削除
  4. 04CLIによる確認と編集
  5. 05Markdown・JSONのインポートとエクスポート
  6. 06スキルごとの独立したコンテキスト

活用シーン

  1. 01コーディングセッション間でプロジェクトの文脈を維持
  2. 02過去の判断や障害要因の再確認
  3. 03OpenClawのスキルごとのメモリー分離
  4. 04ターミナルからエージェントの記憶を確認・出力

MCP 対応

stdio MCPサーバーとして動作し、記憶の読み込み、保存、検索、削除、関連付けのツールを提供します。MCP対応クライアントはローカルプロセスとして管理でき、`aimemo` CLIからも同じデータを操作できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

aimemo

Go 1.22+ License: MIT Release

English | 中文

AI エージェント向けの依存関係ゼロの MCP メモリサーバー — 永続的で検索可能、ローカルファーストのシングルバイナリです。

$ claude "let's keep working on the payment service"

  ╭─ memory_context ──────────────────────────────────────────────────╮
  │ [project: payment-service]                                        │
  │                                                                   │
  │ Last session (3 days ago):                                        │
  │  • Stripe webhook signature verification — DONE                   │
  │  • Idempotency key refactor — IN PROGRESS                         │
  │  • Blocked: race condition in concurrent refund handler           │
  │                                                                   │
  │ Related: Redis connection pool, pkg/payments/refund.go            │
  ╰───────────────────────────────────────────────────────────────────╯

  Picking up where we left off. The race condition in the refund
  handler looks like a missing mutex around the in-flight map.
  Let me check pkg/payments/refund.go ...

  [... Claude works through the fix ...]

  ╭─ memory_store (journal) ──────────────────────────────────────────╮
  │ Resolved refund race — added sync.Mutex around inFlightRefunds.   │
  │ Tests passing. Next: load test with k6 at 500 rps.               │
  ╰───────────────────────────────────────────────────────────────────╯

🧠 aimemo を選ぶ理由

  • 面倒なインフラ管理は不要です。 Go のシングルバイナリです。Docker、Node.js ランタイム、クラウドアカウント、API キーは不要です。brew install で 30 秒で導入できます。
  • メモリはプロジェクトと一緒に保管されます。 コードの隣にある .aimemo/ に保存されます。git にコミットすることも、.gitignore に追加することもできます。ブランチを切り替えても、メモリはディレクトリに付いてきます。
  • Claude は中断したところから正確に再開できます。 memory_context が各セッション開始時に自動的に実行されます。Claude は、何をしていたか、何がブロックされていたか、どのような決定がなされたかを確認できます。同じ説明を繰り返す必要がなくなります。
  • 適切な順位付けを行う全文検索です。 FTS5 と BM25 のスコアリングを、情報の新しさとアクセス頻度で重み付けします。関連性の高いメモリが先に表示され、古い情報は自然に目立たなくなります。
  • 複数のセッションを同時に実行しても、破損しません。 SQLite の WAL モードにより、複数の Claude ウィンドウが互いをロックせずに同時に書き込めます。
  • 主導権は常にあなたにあります。 Claude が使えるすべてのツールを、ターミナルからも利用できます。確認、編集、取り消し、エクスポートが可能です。メモリは読みやすい Markdown または JSON 形式で保存され、独自形式に閉じ込められることはありません。

⚡ クイックスタート

# 1. Install
# Linux/macOS (one-line install):
curl -sSL https://raw.githubusercontent.com/MyAgentHubs/aimemo/main/install.sh | bash

# Or macOS via Homebrew:
brew install MyAgentHubs/tap/aimemo

# 2. Initialize memory for your project (run from project root)
aimemo init

# 3. Register with Claude Code
claude mcp add-json aimemo-memory '{"command":"aimemo","args":["serve"]}'

Claude Code を再起動してください。次のセッションで、Claude はプロジェクトのコンテキストを自動的に読み込みます。

OpenClaw のクイックスタート

OpenClaw スキルを使用している場合は、スキルごとにメモリを分離する方法について、以下のOpenClaw との連携セクションをご覧ください。

🔧 仕組み

aimemo serve は stdio MCP サーバーとして実行されます。プロセスのライフサイクルは Claude Code が管理するため、自分でプロセスを起動し続ける必要はありません。Claude はセッション開始時に memory_context を呼び出して関連する以前のコンテキストを読み込み、作業中には memory_store と memory_link を呼び出して決定事項や関連性を記録します。ターミナルからいつでも aimemo search、aimemo list、aimemo get を呼び出して、同じデータを読み取ったり編集したりできます。すべてのデータは .aimemo/ 内の SQLite データベースに保存され、現在のディレクトリから上位へたどって検索されます。Git が .git/ を見つけるのと同じ方法です。

🛠 MCP ツール

ツール説明Claude が呼び出すタイミング
memory_context現在のプロジェクトに関する、順位付けされた最近の記録を返しますセッション開始時 — 自動
memory_store記録(事実、決定事項、日誌、TODO)を保存しますタスクの完了後、または決定を行った後
memory_searchすべての記録を対象に全文検索し、BM25 で順位付けします特定の情報を思い出す必要があるとき
memory_forgetID を指定して記録を論理削除します情報を破棄するよう指示されたとき
memory_link2 つの記録の間に名前付きの関連性を作成します依存関係やつながりを特定したとき

すべてのツールスキーマを合わせても 2,000 トークン未満です。各呼び出しには 5 秒の厳格なタイムアウトが設定されており、サーバーがセッションを停滞させることはありません。データがない状態でのクエリは 5 ms 未満で返されます。

📋 CLI リファレンス

セットアップ
コマンド説明
aimemo init現在のディレクトリに .aimemo/ を作成します
aimemo serveMCP stdio サーバーを起動します(Claude Code が自動的に呼び出します)
aimemo doctorDB の健全性、FTS5 のサポート、WAL モード、MCP の登録を検証します
Memory
コマンド説明
aimemo add <name> <type> [observations...] [--tag]1 つ以上の観察事項を含むエンティティを追加します
aimemo observe <entity-name> <observation>既存のエンティティに新しい観察事項を追加します
aimemo retract <entity-name> <observation>エンティティから特定の観察事項を削除します
aimemo forget <entity-name> [--permanent]エンティティを論理削除します(復元可能)。完全に削除するには --permanent を使用します
aimemo search <query>関連度順の結果を返す全文検索を行います
aimemo get <entity-name>すべての観察事項と関連を含むエンティティを表示します
aimemo link <from> <relation> <to>2 つのエンティティ間に型付きの関連を作成します
aimemo append <entity-name> <observation>エンティティに観察事項を追加します(observe の別名)
Journal
コマンド説明
aimemo journal対話形式の日誌エントリを開きます($EDITOR に従います)
aimemo journal <text>インラインで簡単な日誌エントリを記録します
Inspect & Export
コマンド説明
aimemo list最近の観察事項を一覧表示します
aimemo tags使用中のすべてのタグを一覧表示します
aimemo statsDB サイズ、観察事項の数、最終書き込み時刻を表示します
aimemo export --format mdすべてのメモリを Markdown にエクスポートします
aimemo export --format jsonすべてのメモリを JSON にエクスポートします
aimemo import <file>JSONL または JSON のエクスポートファイルからインポートします

すべてのコマンドで --context <name> を指定すると、名前付きコンテキスト(.aimemo/ 内の別個の .db ファイル)を対象にできます。

⚙️ 設定

~/.aimemo/config.toml — グローバルなデフォルト設定。すべて省略可能です。

[defaults]
context = "main"          # default context name
max_results = 20          # observations returned by memory_context

[scoring]
recency_weight = 0.7      # 0–1, weight of recency vs. access frequency

[server]
timeout_ms = 5000         # hard timeout on every MCP call
log_level = "warn"        # "debug" | "info" | "warn" | "error"

プロジェクトごとの設定は、プロジェクトルートにある .aimemo/config.toml に記述します。キーは同じで、プロジェクトの設定がグローバル設定より優先されます。

🤖 Claude Code との統合

マシンごとに一度だけサーバーを登録します。

claude mcp add-json aimemo-memory '{"command":"aimemo","args":["serve"]}'

Claude がメモリを利用できることと、その使い方を把握できるよう、プロジェクトの CLAUDE.md に以下を追加してください。

## Memory

This project uses aimemo for persistent memory across sessions.

- Call `memory_context` at the start of every session to load prior context.
- Call `memory_store` with `type: journal` before ending a session to record
  what was completed, what is still in progress, and any blockers.
- Use `memory_link` to connect related observations (e.g. a bug to its fix,
  a decision to its rationale).
- Do not store secrets, credentials, or PII.

🦞 OpenClaw との統合

aimemo は、スキルごとのメモリ分離とインフラ不要により、OpenClaw の「すべてを記憶するが、何も理解しない」という問題を解決します。

OpenClaw に aimemo を使う理由

問題:

  • OpenClaw 標準の Markdown メモリは、使うほど性能が低下します
  • スキル間でメモリを共有するため、情報が混在します
  • コンテキストの圧縮によって重要な情報が失われます

解決策:

  • ✅ 依存関係なし — Go の単一バイナリで、Docker/Node.js/データベースは不要です
  • ✅ スキルごとの分離 — 各スキルに専用のメモリデータベースが割り当てられます
  • ✅ 実用的に機能 — BM25 検索と重要度スコアリングで重要な情報を見つけます
  • ✅ ローカル優先 — すべてのデータはマシン上に保持されます

他のソリューションとの比較:

aimemoCogneememsearchSupermemory
依存関係なしNeo4j/KuzuMilvusクラウドサービス
インストール30 秒複雑複雑サインアップが必要
スキルの分離組み込み手動手動該当なし
Linux 対応✅ ネイティブ✅✅該当なし
5 分でセットアップ
# 1. Install (Linux amd64/arm64)
curl -sSL https://raw.githubusercontent.com/MyAgentHubs/aimemo/main/install.sh | bash

# 2. Register MCP server with OpenClaw
claude mcp add-json aimemo-memory '{"command":"aimemo","args":["serve"]}'

# Or add to ~/.openclaw/openclaw.json:
# {
#   "mcpServers": {
#     "aimemo-memory": {
#       "command": "/usr/local/bin/aimemo",
#       "args": ["serve"]
#     }
#   }
# }

# 3. Initialize workspace memory
cd ~/.openclaw/workspace
aimemo init

# 4. Restart OpenClaw Gateway
# Linux: systemctl --user restart openclaw-gateway
# macOS: launchctl stop com.openclaw.gateway && launchctl start com.openclaw.gateway
スキルごとのメモリ分離

context パラメーターを使うと、各スキルに専用のメモリを割り当てられます。

SKILL.md 内:

---
name: my-skill
description: A skill with persistent memory
---

# My Skill

## Instructions

When doing work:

1. **Load memory FIRST**:

memory_context({context: "my-skill"})


2. Do your task with loaded context

3. **Store learnings**:

memory_store({ context: "my-skill", entities: [{ name: "preferences", entityType: "config", observations: ["User prefers snake_case"] }] })


**CRITICAL**: Always pass `context: "my-skill"` to prevent memory pollution.

結果:

~/.openclaw/workspace/.aimemo/
├── memory.db                    # Shared/default (no context)
├── memory-skill-a.db            # Skill A's isolated memory
├── memory-skill-b.db            # Skill B's isolated memory
└── memory-skill-c.db            # Skill C's isolated memory
完全な例

次の examples/openclaw-github-pr-reviewer/ では、以下の機能を備えた、実際に動作するスキルの全体をご覧いただけます。

  • GitHub PR をレビューします
  • コードスタイルの好みを学習します
  • セッションをまたいでパターンを記憶します
  • 改善に役立てるためのフィードバックを保存します
ドキュメント
デバッグ
# List a skill's memory
aimemo list --context my-skill

# Search within a skill
aimemo search "keyword" --context my-skill

# Export for inspection
aimemo export --context my-skill --format json > memory.json

# Get database stats
aimemo stats --context my-skill

🖥 クライアントのサポート

aimemo は、MCP 対応のあらゆる AI コーディングクライアントで動作します。サーバーコマンドは常に aimemo serve です。

PATH に関する注意(macOS/Homebrew): GUI アプリでは、シェルの PATH が引き継がれないことがあります。クライアントが aimemo を見つけられない場合は、代わりに絶対パス /opt/homebrew/bin/aimemo を使用してください。

Claude Code
claude mcp add-json aimemo-memory '{"command":"aimemo","args":["serve"]}'

または、.mcp.json をプロジェクトのルートにコミットしてください(例として、このリポジトリのファイルを参照してください)。

Cursor

プロジェクトローカル(.cursor/mcp.json)またはグローバル(~/.cursor/mcp.json):

{
  "mcpServers": {
    "aimemo-memory": {
      "command": "aimemo",
      "args": ["serve"]
    }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json を編集してください(グローバルのみ):

{
  "mcpServers": {
    "aimemo-memory": {
      "command": "aimemo",
      "args": ["serve"]
    }
  }
}
OpenAI Codex CLI

プロジェクトローカル(.codex/config.toml)またはグローバル(~/.codex/config.toml):

[mcp_servers.aimemo-memory]
command = "aimemo"
args    = ["serve"]
Cline(VS Code)

~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json を編集してください:

{
  "mcpServers": {
    "aimemo-memory": {
      "command": "aimemo",
      "args": ["serve"],
      "disabled": false,
      "alwaysAllow": []
    }
  }
}
Continue(VS Code / JetBrains)

プロジェクトローカル(.continue/mcpServers/aimemo-memory.yaml):

name: aimemo-memory
version: 0.0.1
schema: v1
mcpServers:
  - name: aimemo-memory
    command: aimemo
    args:
      - serve

または、グローバル設定 ~/.continue/config.yaml の mcpServers: キーの下に追加してください。

Zed

~/.zed/settings.json(グローバル)または .zed/settings.json(プロジェクトローカル)で設定します:

{
  "context_servers": {
    "aimemo-memory": {
      "source": "custom",
      "command": "aimemo",
      "args": ["serve"],
      "env": {}
    }
  }
}

🤝 コントリビューション

バグの報告や機能のリクエストは、GitHub Issues からお寄せください。プルリクエストも歓迎します。大きな変更を伴う場合は、コードを書く前にまず Issue を作成し、方向性をすり合わせてください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。