Atlas / MCP servers / xraywu / Pdf Extraction

Pdf ExtractionSAFE

mcp/xraywu/pdf-extraction

MCP server to extract contents from a PDF file

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
1 1r · 0w · 0d
Transport
stdio
License
—
Stars
33
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

MCP server to extract contents from PDF files, with fixes for Claude Code CLI installation.

This fork includes critical fixes for installing and running the server with Claude Code (the CLI version).

What's Different in This Fork

  1. Added `__main__.py` - Enables the package to be run as a module with python -m pdf_extraction
  2. Claude Code specific instructions - Clear installation steps that work with Claude Code CLI
  3. Tested installation process - Verified working with claude mcp add command

Components

Tools

The server implements one tool:

  • extract-pdf-contents: Extract contents from a local PDF file
  • Takes pdf_path as a required string argument (local file path)
  • Takes pages as an optional string argument (comma-separated page numbers, supports negative indexing like -1 for last page)
  • Supports both PDF text extraction and OCR for scanned documents

Installation for Claude Code CLI

Prerequisites

  • Python 3.11 or higher
  • pip or conda
  • Claude Code CLI installed (claude command)

Step 1: Clone and Install

# Clone this fork
git clone https://github.com/lh/mcp-pdf-extraction-server.git
cd mcp-pdf-extraction-server

# Install in development mode
pip install -e .

Step 2: Find the Installed Command

# Check where pdf-extraction was installed
which pdf-extraction
# Example output: /opt/homebrew/Caskroom/miniconda/base/bin/pdf-extraction

Step 3: Add to Claude Code

# Add the server using the full path from above
claude mcp add pdf-extraction /opt/homebrew/Caskroom/miniconda/base/bin/pdf-extraction

# Verify it was added
claude mcp list

Step 4: Use in Claude

# Start a new Claude session
claude

# In Claude, type:
/mcp

# You should see:
# MCP Server Status
# • pdf-extraction: connected

Usage Example

Once connected, you can ask Claude to extract PDF contents:

"Can you extract the conte
Read from source at commit 12d07d102b3fOBSERVED · 2026-10-08
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add pdf-extraction -- uvx pdf-extraction
claude-desktop
{
  "mcpServers": {
    "pdf-extraction": {
      "command": "uvx",
      "args": [
        "pdf-extraction"
      ]
    }
  }
}
03

Exposed tools (1)

1 read · 0 write · 0 destructive.

ToolRiskDescription
extract-pdf-contentsreadExtract contents from a local PDF file, given page numbers separated in comma. Negative page index number supported.
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (1)

LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-08 · audit v0.4.1 · source sha 12d07d102b3ffull audit observations/trust-audit/mcp-server/xraywu__pdf-extraction.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-0812d07d102b3fSAFEB89first audit
06

Questions

What is the Pdf Extraction MCP server?

MCP server to extract contents from a PDF file

What tools does Pdf Extraction expose?

1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Pdf Extraction safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does Pdf Extraction need?

No credential environment variables were found in its source, so it appears to need none.

How does Pdf Extraction run?

It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as pdf-extraction.

How current is this page?

The grade is for one exact copy of the source (12d07d102b3f), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement