mcpField
L
loci

loci

ローカル
github.com/IvenKooLabメモリ・ナレッジ101今日更新

loci について

lociは、ノートや文書の検索・質問と、AIツール間での長期的なコンテキスト共有に使えるローカル優先のナレッジベースです。ベクトル検索とBM25を組み合わせ、出典付きで回答し、MCP、コマンドライン、Webコンソールから利用できます。

主な機能

  1. 01ベクトル検索とBM25のハイブリッド検索
  2. 02ファイル名とセクション付きの回答
  3. 03ノートや複数形式の文書をインデックス
  4. 04長期メモリの保存と取り消し
  5. 05Webコンソールでの閲覧と管理

活用シーン

  1. 01ノート群からプロジェクトの決定事項を検索
  2. 02質問への回答に付いた根拠を確認
  3. 03AIツール間で永続的なコンテキストを共有
  4. 04エージェントの記憶を確認・更新

MCP 対応

MCPサーバーは、検索、Q&A、メモリ、リンク、グラフ、wiki、harness、統計、取り込みのツールに加え、ノートのリソースとプロンプトを公開します。複数のMCPクライアントは同じLOCI_HOMEを指定して同一インスタンスを共有できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ivenkoolab-loci": {
"command": "uvx",
"args": [
"loci-rag"
]
}
}
}
起動コマンドuvx loci-rag

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

パッケージ
pypiloci-rag0.4.0

ツール

8

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
kintegerいいえ返すヒット数、1~20(デフォルトは 5)
instringいいえソースパスにこの部分文字列を含む結果のみ。例:'docs/en' または 'projects'
tagstringいいえfrontmatter のタグにこの値を含む結果のみ。例:'rag' または 'memory'。
querystringはい検索する内容。任意の言語で指定できます

詳細

loci — AI ツールのための共有メモリ

英語 · 简体中文 · 繁體中文 · 日本語 · 한국어

CI PyPI MCP サーバー Python 3.11+ Rust ネイティブビルド MIT ライセンス

散在するメモ、プロジェクト文書、エージェントの記憶を、検索して質問できるナレッジベースに変えましょう。MCP サーバーとして、ターミナルから、またはブラウザーから利用できます。

loci はベクトル検索と BM25 を組み合わせ、file > section 形式の引用付きで回答を返します。ファイルとインデックスはお使いのマシンに保管されます。埋め込みとチャットのリクエストは、設定したプロバイダーに送信されます。ローカルエンドポイントを使えば、ワークフロー全体をオフラインにできます。

主役は MCP です。 loci-mcp を Claude Desktop、Cursor、Cline、その他の MCP ホストにマウントすると、アシスタントはナレッジベース全体をツールとして利用できます。コンソールとデスクトップシェルは、同じインデックスを使う別のフロントエンドにすぎないため、使う必要はありません。

クイックスタート · MCP の設定 · Web コンソール · 利用ガイド · 中文说明

loci コンソール — 合成データのデモ

架空のデモデータを使った実際のコンソール UI です。個人のナレッジベース、アカウント、API キーには接続していません。件数は参考値です。

ダークテーマのプレビュー

loci コンソール — ダークテーマ、架空のデモデータ

できること

ニーズloci の機能
メモに埋もれた決定事項を見つけるディレクトリを横断するハイブリッド検索。タグ、パス、日付で絞り込み可能
質問して根拠を確認する回答に出典のセクションを引用。主張ごとの検証も任意で利用可能
AI ツール間でコンテキストを引き継ぐMCP ツールは同じインスタンスを共有。永続的な記憶は Markdown ファイルとして保存
各コーディングエージェントが覚えている内容を確認するハーネスの検出、ファイルの閲覧、ツールごとの統計、ダイジェストメモ
ナレッジベースを視覚的に管理する検索、Q&A、記憶、インデックス作成、監査に対応した組み込み Web コンソール

Markdown、テキスト、HTML、org-mode、チャットのエクスポートは、そのまま利用できます。オプションの追加機能で PDF、Word、OCR にも対応します。使い慣れたメモエディターや Obsidian の保管庫も、そのまま使い続けられます。

クイックスタート

まずは設定なしで試す
pip install loci-rag
loci demo

loci demo は、架空のメモを6件 ./loci-demo-notes にコピーしてチャンクに分割し、3つの質問に回答します。回答には file > section 形式の引用が付きます。config.toml、API キー、ネットワークは必要ありません。キーワードのみを使います(BM25。ハイブリッド検索がベクトル検索の結果と組み合わせる、同じランキング方式です)。API キーを設定する前に動かせることが、まさにこの機能のポイントです。後から [embed] を追加すれば、同じインデックスでハイブリッド検索を使えます。

loci デモ — 同梱された架空のメモを使った実際の出力

同梱のサンプルメモを使った実際の loci demo 出力です。パスは短縮しており、所要時間は環境によって異なります。

自分のメモをインデックス化する

Python 3.11+ が必要です。サンプル設定を利用できるよう、ソースから開始します。

git clone https://github.com/IvenKooLab/loci.git
cd loci
python -m pip install -e .
cp config.example.toml config.toml

