npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dev.saqibaziz/mcp-pdf-reader

v1.1.0

Published

MCP server for reading and analyzing PDF files from local paths or URLs - enables AI assistants to work with PDFs

Readme

MCP PDF Reader Server

A Model Context Protocol (MCP) server that enables AI assistants like Claude, Windsurf, and other MCP-compatible tools to read and analyze PDF files.

Features

  • 📄 Read PDF files from local paths or URLs
  • 🔍 Search for specific terms within PDFs
  • 📊 Get PDF metadata (page count, author, title, etc.)
  • 📖 Read specific pages or page ranges
  • 🌐 Download and analyze PDFs from the web
  • 🤖 Seamless integration with AI assistants via MCP

Installation

Using npm

npm install -g @dev.saqibaziz/mcp-pdf-reader

Using npx (no installation required)

npx @dev.saqibaziz/mcp-pdf-reader

Configuration

For Claude Desktop

Add this to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": ["-y", "@dev.saqibaziz/mcp-pdf-reader"]
    }
  }
}

For Windsurf

Option 1: Via Plugin Store (Coming Soon)

  • Open Windsurf
  • Click the Plugins icon in Cascade panel
  • Search for "PDF Reader"
  • Click Install

Option 2: Manual Configuration

Edit your MCP configuration file:

macOS: ~/Library/Application Support/Windsurf/User/globalStorage/codeium.codeium/mcp_config.json Windows: %APPDATA%\Windsurf\User\globalStorage\codeium.codeium\mcp_config.json Linux: ~/.config/Windsurf/User/globalStorage/codeium.codeium/mcp_config.json

{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": ["-y", "@dev.saqibaziz/mcp-pdf-reader"]
    }
  }
}

After adding, click the refresh button in the Plugins panel.

For Cline

Add this to your MCP settings file:

{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": ["-y", "@dev.saqibaziz/mcp-pdf-reader"]
    }
  }
}

Available Tools

The server provides the following tools to AI assistants:

read_pdf_pages

Read specific pages from a PDF file.

Parameters:

  • pdf_path (string): Path to the PDF file
  • pages (array): List of page numbers to read

read_pdf_page_range

Read a range of pages from a PDF file.

Parameters:

  • pdf_path (string): Path to the PDF file
  • start_page (number): First page to read (inclusive)
  • end_page (number): Last page to read (inclusive)

search_pdf

Search for terms in a PDF file and return pages containing them.

Parameters:

  • pdf_path (string): Path to the PDF file
  • terms (string or array): Search term(s)

get_pdf_metadata

Get metadata from a PDF file (page count, author, title, etc.).

Parameters:

  • pdf_path (string): Path to the PDF file

Usage Examples

Once configured, you can ask your AI assistant:

Local Files:

  • "Read pages 1-5 from document.pdf"
  • "Search for 'machine learning' in research.pdf"
  • "What's the metadata of report.pdf?"
  • "Read page 10 from presentation.pdf"

URLs:

  • "Read this PDF: https://example.com/research-paper.pdf"
  • "Search for 'climate change' in https://example.com/report.pdf"
  • "Get metadata from https://arxiv.org/pdf/2301.00001.pdf"
  • "Read pages 1-3 from https://example.com/whitepaper.pdf"

Development

Prerequisites

  • Node.js >= 18.0.0
  • npm or yarn

Setup

# Clone the repository
git clone https://github.com/Saqib-Aziz007/mcp-pdf-reader.git
cd mcp-pdf-reader

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev

Scripts

  • npm run build - Compile TypeScript to JavaScript
  • npm run dev - Watch mode for development
  • npm start - Run the compiled server
  • npm run prepare - Pre-install build hook

Technical Details

This MCP server is built with:

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details

Author

Muhammad Saqib Aziz

Support

If you encounter any issues or have questions:

Acknowledgments

Built with the Model Context Protocol by Anthropic.