A GroupDocs MCP server дозволяє Claude Desktop, Claude Code, Cursor, GitHub Copilot та іншим MCP‑клієнтам працювати з вашими документами локально: клієнт запускає сервер як дочірній процес на вашій машині, а файли читаються і записуються у вказані вами теки. Повна архітектура та модель безпеки задокументовані на сторінці кожного продукту про розгортання на власних серверах, наприклад Running GroupDocs MCP servers on-premise: architecture and security model. У цій статті порівнюються три поширені способи підключення AI‑агента до документів і пояснюється, що залишає машину, а що ні.

Які архітектури можуть підключити AI‑агента до документів?

Є три. Вони різняться питанням, яке спочатку ставить ревізор безпеки: куди потрапляє документ?

Завантаження в хмару Хостований API Локальний MCP‑сервер
Як працює Асистент або плагін завантажує файл у сервіс постачальника Ваш код або агент викликає REST‑API постачальника з файлом AI‑клієнт запускає процес сервера на вашій машині
Куди йде документ Хмара стороннього постачальника Хмара стороннього постачальника або ваш власний тенант Ніде: читається і записується лише у локальні теки
Мережева поверхня Вихідний трафік до постачальника Вихідний трафік до постачальника Тільки stdio; без ліцензійного файлу – нічого, лише звіти про використання (без вмісту документів) при метричному ліцензуванні
Вхідні порти Не застосовується Не застосовується Жодного
Використання в ізольованих мережах Неможливо Зазвичай ні; залежить від варіантів розгортання постачальника Можливо за наявності ліцензійного файлу
Хто запускає Постачальник Постачальник Ви, як частина AI‑клієнта

Третій стовпець — це те, що реалізують сервери GroupDocs MCP. У решті статті розглядаються, як це працює, і які є обмеження.

Яким виглядає потік даних локального MCP‑сервера?

AI‑клієнт запускає сервер як дочірній процес і спілкується з ним через стандартний ввід/вивід за допомогою JSON‑RPC. Сервер ніколи не слухає мережевий порт, і при використанні ліцензійного файлу не встановлює жодних вихідних з’єднань.

+--------------+          +--------------------+         +------------------+
|  AI client   |  stdio   | MCP server process | reads / | local filesystem |
| (Claude,     | <------> | (GroupDocs engine) | <-----> | storage / output |
|  Cursor, ..) | JSON-RPC |   child process    |  writes |     folders      |
+--------------+          +--------------------+         +------------------+
       |
       | prompts and quoted fragments only
       v
+--------------------+
|   model provider   |  (cloud, or a local model inside your network)
+--------------------+

Ревізор безпеки отримує чотири перевіряємі твердження:

  • Транспорт: стандартний ввід і вивід до дочірнього процесу. Нічого не потрібно фільтрувати у брандмауері і нічого не потрібно відкривати.
  • Вхідні порти: жодних.
  • Телеметрія: відсутня. Двигун документів працює в процесі.
  • Використання мережі: лише під час встановлення, щоб завантажити пакет з nuget.org або образ з ghcr.io. Під час роботи сервер не робить вихідних викликів, за винятком ліцензійного випадку, описаного нижче.

Перевірити це можна самостійно: запустіть задачу і спостерігайте за відкритими сокетами та вихідними з’єднаннями.

Що залишає машину, коли агент обробляє документ?

Документи не залишають машину. Промпти та цитовані фрагменти – так.

Модель, що стоїть за вашим AI‑клієнтом, бачить всю розмову. Якщо модель розміщена в хмарі, ваш текст інструкції потрапляє до постачальника моделі, і так само все, що агент цитує вам у відповідь. Два приклади:

  • Після порівняння агент повідомляє, що умова платежу змінилася з 30 до 45 днів. Це речення є частиною розмови і надсилається постачальнику.
  • Після витягнення агент повідомляє суму рахунку. Файл не переміщувався, але значення було передано.

Корисна звичка – формулювати промпти так, щоб відповідь містила мінімум інформації, наприклад запитувати, які файли мають суму вище певного порогу, замість запиту самих сум. Для чутливих корпусів варто поєднувати сервер з локально розгорнутою моделлю. Тоді весь цикл (клієнт, модель, сервер, файли) залишатиметься у вашій мережі.

Чи потрібен інтернет доступ локальному серверу?

Не для обробки. Це залежить від режиму ліцензування:

  • Ліцензійний файл: читається з локального диска локальним процесом. Працює повністю офлайн і є правильним вибором для ізольованих мереж.
  • Метричне (pay‑per‑use): сервер надсилає звіти про використання до GroupDocs, тому потрібен вихідний трафік. Звіт не містить вмісту документів, проте саме з’єднання має бути дозволене вашим брандмауером.

Якщо налаштовано і метричні ключі, і ліцензійний файл, пріоритет мають метричні ключі. Тримайте ключі у змінних середовища, а не в закоміченій конфігурації. Сторінка ліцензування кожного продукту описує налаштування, а інструмент get_license_status повідомляє про активний режим.

Як запустити сервер у межах периметра за допомогою Docker?

