mcpField
E
elefante

elefante

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

elefante について

Elefanteは、MCPエージェント向けのGitネイティブなメモリーサーバーで、ユーザーが管理するリポジトリに編集可能なMarkdownファイルとして記憶を保存します。複数のエージェントで共有でき、Gitリモートに基づいてプロジェクトごとに自動分類されます。

主な機能

  1. 01Markdownファイルでメモリーを保存
  2. 02Git履歴で変更と削除を追跡
  3. 03複数のMCPエージェントで共有
  4. 04検出したプロジェクトごとに分類
  5. 05ツールによるメモリーの検索と管理
  6. 06起動時に重要なメモリーを注入

活用シーン

  1. 01異なるMCPエージェント間で設定を再利用
  2. 02メモリー変更の確認や取り消し
  3. 03リポジトリごとにプロジェクト情報を分離
  4. 04エージェントのメモリーボルトのバックアップと同期

MCP 対応

Elefanteは、メモリーの書き込み、読み取り、検索、一覧表示、更新、削除、同期を行う7つのツールを提供します。起動時にはMCP instructionsを通じて重要なメモリーを渡し、任意のMCPエージェントが同じボルトに接続できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"amenophis1er-elefante": {
"command": "npx",
"args": [
"-y",
"elefante-mcp"
]
}
}
}
起動コマンドnpx -y elefante-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmelefante-mcp0.1.9

ツール

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

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

詳細

Elefante

MCP エージェント向けのオープンな Git ネイティブのメモリプロトコルです。ポータブルで、検査可能で、バージョン管理され、人が編集できます。

Your agent's memory is a Git repo you own.
Every memory is a Markdown file you can read.
Every change is a commit you can audit.
Any MCP agent can connect to it.

その理由

AI エージェントには、それぞれ独自のメモリシステムがあります。Claude のメモリは Claude でしか使えません。ChatGPT のメモリは ChatGPT でしか使えません。どれも中身が見えず、ベンダーにロックインされ、ポータブルではありません。

Elefante は異なるアプローチを取ります。検索の品質を最適化するのではなく、メモリが隠れた実装の詳細ではなく第一級の資産である場合に重要となる、所有権、監査可能性、ポータビリティを最適化します。

