mcpField
L
lanternkb

lanternkb

ローカル
github.com/ankitb073検索02 週間前に更新

lanternkb について

lanternkbは、選択したファイルを意味とキーワードで検索するローカルMCPサーバーです。個人ファイルを検索するAIツールのアクセス範囲を管理したい人向けで、検出した秘密情報をインデックス前にマスキングします。

主な機能

  1. 01意味とキーワードによるファイル検索
  2. 02フォルダー単位のアクセス階層
  3. 03インデックス前の秘密情報マスキング
  4. 04サンドボックスでのファイル読み取り
  5. 05ファイル形式のプラグイン追加

活用シーン

  1. 01ノートや文書を内容から検索
  2. 02PDFやコード内の語句を検索
  3. 03選択したフォルダーをアシスタントに公開

MCP 対応

Claude CodeなどのMCPクライアント向けに、セットアップで選んだフォルダーを検索するローカルMCPサーバーとして動作します。`open`階層では公開設定のフォルダー内のファイルだけを返します。

設定

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

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

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

パッケージ
pypilanternkb0.1.3

ツール

5

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

パラメーター型必須説明
kintegerいいえ
pathstringいいえこのフォルダー内のファイルのみ
querystringはい単語、質問、または名前。* はファイルを新しい順に一覧表示します
typesarrayいいえこれらのファイル形式のみ。例:["pdf","md"]
modified_afterstringいいえYYYY-MM-DD、または相対指定:30d、2w、6m、1y 前
modified_beforestringいいえYYYY-MM-DD(その日より前)

詳細

lanternkb

自分のファイルを対象にしたプライベートなローカル検索を、自分と自分で選んだ AI ツールのために。

lanternkb は、選んだフォルダーをインデックス化し、意味と完全一致する単語の両方で検索します。Claude Code などのアシスタント向けにローカル MCP サーバーとして動作し、デーモンも、開いているポートも、テレメトリーもありません。検出されたシークレットは保存前にマスキングされます。また、検索結果をクラウドに送信するアシスタントに、どのフォルダーを見せるかは自分で決められます。

インストール

Apple シリコン搭載の macOS 14 以降、または Linux と、uv が必要です。

uv tool install --managed-python --python 3.12 "lanternkb[embed,ui]"
lanternkb setup        # asks for folders and whether an assistant may see them, offers the models, indexes

--python 3.12 は重要です。指定しないと、uv がマシンにすでにインストールされている古い Python を選び、インストールに失敗することがあります。 インストールには macOS で約 0.9 GB、さらに埋め込みモデル用に約 1.2 GB が必要です。uv tool upgrade lanternkb で更新できます。

検索

lanternkb search "what did the plumber say about the boiler"
lanternkb search "boiler quote" --type pdf,docx --since 30d
lanternkb recent       # files changed lately
lanternkb ui           # the settings page, with a search box
lanternkb doctor       # checks the setup and says what to fix

アシスタントを接続する前に lanternkb setup を実行してください。サーバーは、そこで選んだフォルダーを検索します。

AI ツールから利用する

Claude Code:

  1. lanternkb mcp-setup を実行すると、claude mcp add コマンドが表示されます。それを実行してください。
  2. 登録されるサーバーは、公開可能に設定したフォルダーのファイルのみを返し、それ以外は返しません。
  3. Claude Code は独自のツールでもファイルを読み取れるため、mcp-setup は拒否ルールも表示します。ローカル専用フォルダーとインデックスに Claude Code のツールがアクセスできないよう、これらを ~/.claude/settings.json に追加してください。

Codex、Cursor、VS Code、Gemini CLI、その他すべての MCP クライアント: stdio サーバーとして lanternkb serve --tier open を実行してください。Codex の場合は、~/.codex/config.toml に次のように記述します。

[mcp_servers.lanternkb]
command = "lanternkb"
args = ["serve", "--tier", "open"]

ユーザーガイドには、他のクライアントで使用する JSON 形式と、注意事項が記載されています。

読み込むファイル

メモ、コード、PDF、Word および OpenDocument ファイル、リッチテキスト、保存したウェブページ、字幕に対応しています。スキャンしたページと音声はオプションです。プラグインでファイル形式、埋め込みモデル、フォルダーを公開するためのルールを追加できます(プラグイン)。

プライバシーと安全性

  • すべてのフォルダーは open または local-only に設定され、新しいフォルダーはローカル専用になります。
  • 認証情報のフォルダーとシークレットのような内容を含むファイルはスキップされます。また、シークレットスキャナーが検出した内容は、分割や埋め込みを行う前にマスキングされます。シークレットが見つかったファイルは、公開フォルダー内にあってもローカル専用になります。
  • ファイルは、デフォルトですべてを拒否するサンドボックス化されたワーカープロセスで読み込まれます。macOS では sandbox-exec、Linux では Landlock と seccomp を使用します。
  • 同意したモデルのダウンロードを除き、ネットワーク通信は行いません。

脅威モデルには、保護されるものと保護されないものが記載されています。

検索性能

合成データセット(3 つのオープンソースコードベースと、生成した 654 件のメモ)に対して、未使用の質問 330 件でテストしました。検索あたり約 30 ms(M5 Max で、再ランキングありの場合は約 120 ms)で、nDCG@10 は 0.831 でした。再ランキング機能を使った grooveseek の 0.777、QMD の 0.760 を上回っています。仕込まれた偽のシークレットを使った、最も難しい未使用テストでは、スキャナーが 71.9% をインデックスから除外しました。したがって、これはあくまで二次的な防御策として扱ってください。認証情報のフォルダーは、インデックス対象のフォルダーから除外するか、ローカル専用にしてください。

制限事項

  • シークレットスキャナーは一部のシークレットを見逃します。また、example、changeme、<placeholder>、${VARIABLE} のような例として使われている値はそのまま残ります。
  • Linux では再ランキングは CPU で実行され、検索あたり 0.4〜1 秒かかるため、有効にするまでオフになっています。
  • メール、ブラウザーの履歴、カレンダー、連絡先カードはインデックス化されません。
  • スキャンした PDF や画像には OCR が必要ですが、デフォルトでは無効です。

詳細情報

ライセンス

Apache-2.0: LICENSE、NOTICE、THIRD_PARTY_NOTICES.md を参照してください。

コメント

MCP は初めてですか?

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

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