# MCP-сервер

Источник: https://dev.smartpdf.ru/docs/mcp

MCP-сервер SmartPDF даёт ИИ-агенту 24 инструмента — агент сам выбирает операцию по вашей просьбе. Ключ и баланс — те же, что у REST API.

## Подключение

| | |
|---|---|
| Адрес | `https://mcp.smartpdf.ru/mcp` |
| Транспорт | Streamable HTTP, без сессий |
| Ключ | `Authorization: Bearer sk_live_…` или `X-API-Key: sk_live_…` |

Ключ в адресе (`?token=`) не принимается: спецификация MCP это запрещает, а адрес попадает в журналы. Список инструментов (`tools/list`) доступен и без ключа, вызов инструмента без ключа вернёт ошибку со ссылкой на кабинет.

Пошаговые инструкции: [Claude Code](https://dev.smartpdf.ru/docs/claude-code), [Claude Desktop](https://dev.smartpdf.ru/docs/claude-desktop), [Cursor](https://dev.smartpdf.ru/docs/cursor), [VS Code](https://dev.smartpdf.ru/docs/vscode), [Codex CLI](https://dev.smartpdf.ru/docs/codex), [Gemini CLI](https://dev.smartpdf.ru/docs/gemini), [Windsurf и Cline](https://dev.smartpdf.ru/docs/other-clients), [n8n](https://dev.smartpdf.ru/docs/n8n), [Make](https://dev.smartpdf.ru/docs/make).

## Как агент работает с файлами

Инструменты принимают **публичную ссылку** на файл (`file_url`, до 100 МБ) и возвращают ссылку на результат (`download_url`) со сроком (`expires_at`). Файл с компьютера агент сначала загружает через REST API — см. [Как передать файл](https://dev.smartpdf.ru/docs/files).

## Инструменты

| Инструмент | Что делает | REST |
|---|---|---|
| `word_to_pdf` | Word в PDF | `POST /v1/pdf/word-to-pdf` |
| `jpg_to_pdf` | JPG в PDF | `POST /v1/pdf/jpg-to-pdf` |
| `xlsx_to_pdf` | Excel в PDF | `POST /v1/pdf/xlsx-to-pdf` |
| `pptx_to_pdf` | PowerPoint в PDF | `POST /v1/pdf/pptx-to-pdf` |
| `html_to_pdf` | HTML в PDF | `POST /v1/pdf/html-to-pdf` |
| `pdf_to_word` | PDF в Word | `POST /v1/pdf/to-word` |
| `pdf_to_jpg` | PDF в JPG | `POST /v1/pdf/to-jpg` |
| `pdf_to_excel` | PDF в Excel | `POST /v1/pdf/to-excel` |
| `pdf_to_pptx` | PDF в PowerPoint | `POST /v1/pdf/to-pptx` |
| `pdf_to_txt` | PDF в текст | `POST /v1/pdf/to-txt` |
| `compress_pdf` | Сжать PDF | `POST /v1/pdf/compress` |
| `merge_pdfs` | Объединить PDF | `POST /v1/pdf/merge` |
| `split_pdf` | Разделить PDF | `POST /v1/pdf/split` |
| `ocr_pdf` | Распознать текст | `POST /v1/pdf/ocr` |
| `flatten_pdf` | Сгладить PDF | `POST /v1/pdf/flatten` |
| `delete_pages` | Удалить страницы | `POST /v1/pdf/delete-pages` |
| `extract_pages` | Извлечь страницы | `POST /v1/pdf/extract-pages` |
| `rotate_pdf` | Повернуть страницы | `POST /v1/pdf/rotate` |
| `reorder_pages` | Порядок страниц | `POST /v1/pdf/reorder-pages` |
| `add_page_numbers` | Нумерация страниц | `POST /v1/pdf/add-page-numbers` |
| `sign_pdf` | Подписать PDF | `POST /v1/pdf/sign` |
| `protect_pdf` | Защитить паролем | `POST /v1/pdf/protect` |
| `unlock_pdf` | Снять пароль | `POST /v1/pdf/unlock` |
| `watermark_pdf` | Водяной знак | `POST /v1/pdf/watermark` |
| `get_balance` | Баланс API, расход за месяц и цена запроса | `GET /v1/api-keys/balance` |

Параметры каждого инструмента агент получает от сервера сам — они те же, что у REST, но вместо `file_id` — ссылка на файл.

## Оплата

Каждый вызов инструмента — запрос API с той же ценой ([Оплата](https://dev.smartpdf.ru/docs/billing)). `get_balance` показывает остаток и цену запроса. Если денег не хватает, агент получит ошибку с объяснением.

## Примеры запросов к агенту

- «Сожми PDF по этим ссылкам и пришли ссылки на результат»
- «Распознай текст в скане договора и сделай из него Word»
- «Объедини три счёта в один PDF и пронумеруй страницы»
- «Поставь водяной знак «КОПИЯ» на все страницы»
- «Сколько осталось на балансе SmartPDF?»
