Metadata-Version: 2.4
Name: mcp-pymupdf
Version: 0.1.1
Summary: MCP server for reading PDFs using PyMuPDF. Supports local files and URLs.
Author: Jason Parker
License: MIT
License-File: LICENSE
Keywords: ai,claude,mcp,pdf,pymupdf
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.13
Requires-Dist: hatch>=1.17.0
Requires-Dist: mcp>=1.0.0
Requires-Dist: pymupdf>=1.24.0
Requires-Dist: pytest>=9.1.1
Requires-Dist: requests>=2.28.0
Requires-Dist: twine>=6.2.0
Description-Content-Type: text/markdown

# mcp-pymupdf

<!-- mcp-name: io.github.penny4nonsense/mcp-pymupdf -->

An MCP server for reading PDFs using PyMuPDF. Supports local files and URLs.

## Installation

```bash
pip install mcp-pymupdf
```

## Tools

### `read_pdf`
Extract text from a PDF file or URL.

```json
{
  "source": "/path/to/file.pdf",
  "max_pages": 50,
  "max_bytes": 200000
}
```

### `get_page`
Extract text from a specific page range.

```json
{
  "source": "https://example.com/paper.pdf",
  "start_page": 3,
  "end_page": 8
}
```

### `get_metadata`
Retrieve PDF metadata without reading full text.

```json
{
  "source": "/path/to/file.pdf"
}
```

## Usage with Claude Desktop

Add to your Claude Desktop config:

```json
{
  "mcpServers": {
    "pdf": {
      "command": "mcp-pymupdf"
    }
  }
}
```

## Notes

- Scanned or image-based PDFs cannot be read without OCR
- Mathematical notation may render as plain text approximations
- URLs are downloaded to a temp file and deleted after reading

## License

MIT