Docker‑образ часто є простішим варіантом для платформенної команди: один образ зі всіма нативними залежностями, без SDK на хості, і межа, обмежена лише теками, які ви монтуєте. Кожен продукт має свій образ, названий ghcr.io/groupdocs-<product>/<product>-net-mcp. Нижче наведено приклад команди для одного продукту; замініть заповнювачі.

docker run --rm -i \
  -v /srv/documents:/data \
  -v /srv/licenses:/license:ro \
  -e GROUPDOCS_MCP_STORAGE_PATH=/data \
  -e GROUPDOCS_LICENSE_PATH=/license/GroupDocs.<Product>.lic \
  ghcr.io/groupdocs-<product>/<product>-net-mcp:<tag>
  • Закріпіть тег. Швидкі стартові команди використовують :latest; для продакшн‑середовища закріпіть тег до версії, яку ви протестували, щоб повторна збірка не змінила поведінку під час виконання робочого процесу.
  • Монтуйте навмисно. Контейнер бачить лише ті теки, які ви йому надали, що створює більш жорстку межу, ніж процес, запущений від вашого користувача.
  • Монтуйте ліцензію лише для читання.
  • Сегменти без підключення до інтернету: попередньо завантажте образ або попередньо кешуйте пакет NuGet і закріпіть версію.

Ваш AI‑клієнт виконує цю команду docker run як команду сервера у своїй MCP‑конфігурації, тому контейнер є дочірнім процесом у схемі вище. Документація описує образи як multi‑arch (linux/amd64 і linux/arm64).

Чи підходить локальний MCP‑сервер для регульованих галузей?

Він усуває головне питання у перевірці конфіденційності – передачу документів сторонньому процесору. Команди юридичних, фінансових, медичних та державних підрозділів, у яких політика забороняє завантаження документів, можуть використовувати його як будівельний блок для робочих процесів, орієнтованих на HIPAA або GDPR. Це лише опис архітектурної придатності. Сервери GroupDocs MCP не сертифіковані під жоден регламент, і ваші зобов’язання все одно залежать від моделі, яку ви під’єднаєте, режиму ліцензування та ваших власних контролів.

Які обмеження має ця модель?

  • Один сервер обслуговує один процес‑клієнт. stdio‑сервер запускається одним клієнтом на одній машині. Це не багатокористувацька служба. Для спільного використання розмістіть власний сервіс перед бібліотекою GroupDocs замість запуску багатьох MCP‑серверів.
  • Метричне ліцензування потребує вихідного трафіку. Звіти про використання надсилаються, як описано вище. Якщо мережа має бути закрита, оберіть ліцензійний файл.
  • Промпти все одно потрапляють до постачальника моделі, якщо ви не використовуєте локально розгорнуту модель.
  • Режим оцінки має обмеження. Без ліцензії сервери працюють у режимі оцінки з обмеженнями, специфічними для продукту. Наприклад, сервер Comparison порівнює лише перші 2 сторінки і додає водяний знак до результату. Спочатку викличте get_license_status і ознайомтеся зі сторінкою ліцензування вашого продукту.
  • Parser і Search доступні лише як Docker‑образи. GroupDocs.Parser.Mcp і GroupDocs.Search.Mcp не мають пакету NuGet, тому шлях Docker – єдиний варіант для цих продуктів. На Linux‑хості запускайте їхні контейнери з --user "$(id -u):$(id -g)", щоб вони могли записувати у змонтовані теки.
  • Винятки платформи. Дві операції, специфічні для PDF, наразі не працюють на Linux, включаючи Docker‑образ, оскільки обробка зображень у PDF‑движку залежить від System.Drawing.Common, який .NET підтримує лише на Windows: GroupDocs.Annotation.Mcp generate_pages_preview для PDF‑файлів (для Word‑документів працює), а GroupDocs.Redaction.Mcp redact_image_area і erase_metadata для PDF‑файлів (redact_text для PDF і всі три методи для Word‑документів працюють). Запускайте їх на Windows з dnx; дивіться пости продукту.

FAQ

Чи безпечний MCP для конфіденційних документів?
З сервером GroupDocs MCP документи обробляються в процесі на вашій машині через stdio, без відкритих портів і без телеметрії. Що залишилося оцінювати, – це модель, яку використовує ваш AI‑клієнт, оскільки промпти та цитовані фрагменти потрапляють туди.

Чи можу я запускати інструменти Claude без надсилання даних у хмару?
Документи залишаються локальними в будь‑якому випадку. Щоб і промпти залишалися локальними, використовуйте клієнт, що підтримує локально розгорнуту модель, і жодна частина розмови не залишатиме вашу мережу.

Які дані надсилає MCP‑сервер?
Під час виконання сервер GroupDocs MCP нічого не надсилає по мережі, коли використовується ліцензійний файл. При метричному ліцензуванні надсилаються лише звіти про використання до GroupDocs, без вмісту документів.

По продукту: сторінки on‑premise у документації

Кожна сторінка описує ту ж архітектуру з командами для відповідного продукту. Це канонічні посилання для перевірки безпеки.

По продукту: з чого почати в блозі

Кожен продукт має серію постів — зазвичай чотири, для Search шість. Перший пояснює шаблон; інші його застосовують.