What EveryPage MCP server does
EveryPage MCP server gives an AI assistant access to EveryPage’s PDF sharing and analytics features. It can turn a local PDF or an HTTPS PDF URL into a tracked share link, returning the link, embed code, and QR URL. Share settings can be applied during upload rather than configured in a separate step.
The server also exposes document management and readership operations. An assistant can find documents, inspect a file’s links and status, modify access behavior, replace content behind an existing link, or remove a document. Readership results identify who viewed a document, how far they reached, how long they spent, and where they stopped. The server also provides recent read, download, and captured-lead events.
How it works
The server communicates with EveryPage using an API key or an OAuth token supplied through the environment. Tools accept a document identified by a UUID, short link ID, or share URL, including embed URLs and URLs with a via parameter. This means an agent can often operate on a document without first resolving an internal ID.
Local uploads stream from disk instead of loading the entire file into memory. The server checks that the input has PDF magic bytes and verifies the plan’s size limit before sending it. For URL uploads, the server fetches the named host without adding EveryPage credentials to that request.
Readership tools return a computed summary as well as raw rows in MCP structuredContent, allowing another client or workflow to chart the underlying data. Event polling uses a cursor tied to the selected event type; cursors must not be reused across read, download, and captured-lead streams.
Setup and configuration
EveryPage MCP server requires an API key from the EveryPage account page. The key normally begins with ep_live_; an ep_at_ OAuth token can also be used with only its granted scopes. Configure the server as a stdio process with npx -y everypage-mcp, and set EVERYPAGE_API_KEY in the client’s MCP configuration. Node 20 or newer is required.
Optional settings include EVERYPAGE_BASE_URL, which changes the API origin for development or self-hosted instances, and EVERYPAGE_READ_ONLY=true, which exposes only the seven read-only tools.
Tools and capabilities
Available operations include:
- Uploading PDFs and creating tracked links with share settings.
- Listing documents and retrieving a document’s links, protection, and status.
- Changing passcodes, expiry, download permissions, viewer mode, email gates, view limits, page ranges, and slugs.
- Trashing or permanently purging documents.
- Replacing live-link content and creating, listing, updating, or deleting recipient-specific variants; these features require Pro where marked by EveryPage.
- Reviewing readership and polling recent reads, downloads, or captured leads.
- Managing webhook endpoints, including creation, testing, and deletion.
- Checking the connected account, plan, and plan restrictions.
Two supplied slash commands support a readership digest and sending individually attributed copies to recipients.
Limitations and notes
Plan limits apply to upload size, document count, access controls, per-recipient links, content replacement, email capture, watermarks, and page ranges. EveryPage reports the required plan when a gated operation is refused. The API allows 120 requests per minute per key.
Deletion is reversible by default because the delete operation trashes the document; purge: true performs the irreversible action. The server does not include EveryPage’s claim endpoint, Canva publishing lane, branding assets, hotspots, or authenticated QR fetching. QR URLs returned by the tools are public and do not require credentials.