# OfficeAgent.NET

MCP-сервер, который даёт агенту типизированные операции над .docx, .pptx и .xlsx: правки, таблицы, комментарии, шаблоны.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 27
- Автор: ilia-sokolov
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/ilia-sokolov/OfficeAgent.NET
- Обновлён: 2026-10-22
- HTML: https://affpapa.org/nevibecode/mcp/officeagentnet

## Что делает

OfficeAgent.NET — это .NET-библиотека на Open XML SDK, и MCP-сервер — один из трёх способов достучаться до её движка. Агент работает не с сырым XML, а с JSON-операциями вроде «замени пункт как отслеживаемую правку» или «добавь строку в таблицу». Один клиент сам разводит документ по нужному модулю: Word, PowerPoint или Excel.

Внутри — создание и правка `.docx` (текст, таблицы, стили, колонтитулы, свойства), работа с комментариями и ревизиями, сборка колод `.pptx` со слайдами, нативными диаграммами и заметками, инспекция листов и диапазонов в `.xlsx`, подстановка значений в шаблоны по тегам content controls. Есть сравнение текста Word в режиме только чтения и генерация redline-плана, если остальное содержимое пакета не менялось.

Сервер запускается через Docker-образ `ghcr.io/ilia-sokolov/officeagent-mcp:1.2.0`, поэтому Docker должен быть на машине. Доступ к файлам ограничен корнями, которые вы задаёте в `OfficeAgent__FileSystemConnections__0__RootPath`; без настроенного хранилища тоже можно работать, но тогда документы живут в сессии. Для сценариев, где важен движок расчётов или вёрстки самого Office, библиотека не подойдёт — она оперирует структурой пакета, а не пересчитывает формулы.

## Требования
- Нужно: Docker
- Переменные окружения: `OfficeAgent__FileSystemConnections__0__ConnectionId`, `OfficeAgent__FileSystemConnections__0__RootPath`, `OfficeAgent__AllowCreation` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env OfficeAgent__FileSystemConnections__0__ConnectionId=<OfficeAgent__FileSystemConnections__0__ConnectionId> --env OfficeAgent__FileSystemConnections__0__RootPath=<OfficeAgent__FileSystemConnections__0__RootPath> --env OfficeAgent__AllowCreation=<OfficeAgent__AllowCreation> --transport stdio officeagentnet -- docker run -i --rm -e OfficeAgent__FileSystemConnections__0__ConnectionId -e OfficeAgent__FileSystemConnections__0__RootPath -e OfficeAgent__AllowCreation ghcr.io/ilia-sokolov/officeagent-mcp:1.2.0
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add officeagentnet --env OfficeAgent__FileSystemConnections__0__ConnectionId=<OfficeAgent__FileSystemConnections__0__ConnectionId> --env OfficeAgent__FileSystemConnections__0__RootPath=<OfficeAgent__FileSystemConnections__0__RootPath> --env OfficeAgent__AllowCreation=<OfficeAgent__AllowCreation> -- docker run -i --rm -e OfficeAgent__FileSystemConnections__0__ConnectionId -e OfficeAgent__FileSystemConnections__0__RootPath -e OfficeAgent__AllowCreation ghcr.io/ilia-sokolov/officeagent-mcp:1.2.0
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "officeagentnet": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "OfficeAgent__FileSystemConnections__0__ConnectionId",
                "-e",
                "OfficeAgent__FileSystemConnections__0__RootPath",
                "-e",
                "OfficeAgent__AllowCreation",
                "ghcr.io/ilia-sokolov/officeagent-mcp:1.2.0"
            ],
            "env": {
                "OfficeAgent__FileSystemConnections__0__ConnectionId": "<OfficeAgent__FileSystemConnections__0__ConnectionId>",
                "OfficeAgent__FileSystemConnections__0__RootPath": "<OfficeAgent__FileSystemConnections__0__RootPath>",
                "OfficeAgent__AllowCreation": "<OfficeAgent__AllowCreation>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "officeagentnet": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "OfficeAgent__FileSystemConnections__0__ConnectionId",
                "-e",
                "OfficeAgent__FileSystemConnections__0__RootPath",
                "-e",
                "OfficeAgent__AllowCreation",
                "ghcr.io/ilia-sokolov/officeagent-mcp:1.2.0"
            ],
            "env": {
                "OfficeAgent__FileSystemConnections__0__ConnectionId": "<OfficeAgent__FileSystemConnections__0__ConnectionId>",
                "OfficeAgent__FileSystemConnections__0__RootPath": "<OfficeAgent__FileSystemConnections__0__RootPath>",
                "OfficeAgent__AllowCreation": "<OfficeAgent__AllowCreation>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e OfficeAgent__FileSystemConnections__0__ConnectionId=<OfficeAgent__FileSystemConnections__0__ConnectionId> -e OfficeAgent__FileSystemConnections__0__RootPath=<OfficeAgent__FileSystemConnections__0__RootPath> -e OfficeAgent__AllowCreation=<OfficeAgent__AllowCreation> officeagentnet docker run -i --rm -e OfficeAgent__FileSystemConnections__0__ConnectionId -e OfficeAgent__FileSystemConnections__0__RootPath -e OfficeAgent__AllowCreation ghcr.io/ilia-sokolov/officeagent-mcp:1.2.0
```
Вместо <…> подставьте свои значения

## Когда брать
- собрать .docx из шаблона и данных без ручной вёрстки
- внести правку в договор как отслеживаемую ревизию
- добавить строку в таблицу Excel и записать формулу

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