質問回答
エージェントのメモリを所有するのは誰ですか?あなたです。Git リポジトリです。
エージェントは私について何を知っていますか?cat memories/user/*.md
先週から何が変わりましたか?git log --since="1 week ago"
Claude、Codex、Cursor で使うにはどうすればよいですか?それらを同じ MCP サーバーに接続します。
バックアップするにはどうすればよいですか?クローンはすべて完全なバックアップです。
不適切なメモリを取り消すにはどうすればよいですか?git revert

クイックスタート

# Install
npm install -g elefante-mcp

# Initialize vault (uses a private GitHub repo as storage)
elefante init [email protected]:yourname/my-memory.git

# Add your first memory
elefante add \
  --name "TypeScript strict mode" \
  --type user \
  --body "Always enable strict: true in tsconfig.json"

# Search
elefante search "typescript"

# Check status
elefante status

エージェントに接続する

ターミナルから(Claude Code を起動する前):

claude mcp add --scope user elefante -- npx -y elefante-mcp mcp

Claude Code の内部から(セッション中):

/mcp add --scope user elefante -- npx -y elefante-mcp mcp

または手動で — MCP 設定(~/.claude.json、.cursor/mcp.json など)に追加します:

{
  "mcpServers": {
    "elefante": {
      "command": "npx",
      "args": ["-y", "elefante-mcp", "mcp"]
    }
  }
}

Cursor / VS Code / Codex — 同じ設定です。MCP に対応しているエージェントなら、どれでも同じボルトに対して読み書きできます。

接続すると、エージェントは 7 つのツールを利用できます:memory_write、memory_read、memory_search、memory_list、memory_update、memory_delete、memory_sync。

自動検出

Elefante は起動時に、MCP の instructions を通じて、上位のメモリをエージェントのシステムプロンプトに直接挿入します。エージェントは、検索しなくても、あなたの好み、フィードバック、プロジェクトのコンテキストを把握できます。

CLAUDE.md の小細工は不要です。「Elefante のメモリを検索して」というプロンプトも不要です。そのまま機能します。

プロジェクトを考慮したメモリ

Elefante は現在のプロジェクトを自動検出し、それに応じてメモリの対象範囲を設定します。設定は不要です。

仕組み

MCP サーバーの起動時に、作業ディレクトリから Git リモートを読み取ります:

~/Projects/acme-api/   →  git remote = github.com:you/acme-api.git
                       →  profile = "you/acme-api"
                       →  memories scoped to this project

~/Projects/my-cli/     →  git remote = github.com:you/my-cli.git
                       →  profile = "you/my-cli"
                       →  different project, different memories
対象範囲
あなたの発言動作
「このプロジェクトは Postgres 16 を使うことを覚えておいて」profile: you/acme-api を付けて保存されます(プロジェクト対象)
「npm より Bun のほうが好みだと覚えておいて」エージェントは profile: global → null を付けて保存します(どこでも適用)
「ステージング URL は staging.acme.io だと覚えておいて」profile: you/acme-api を付けて保存されます(プロジェクト対象)

エージェントはコンテキストに基づいて判断します。ユーザーの好みや行動に関するフィードバックは、通常グローバルに設定されます。プロジェクトの詳細や参照情報は、通常プロジェクトごとに設定されます。

検索時に表示される内容
Working in acme-api:
  ✓ "Uses Postgres 16"              (profile: you/acme-api)
  ✓ "Prefers Bun over npm"          (profile: null — global)
  ✗ "Uses SQLite"                   (profile: you/my-cli — different project)

Working in my-cli:
  ✓ "Uses SQLite"                   (profile: you/my-cli)
  ✓ "Prefers Bun over npm"          (profile: null — global)
  ✗ "Uses Postgres 16"             (profile: you/acme-api — different project)

グローバルメモリは常に表示されます。プロジェクトメモリは、そのプロジェクト内でのみ表示されます。

例外指定
Profile の値意味
(省略)検出されたプロジェクトに自動的に対象範囲を設定
"global"明示的にグローバルに設定 — プロジェクトの対象範囲なし
"all"すべてのプロジェクトを対象に検索/一覧表示
"owner/other-repo"別のプロジェクトを明示的に指定

メモリの形式

各メモリは YAML フロントマター付きの Markdown ファイルです。どのエディターでも開けます。

---
id: mem_a1b2c3d4e5f6
type: feedback
name: No database mocking in tests
description: Integration tests must use real database connections
profile: you/acme-api
importance: 3
tags: [testing, database]
created_at: "2026-04-14T10:30:00Z"
updated_at: "2026-04-14T14:22:00Z"
---

Do not mock the database in integration tests — use a real connection
to a test database.

**Why:** Mocked tests passed but the production migration failed because
the mock didn't reflect actual schema constraints.

**How to apply:** Use the test database helper (`createTestDb()`)
instead of jest mocks.

Git ログの形式

$ git log --oneline
f4a2c1e remember: No database mocking in tests
b3d8e7a remember: TypeScript strict mode preference
a1c9f2b update: REST to GraphQL migration deadline
9e7d4c3 forget: Outdated staging URL
2f8a6b1 Initialize elefante vault

すべての書き込みは remember:、更新は update:、削除は forget: として記録されます。メモリの履歴は整理され、監査可能です。

ボルトの構成

~/.elefante/vault/
├── .elefante/
│   └── config.yaml              # Vault settings
├── memories/
│   ├── user/                    # Who the user is
│   │   └── mem_*.md
│   ├── feedback/                # How the agent should behave
│   │   └── mem_*.md
│   ├── project/                 # Active work context
│   │   └── mem_*.md
│   └── reference/               # External resource pointers
│       └── mem_*.md
├── profiles/
│   └── *.yaml                   # Named scopes for partitioning
└── index/
    ├── manifest.json            # All memory metadata (generated)
    └── search.json              # Search index (generated)

メモリの種類

4 種類です。意図的に種類を絞っています。分類体系を小さくすることで、適切な分類を促します。

種類保存する内容通常の対象範囲
userあなたに関する事実 — 役割、好み、専門知識グローバル
feedbackエージェントの動作に関する指針 — 修正、確認グローバル
project進行中の作業に関するコンテキスト — 目標、期限、決定事項プロジェクト
reference外部の参照先 — URL、ダッシュボード、ツールプロジェクト

認証

Elefante は認証の仕組みを独自に作り直しません。既にお使いの Git 認証情報をそのまま利用します。

認証情報の解決順序:

  1. ローカルの Git 認証情報(SSH キー、macOS Keychain、認証情報ヘルパー)
  2. gh auth token(GitHub CLI がインストールされている場合)
  3. ELEFANTE_GITHUB_TOKEN 環境変数
  4. ~/.elefante/config.json の token フィールド

git または gh が認証済みであれば、設定不要で Elefante を利用できます。

CLI リファレンス

elefante init <repo-url>       Clone vault repo to ~/.elefante/vault/
elefante status                Vault status, sync state, memory count
elefante list [--type TYPE]    List memories with filters
elefante search <query>        Search by keyword
elefante read <id>             Read a specific memory
elefante add                   Create a memory
elefante delete <id>           Delete a memory
elefante sync                  Pull and push changes
elefante reindex               Rebuild search index
elefante mcp                   Start MCP stdio server

比較

Elefante が競うのは検索品質ではありません。データの所有権です。

ElefanteClaude/ChatGPT MemoryMem0 / Zep
データの所有権自分で管理する Git リポジトリベンダーが管理セルフホストまたは SaaS
人間が読みやすい形式Markdown ファイルいいえいいえ
バージョン履歴Git のログを無料で利用いいえいいえ
エージェントを問わない任意の MCP エージェント単一ベンダーはい
インフラ不要Git +ローカルプロセス該当なし(マネージド)サーバー+データベース
オフラインアクセスローカルクローンいいえいいえ
プロジェクトの自動スコープ設定Git のリモートを検出会話ごと手動
セマンティック検索未対応(予定)はいはい

「Obsidian + MCP プラグインではだめなのですか?」 — Obsidian は、エージェントもアクセスできる人間向けのツールです。Elefante は、人間もアクセスできるエージェント向けのツールです。データ形式(Markdown + Git)は同じですが、設計の中心が異なります。

プロトコル

メモリモデル、Vault 構造、MCP インターフェース、同時実行モデル、インデックス作成、セキュリティ上の考慮事項を含むプロトコルの完全な仕様は、PROTOCOL.md に記載されています。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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