Apdf — PDF Tracking & Reader Analytics
Apdf отдаёт аналитику чтения PDF: ссылки, сессии, формы и аннотации
Что умеет
- Создавать трекаемые ссылки на документы
- Читать аналитику по страницам, сессиям и формам
- Архивировать, публиковать и скрывать документы
- Настраивать автоматизации по документам
- Просматривать аннотации и заполненные формы
Какие данные видит
Ассистент работает с документами и аналитикой аккаунта Apdf, к которому выдан доступ.
Нужен ли аккаунт
Не нужен: сервер работает без входа
MCP-сервер Apdf превращает PDF-документы в трекаемые ссылки для каждого получателя и даёт доступ к аналитике чтения: страницы, сессии, формы, аннотации. Включает набор инструментов для создания, объединения, разбиения, сжатия, конвертации и шифрования PDF. Подключается к Claude и другим ассистентам через один OAuth-эндпоинт.
Как подключить
Как подключить Apdf — PDF Tracking & Reader Analytics к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://main--apdf.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить Apdf — PDF Tracking & Reader Analytics к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://main--apdf.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить Apdf — PDF Tracking & Reader Analytics к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://main--apdf.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (45)
Технические названия из tools/list. Нужны только разработчикам.
| list-documents | List documents. Returns active documents by default; pass "status" to include archived. Supports paging via "page" and "per_page". |
| get-document | Get a single document by its public id. |
| create-document | Create a trackable document from a PDF URL. |
| delete-document | Delete a document (and its underlying PDF file) by its public id. |
| archive-document | Archive a document by its public id. Archived documents stop counting toward the workspace's tracked-documents quota and become inert. Reversible via "unarchive-document". |
| unarchive-document | Restore a previously archived document. The document becomes active again and counts toward the workspace's tracked-documents quota. |
| make-document-public | Make a document public by its public id, so it can be viewed without a recipient link. Reversible via "make-document-private". |
| make-document-private | Make a document private by its public id, so it only opens through a valid recipient link. Reversible via "make-document-public". |
| list-document-links | List all recipient links for a document. Supports paging via "page" and "per_page". |
| create-document-link | Create a new recipient link for a document. |
| delete-document-link | Delete a document link by its token. |
| activate-document-link | Activate (enable) a recipient link by its token. Reversible via "deactivate-document-link". |
| deactivate-document-link | Deactivate (disable) a recipient link by its token. Reversible via "activate-document-link". |
| list-document-annotations | List annotations for a document. Supports paging via "page" and "per_page". |
| list-document-form-submissions | List form submissions for a document. Supports paging via "page" and "per_page". |
| get-document-analytics | Get aggregate KPIs (sessions, viewers, completion rate, downloads, ...) for a document. |
| list-document-sessions | List viewing sessions for a document with per-session metrics. Supports paging via "page" and "per_page". |
| get-document-session | Get full detail (events, metrics, page-by-page breakdown) for a single viewing session. |
| list-automations | List all automations. Supports paging via "page" and "per_page". |
| get-automation | Get a single automation by its id, including its trigger, conditions and webhook action. |
| create-automation | Create a when/filter/then rule that posts reader events to a webhook. The automation starts out active. |
| delete-automation | Delete an automation and its execution history. To keep the rule and only stop it from firing, use "deactivate-automation". |
| activate-automation | Activate (enable) an automation so it fires again. Counts against the active-automations limit. Reversible via "deactivate-automation". |
| deactivate-automation | Deactivate (pause) an automation so it stops firing. The rule and its execution history are kept. Reversible via "activate-automation". |
| duplicate-automation | Copy an automation with its trigger, conditions, webhook and documents. The copy is named after the original with "(Copy)" appended and starts out active. |
| list-automation-executions | List all automation executions. Each entry includes the matched event, the payload sent and the endpoint response. Supports paging via "page" and "per_page". |
| create-pdf-file | Create a PDF from the given HTML and return its hosted URL. Always runs asynchronously and returns a job id; poll "check-job-status" or provide "webhook_url" to receive a callback. |
| split-pdf-file | Split a PDF file into multiple files using a page-range expression (e.g. "1-3,4-6" for explicit ranges or "n3" for fixed chunks of 3 pages). |
| merge-pdf-files | Merge multiple PDF files (optionally limited to a page-range each) into a single PDF. |
| compress-pdf-file | Compress a PDF file to reduce its file size. Always runs asynchronously and returns a job id; poll "check-job-status" or provide "webhook_url" to receive a callback. |
| convert-pdf-to-image | Render PDF pages as images (PNG/JPG/...) at a given DPI. Always runs asynchronously and returns a job id; poll "check-job-status" or provide "webhook_url" to receive a callback. |
| extract-pdf-pages | Extract a subset of pages from a PDF and return the result as a new PDF. |
| delete-pdf-pages | Delete a subset of pages in a PDF and return the resulting PDF without those pages. |
| rotate-pdf-pages | Rotate one or more pages in a PDF by a multiple of 90 degrees. |
| overlay-pdf-pages | Overlay another PDF on top of pages of a base PDF (e.g. for watermarks above content). |
| underlay-pdf-pages | Underlay another PDF beneath pages of a base PDF (e.g. for backgrounds behind content). |
| search-pdf-content | Search for text in a PDF file and return the matches with their positions. |
| read-pdf-content | Extract the textual content of a PDF file, page by page. |
| convert-pdf-with-ocr | Run OCR over a scanned PDF and return a searchable PDF with embedded text. Always runs asynchronously and returns a job id; poll "check-job-status" or provide "webhook_url" to receive a callback. |
| search-pdf-content-with-ocr | OCR a scanned PDF and search for text in it. Always runs asynchronously and returns a job id; poll "check-job-status" or provide "webhook_url" to receive a callback. The completed job result contains matches with their positions. |
| read-pdf-content-with-ocr | OCR a scanned PDF and return the extracted textual content, page by page. Always runs asynchronously and returns a job id; poll "check-job-status" or provide "webhook_url" to receive a callback. |
| add-pdf-security | Add password-based security restrictions (owner / optional user password) to a PDF. |
| remove-pdf-security | Remove password-based security restrictions from a PDF. |
| read-pdf-metadata | Read metadata (title, author, page count, file size, ...) from a PDF file. |
| check-job-status | Check the status (and result, if any) of an asynchronous api job by its id. |