config.toml を編集し、[llm] と [embed] に値を入力して、[[sources]].path をメモのディレクトリに変更します。埋め込みエンドポイントは /embeddings をサポートしている必要があります。チャットと埋め込みには、異なるプロバイダーを使用できます。

loci ingest
loci search "deployment decisions"
loci ask "What did we decide about deployment, and why?"

すでに設定がある場合は、python -m pip install loci-rag でパッケージをインストールし、LOCI_HOME にインスタンスディレクトリを設定します。ドキュメントを扱う場合は、オプションで python -m pip install 'loci-rag[pdf,docx]' を使用してください。

API キーは BRAIN_LLM_API_KEY と BRAIN_EMBED_API_KEY で指定できます。埋め込みモデルを変更した後は、loci ingest --force で再構築してください。

Web コンソール

loci serve-http

127.0.0.1:8765/ui を開くと、ハーネスのメモの閲覧、検索、質問、共有メモの編集、インデックス作成の状況確認ができます。検索結果をクリックすると、引用元の文章を表示するエビデンスペインが開きます。file > section の引用元は、コンソールを離れずに確認できます。コンソールには中国語/英語とライト/ダークの切り替え機能があります。フロントエンドのビルドは不要です。

デフォルトでは、匿名のループバッククライアントに管理者アクセスが許可されます。リバースプロキシや SSH トンネル経由で利用する場合は、[http] local_admin = false を設定し、ロールベースのトークンを構成してください。詳しくはアクセス制御を参照してください。

DeepSeek Harness では、loci-dsh を使うと、同じ HTTP バックエンドを介して、Harness ワークベンチに検索、Q&A、メモの取り込み機能を追加できます。

AI ツールを接続する

各 MCP クライアントの接続先を同じ LOCI_HOME に設定すると、同一の設定、インデックス、メモファイルを共有できます。

{
  "mcpServers": {
    "loci": {
      "command": "loci-mcp",
      "env": { "LOCI_HOME": "/absolute/path/to/your/loci-instance" }
    }
  }
}

クライアントから loci-mcp が見つからない場合は、実行ファイルの絶対パスを指定してください。インスタンスディレクトリには config.toml が必要です。

MCP ツール用途
brain_search · brain_ask抜粋を取得するか、引用付きの回答を得ます
brain_remember · brain_forget長期保存するメモを登録または撤回します
brain_links · brain_graphメモのリンクと抽出された関係を探索します
brain_wiki · brain_harness知識を整理し、エージェントのメモを確認します
brain_stats · brain_ingestインデックスを確認して更新します

サーバーは、メモのリソースに加えて、ブリーフィング、学習計画、矛盾チェック用のプロンプトも公開します。詳しくはMCP ガイドを参照してください。

loci-mcp — 実際の JSON-RPC セッション

実際の loci-mcp の出力です。実バイナリでの initialize、tools/list、prompts/list を示しています。

ネイティブビルド(Rust)

同じ検索パイプラインと MCP 機能を、Python ランタイムのインストールなしで利用できます。バイナリは 1 つで、インデックスはデータベースディレクトリではなく、単一の SQLite ファイルになります。

cargo build --release -p loci-cli     # in native/
./target/release/loci-mcp --config ~/.loci/config.toml

状況:コア機能と MCP は完了しており、パッケージングとデスクトップシェルは開発中です。移植済みの内容と、互換性を確認するテスト(チャンク分割、固定された default トークナイザー、CJK のバイグラムによるデコイケース、RRF、増分取り込み)については、native/ を参照してください。2 つのビルドでは別々のインデックスを使用します。ネイティブ版から ChromaDB インスタンスを読み込むことはできません。移行コマンドは今後の課題です。

毎日の小さなワークフロー

loci watch                            # keep changed documents indexed
loci remember "Use staging for demos" --title "Demo environment"
loci search "demo environment" --tag memory
loci ask "How should I prepare a demo?" --verify
loci harness                          # inspect detected agent memories

インデックスは増分更新されます。メモは引き続き Markdown として読みやすい状態に保たれます。複数のマシンで使う場合は、ソースファイルとメモを同期してから、各マシンのローカルインデックスを再構築してください。認証情報はリポジトリに含めないでください。

検索セッションを見る

loci のターミナルデモ

使用ガイドには、元のバイリンガル検索例と、自分のコーパスで再実行できる簡単な評価方法が記載されています。

## ドキュメント
ガイド内容
利用ガイド / 中文指南コマンド、フィルター、ハーネスの設定、アクセス制御、ローカルモデル
設定例プロバイダーの設定、ソースディレクトリ、実行時オプション
アーキテクチャモジュールと検索パイプライン
変更履歴 · ロードマップリリース済みの変更と今後の作業
コントリビューション開発規約とオフラインテスト

loci は OpenAI 互換 SDK と ChromaDB を使用し、LangChain や LlamaIndex には依存しません。BM25、ローダー、MCP トランスポートはプロジェクト内に実装されています。

python -m pip install -e '.[dev,pdf]'
pytest  # offline tests; no API keys required

loci は Glama、ModelScope、awesome-mcp-servers でご覧いただけます。ソースコード:GitHub · Gitee。MIT ライセンスです。

コメント

MCP は初めてですか?

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

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