MCP ExplorerExplorer

Pdfsearch Zed

@freespiriton a year ago
2 MIT
FreeCommunity
AI Systems
"一个用于Zed的MCP服务器扩展,可以从PDF文件中提取相关内容。"

Overview

What is Pdfsearch Zed

pdfsearch-zed is an MCP server extension for Zed that allows users to semantically search through PDF documents and retrieve relevant pieces to use in Zed’s AI Assistant.

Use cases

Use cases include searching for specific information in academic papers, extracting relevant sections from legal contracts, and retrieving data from technical manuals to assist in software development.

How to use

To use pdfsearch-zed, clone the repository, set up the Python environment, install the Dev Extension in Zed, build the search database with your PDF files, and then use the command ‘/pdfsearch’ followed by your query in Zed’s AI Assistant panel.

Key features

Key features include semantic search capabilities, support for multiple PDF files, integration with OpenAI for generating embeddings, and future improvements such as self-contained vector storage and automated index building.

Where to use

pdfsearch-zed can be used in various fields such as academic research, legal document analysis, technical documentation, and any area where PDF documents need to be searched semantically.

Content

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 (to generate 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

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" ...
  1. Configure Zed

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

  • [x] Self-contained vector store
  • [ ] Self-contained embeddings
  • [ ] Automated index building on first run
  • [ ] Configurable result size
  • [x] Support for multiple PDFs
  • [x] 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)

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers