PDF Search for Zed について
PDF Search for Zed は、PDF をセマンティック検索し、該当箇所を Zed の AI アシスタントのコンテキストに追加する拡張機能です。MCP サーバーを利用し、現状では埋め込み生成に OpenAI API キーが必要で、使用前に手動でインデックスを作成します。
主な機能
- 01PDF のセマンティック検索
- 02該当箇所を AI のコンテキストに追加
- 03複数 PDF に対応
- 04PDF 以外のファイル形式に対応
活用シーン
- 01PDF 内の関連箇所の検索
- 02Zed の AI アシスタントへの文書内容の追加
MCP 対応
拡張機能には Python 製の MCP サーバーが含まれ、インデックス済み文書を検索して、一致する箇所を Zed の AI アシスタントに渡します。使用前に手動でインデックスを作成する必要があります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Zed 用 PDF 検索
PDF ドキュメントを意味的に検索し、検索結果を Zed の AI Assistant で使用できる、Zed 向けのドキュメント検索拡張機能です。
前提条件
この拡張機能を使用するには、現在、次のものが必要です。
- (埋め込みを生成するための)
OpenAIAPI キー - システムにインストールされた
uv
注: 現在のセットアップでは埋め込みの生成に OpenAI API キーが必要ですが、今後のバージョンでは自己完結型の代替手段を実装する予定です。コミュニティからのフィードバックは、これらの改善の優先順位付けに役立ちます。
クイックスタート
- リポジトリをクローンします
git clone https://github.com/freespirit/pdfsearch-zed.git
- MCP サーバー用の Python 環境をセットアップします。
cd pdfsearch-zed/pdf_rag
uv venv
uv sync
-
Zed に開発用拡張機能をインストールします
-
検索 DB を構築します
cd /path/to/pdfsearch-zed/pdf_rag
echo "OPENAI_API_KEY=sk-..." > src/pdf_rag/.env
# This may take a couple of minutes, depending on the documents' size
# You can provide multiple files and directories as arguments.
# - files would be chunked.
# - a directory would be considered as if its files contains chunks.
# E.g. they won't be further split.
uv run src/pdf_rag/rag.py build "file1.pdf" "dir1" "file2.md" ...
- Zed を設定します
"context_servers": {
"pdfsearch-context-server": {
"settings": {
"extension_path": "/path/to/pdfsearch-zed"
}
}
}
使い方
- Zed の AI Assistant パネルを開きます
/pdfsearchに続けて検索クエリを入力します- 拡張機能が PDF を検索し、関連するセクションを AI Assistant のコンテキストに追加します
今後の改善
- 自己完結型のベクトルストア
- 自己完結型の埋め込み
- 初回実行時のインデックス構築の自動化
- 結果数の設定
- 複数の PDF に対応
- オプション:PDF 以外の追加ファイル形式に対応
プロジェクト構成
pdf_rag/:Python ベースの MCP サーバー実装src/:Zed 拡張機能のコードextension.tomlとCargo.toml:Zed 拡張機能の設定ファイル
既知の制限事項
- 初回使用前に手動でインデックスを構築する必要があります
- 外部サービス(OpenAI)が必要です
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。