
PDF Search for Zed
An MCP server extension for Zed that retrieves relevant pieces from a PDF file
What is PDF Search for Zed?
PDF Search for Zed is a document search extension that allows users to semantically search through PDF documents and utilize the results within Zed's AI Assistant.
How to use PDF Search for Zed?
To use PDF Search for Zed, clone the repository, set up the Python environment, install the Dev Extension in Zed, build the search database, and then use the /pdfsearch
command in Zed's AI Assistant panel to search your documents.
Key features of PDF Search for Zed?
- Semantic search capabilities for PDF documents
- Integration with Zed's AI Assistant
- Support for multiple PDF files and directories
- Future improvements planned for self-contained vector storage and embeddings
Use cases of PDF Search for Zed?
- Quickly finding relevant information in large PDF documents.
- Enhancing research efficiency by integrating document search with AI assistance.
- Supporting multiple file formats for broader usability.
FAQ from PDF Search for Zed?
- What do I need to use this extension?
You need an OpenAI API key and the
uv
tool installed on your system.
- Is there a way to use this without an OpenAI API key?
Future versions plan to implement a self-contained alternative for embeddings.
- Can I search multiple PDFs at once?
Yes! The extension supports searching through multiple PDF files and directories.
PDF Search for Zed
A document search extension for Zed that lets you semantically search through a PDF document and use the results in Zed's AI Assistant.
Prerequisites
This extension currently requires:
- An
OpenAI
API key (to generate embeddings) uv
installed on your system
Note: While the current setup requires an OpenAI API key for generating embeddings, we plan to implement a self-contained alternative in future versions. Community feedback will help prioritize these improvements.
Quick Start
- Clone the repository
git clone https://github.com/freespirit/pdfsearch-zed.git
- Set up the Python environment for the MCP server:
cd pdfsearch-zed/pdf_rag
uv venv
uv sync
-
Install Dev Extension in Zed
-
Build the search 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" ...
- Configure Zed
"context_servers": {
"pdfsearch-context-server": {
"settings": {
"extension_path": "/path/to/pdfsearch-zed"
}
}
}
Usage
- Open Zed's AI Assistant panel
- Type
/pdfsearch
followed by your search query - The extension will search the PDF and add relevant sections to the AI Assistant's context
Future Improvements
- Self-contained vector store
- Self-contained embeddings
- Automated index building on first run
- Configurable result size
- Support for multiple PDFs
- Optional: Additional file formats beyond PDF
Project Structure
pdf_rag/
: Python-based MCP server implementationsrc/
: Zed extension codeextension.toml
andCargo.toml
: Zed extension configuration files
Known Limitations
- Manual index building is required before first use
- Requires external services (OpenAI)