P
pdfsearch-zed
...
Created 12/30/2024byfreespirit
Language:
Python
Stars:
2
Forks:
0
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 (for generating 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
export OPENAI_API_KEY=
# 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",
"openai_api_key": "sk-..."
}
}
}
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 implementation
src/
: Zed extension codeextension.toml
andCargo.toml
: Zed extension configuration files
Known Limitations
- Manual index building is required before first use
- Requires external services (OpenAI)
Last updated: 2/11/2025
Publisher info
More MCP servers built with Python
mcp-logo-gen
By sshtunnelvision137