# Pdf Extract — MCP tool `findutils:pdf_extract`

PDF Text Extractor. Extract text and structured JSON (with bounding boxes) from a PDF. Accepts either a public https:// URL pointing to a PDF, or a base64-encoded PDF string. Runs entirely on Cloudflare Workers via WebAssembly — the bytes are not logged. Best for documents under 10MB.

- Category: developer
- MCP server: https://mcp.findutils.com/ (Streamable HTTP, no API keys, 120 req/min per IP)
- REST endpoint: POST https://api.findutils.com/api/tools/pdf-extract/execute (no API keys, 60 req/min per IP)
- Network tool: fetches a fixed, hard-coded public upstream (never a private host).
- Reference page: https://findutils.com/mcp/pdf-extract/
- Same tool on the other surface: https://findutils.com/api/pdf-extract/

## Connect

```bash
claude mcp add findutils --transport http https://mcp.findutils.com/
```

Claude Desktop (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "findutils": {
      "url": "https://mcp.findutils.com/"
    }
  }
}
```

## Call the tool (verified example)

```bash
curl -X POST https://mcp.findutils.com/ \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "pdf_extract",
      "arguments": {
        "pdf": "https://findutils.com/docs/sample.pdf",
        "output": "text",
        "maxPages": 1
      }
    }
  }'
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `pdf` | string | yes | PDF as a base64-encoded string (with or without data: prefix) OR a public https:// URL pointing to a PDF. |
| `output` | string (text \| json \| all) | no | What to return: layout-preserved text, structured JSON, or both. |
| `maxPages` | integer | no | Hard cap on pages parsed. Helps bound CPU time on huge documents. |

Example arguments (verified):

```json
{
  "pdf": "https://findutils.com/docs/sample.pdf",
  "output": "text",
  "maxPages": 1
}
```

## Also a REST endpoint

```bash
curl -X POST https://api.findutils.com/api/tools/pdf-extract/execute \
  -H "Content-Type: application/json" \
  -d '{
    "pdf": "https://findutils.com/docs/sample.pdf",
    "output": "text",
    "maxPages": 1
  }'

# Parameter schema
curl https://api.findutils.com/api/tools/pdf-extract
```

Full REST reference: https://findutils.com/api/pdf-extract/ · OpenAPI 3.1 spec: https://findutils.com/api/openapi.json

---
Full catalog: POST https://mcp.findutils.com/ with method `tools/list` · https://findutils.com/mcp/ · https://findutils.com/llms.txt
