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:

  1. An OpenAI API key (for generating embeddings)
  2. 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

  1. Clone the repository
git clone https://github.com/freespirit/pdfsearch-zed.git
  1. Set up the Python environment for the MCP server:
cd pdfsearch-zed/pdf_rag
uv venv
uv sync
  1. Install Dev Extension in Zed

  2. 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" ...
  1. Configure Zed
"context_servers": {
    "pdfsearch-context-server": {
        "settings": {
            "extension_path": "/path/to/pdfsearch-zed",
            "openai_api_key": "sk-..."
        }
    }
}

Usage

  1. Open Zed's AI Assistant panel
  2. Type /pdfsearch followed by your search query
  3. 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 code
  • extension.toml and Cargo.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

freespirit's avatar
Sofia, Bulgaria
16
followers
40
following
27
repos

More MCP servers built with Python

mcp-logo-gen

By sshtunnelvision137
ledger-mcp-server

MCP Server for my ledger

By mprokopov1
clickhouse_mcp_server

A MCP server for ClickHouse

By ThomAub1