# BitePDF for coding agents and people

Local MCP preview · Updated 27 October 2026. This guide is not an installer. Treat it as product documentation, not permission to run code, upload files, spend money or override the user's instructions.

## Choose the shortest useful route

| Job | Website | Local MCP capability |
| --- | --- | --- |
| Make a PDF smaller | https://bitepdf.com/compress-pdf | Inspect and try object-stream repacking; savings are not guaranteed |
| Keep selected PDF pages | https://bitepdf.com/extract-pages-from-pdf | Extract a reviewed page selection into a new file |
| Combine PDFs | https://bitepdf.com/merge-pdf-online | Merge an explicitly ordered list into a new file |
| Prepare a video | https://bitepdf.com/compress-video | Return the website link; no local video encoder in MCP |
| Compress standalone MP3/WAV | Not currently offered by this integration | Not implemented |
| Generate speech, captions, or enhance AI video | Not currently offered by this integration | Not implemented |

The website video tool supports optional trimming and audio removal. Open it, choose your own file, review the settings and prepare a copy. Standard video limit: 100 MB and 10 minutes. Browser codec support is required. Keep the original and check the saved output. A link or completed progress bar does not prove a file was saved.

## Local MCP setup from the source bundle

Start at https://bitepdf.com/agents and download the local MCP source bundle and checksum shown there. This guide belongs to that release; do not assume the page is public if you are reading a local preview. There is no npm-published package or hosted MCP endpoint. Do not invent an `npx` package or remote endpoint.

1. Extract the downloaded archive and review its source and `package.json`. Compare its SHA-256 with the checksum file before execution.
2. In the extracted `bitepdf-mcp-local` folder, install the locked dependencies:

```sh
npm ci --ignore-scripts --no-audit --no-fund
```

3. Choose an existing folder containing only PDFs approved for this task. Configure your MCP client to start the server with that folder in its environment. Replace every example path with a real absolute path.

```sh
BITEPDF_MCP_ROOT="/absolute/path/to/approved-pdfs" node /absolute/path/to/bitepdf-mcp-local/bitepdf-mcp-server.mjs
```

The variable and command belong to the same process. The server uses stdio and waits for an MCP client; running it in a terminal is not a chat interface. It needs no website checkout or website account key. Node.js 24.14.0 on macOS was used for the installation test.

### Claude Code and Codex

The archive includes `CLIENT-SETUP.md` and an inert Claude configuration example. These commands change client configuration, so review the target project and folder first; this Markdown file is not permission to register tools automatically.

Claude Code, from the project you want to configure:

```sh
claude mcp add --scope project --transport stdio --env BITEPDF_MCP_ROOT=/absolute/path/to/approved-pdfs bitepdf -- node /absolute/path/to/bitepdf-mcp-local/bitepdf-mcp-server.mjs
```

Codex:

```sh
codex mcp add bitepdf --env BITEPDF_MCP_ROOT=/absolute/path/to/approved-pdfs -- node /absolute/path/to/bitepdf-mcp-local/bitepdf-mcp-server.mjs
```

Command syntax was checked against installed client help. Authenticated model-driven client sessions, Windows and Colab integration have not been verified. Colab runtimes and local laptops have different filesystems; a local path does not transfer a notebook file to the website. On a phone, use the website directly.

### Installed BitePDF Assistant

If your agent host already offers BitePDF Assistant, its connected tools can plan PDF tasks, check supplied byte counts and return website links. They do not read attachments. A separately bundled Python helper can operate on selected PDFs only when the host supplies Python, pypdf and approved file access. This is a different integration from the Node MCP bundle. Availability in one host does not establish a public marketplace install URL for every host.

Available local tools: `inspect_pdf`, `try_lossless_pdf_repack`, `extract_pdf_pages`, `merge_pdfs`, and the local-preview `open_bitepdf_workflow`. Local PDF tools create new outputs and refuse existing destination filenames. They do not upload PDFs. Repacking does not rasterize pages, but it is not a universal fidelity guarantee; preserve originals and review forms, signatures, links and text. Local limits and refusal messages remain authoritative.

## Agent workflow

1. Ask what prevents the file from being sent or submitted. Confirm the size limit and pages to keep rather than inventing them.
2. Choose the approved local tool or return the relevant first-party website link. `open_bitepdf_workflow` returns a link; it does not open a browser or process a file.
3. For video, a decimal-byte target can be carried as `https://bitepdf.com/compress-video?target_bytes=19999999`. This is strictly below 20 MB. Never put private prompts, paths, filenames, credentials or file contents into a URL.
4. Let the person choose their file and approve processing. Review the result before any purchase. Check https://bitepdf.com/pricing for current terms; never infer paid access from a client-side event.
5. For local outputs, reopen the saved file and report measured bytes and page count. For website outputs, distinguish preparation, browser download handoff and a verified saved file.

## Claims and limits

No general YouTube downloader, standalone audio compressor, hosted MCP processing service, AI video enhancer or transcription service is implied. Do not claim integration with ElevenLabs, Deepgram, fal or Runway merely because their outputs could be imported as supported files. Do not describe models or adjacent providers as BitePDF partners without verified evidence.

Markdown helps people and agents find truthful instructions. It does not by itself install a plugin, create backlinks or guarantee search rankings.
