Skip to main content
Glama
theWDY

office-editor-mcp

by theWDY

MCP-сервер для обработки офисных документов

EN CN

MCP Server Python License

MCP-сервер (Model Context Protocol) для обработки офисных документов, позволяющий создавать и редактировать документы Word, Excel и PowerPoint в MCP-клиентах, не покидая среду ИИ-ассистента.

Обзор

Office-Editor-MCP реализует стандарт Model Context Protocol, предоставляя операции с офисными документами в виде инструментов и ресурсов. Он служит мостом между ИИ-ассистентами и документами Microsoft Office, позволяя создавать, редактировать, форматировать и анализировать различные офисные документы с помощью ИИ-ассистентов.

Related MCP server: word-doc-mcp

Возможности

Операции с документами Word

Управление документами

  • Создание новых документов Word с метаданными (заголовок, автор и т. д.)

  • Извлечение текстового содержимого и анализ структуры документа

  • Просмотр свойств и статистики документа

  • Список доступных документов в каталоге

  • Создание копий документов

Создание содержимого

  • Добавление заголовков разных уровней

  • Вставка абзацев с дополнительным форматированием

  • Создание таблиц с пользовательскими данными

  • Добавление изображений с пропорциональным масштабированием

  • Вставка разрывов страниц

Форматирование текста

  • Форматирование отдельных фрагментов текста (полужирный, курсив, подчеркивание)

  • Изменение цвета текста и свойств шрифта

  • Применение пользовательских стилей к элементам текста

  • Поиск и замена текста по всему документу

Операции с Excel

Управление книгами

  • Создание новых книг Excel

  • Открытие существующих файлов Excel

  • Добавление/удаление/переименование листов

Обработка данных

  • Чтение и запись содержимого ячеек

  • Вставка/удаление строк и столбцов

  • Сортировка и фильтрация данных

  • Применение формул и функций

Операции с PowerPoint

Управление презентациями

  • Создание новых презентаций PowerPoint

  • Добавление/удаление/перестановка слайдов

  • Настройка тем и фона слайдов

Редактирование содержимого

  • Добавление текстовых и графических элементов

  • Вставка таблиц и диаграмм

  • Добавление анимации и переходов

Расширенные возможности

  • Распознавание OCR (извлечение текста из изображений)

  • Сравнение документов (сравнение различий между документами)

  • Перевод документов

  • Шифрование и дешифрование документов

  • Импорт/экспорт табличных данных (взаимодействие с базами данных)

Руководство по установке

Предварительные требования

  • Python 3.10 или выше

  • Менеджер пакетов pip

  • Microsoft Office требуется только для COM-функций Windows, таких как экспорт в PDF, анимации, переходы и устаревшие форматы Office

  • Tesseract OCR требуется при использовании ocr_recognize_text

Базовая установка

# Clone the repository
git clone https://github.com/theWDY/office-editor-mcp.git
cd office-editor-mcp

# Install dependencies
pip install -r requirements.txt

Репозиторий предоставляет четыре независимых MCP-сервера: word_server.py, excel_server.py, powerpoint_server.py и general_server.py. Настройте только те серверы, которые вам нужны. Включенный файл .cursor/mcp.json содержит полный пример с четырьмя серверами.

Конфигурация

Настройка в Cursor

Способ 1: Настройка через интерфейс

  1. Откройте Cursor

  2. Перейдите в Настройки > Функции > MCP

  3. Нажмите «+ Добавить новый MCP-сервер»

  4. Заполните информацию о конфигурации:

    • Имя: Office Assistant (измените по желанию)

    • Тип: выберите stdio

    • Команда: введите полный путь для запуска сервера, например:

      python /path/to/office-editor-mcp/word_server.py

      Примечание: замените на ваш фактический путь к файлу

Способ 2: Файл конфигурации JSON (рекомендуется)

  1. Создайте папку .cursor в каталоге проекта (если её нет)

  2. Создайте файл mcp.json в этой папке со следующим содержимым:

{
  "mcpServers": {
    "office-assistant": {
      "command": "python",
      "args": ["/path/to/office-editor-mcp/word_server.py"],
      "env": {"OFFICE_EDIT_PATH": "/path/to/output"}
    }
  }
}

Настройка в Claude for Desktop

  1. Отредактируйте файл конфигурации Claude:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Добавьте следующую конфигурацию:

{
  "mcpServers": {
    "office-document-server": {
      "command": "python",
      "args": [
        "/path/to/office-editor-mcp/word_server.py"
      ]
    }
  }
}
  1. Перезапустите Claude, чтобы применить конфигурацию.

Все пути, обрабатываемые general_server.py, должны находиться внутри OFFICE_EDIT_PATH. Операции перемещения и удаления отключены, если явно не задано OFFICE_ALLOW_DESTRUCTIVE=true.

Новые зашифрованные файлы используют версионированный контейнер Fernet со случайной солью и выводом ключа Scrypt. Существующие зашифрованные файлы остаются читаемыми и могут быть повторно зашифрованы для обновления. Пакетные операции ограничены 100 файлами и 16 рабочими процессами на запрос.

Примеры использования

После настройки вы можете давать команды вашему ИИ-ассистенту, например:

Операции с документами Word

  • «Создай новый документ "quarterly_report.docx" с титульной страницей»

  • «Добавь заголовок и три абзаца в документ»

  • «Вставь таблицу 4x4 с данными о продажах»

  • «Сделай слово "важно" во втором абзаце жирным и красным»

  • «Найди и замени все вхождения "старый термин" на "новый термин"»

Операции с Excel

  • «Создай новую книгу Excel с именем "financial_analysis.xlsx"»

  • «Вставь "Квартальные продажи" как заголовок в ячейку A1»

  • «Создай таблицу с данными о продажах по отделам и вычисли сумму»

  • «Создай столбчатую диаграмму для данных о продажах»

  • «Отсортируй данные в столбце B по убыванию»

Операции с PowerPoint

  • «Создай презентацию с именем "project_presentation.pptx"»

  • «Добавь новый слайд с заголовком "Обзор проекта"»

  • «Вставь логотип компании на слайд 2»

  • «Добавь анимацию вылета для заголовка»

Справочник по API

Операции с документами Word

# Document Creation and Properties
create_document(filename, title=None, author=None)
get_document_info(filename)
get_document_text(filename)
get_document_outline(filename)
list_available_documents(directory=".")
copy_document(source_filename, destination_filename=None)

# Content Addition
add_heading(filename, text, level=1)
add_paragraph(filename, text, style=None)
add_table(filename, rows, cols, data=None)
add_picture(filename, image_path, width=None)
add_page_break(filename)

# Text Formatting
format_text(filename, paragraph_index, start_pos, end_pos, bold=None, 
            italic=None, underline=None, color=None, font_size=None, font_name=None)
search_and_replace(filename, find_text, replace_text)
delete_paragraph(filename, paragraph_index)
create_custom_style(filename, style_name, bold=None, italic=None, 
                    font_size=None, font_name=None, color=None, base_style=None)

Операции с Excel

# Workbook Operations
create_workbook(filename)
open_workbook(filename)
save_workbook(filename, new_filename=None)
add_worksheet(filename, sheet_name=None)
list_worksheets(filename)

# Cell Operations
read_cell(filename, sheet_name, cell_reference)
write_cell(filename, sheet_name, cell_reference, value)
format_cell(filename, sheet_name, cell_reference, **format_args)

Операции с PowerPoint

# Presentation Operations
create_presentation(filename)
open_presentation(filename)
save_presentation(filename, new_filename=None)
add_slide(filename, layout=None)

Устранение неполадок

Частые проблемы

  1. Отсутствующие стили

    • В некоторых документах могут отсутствовать необходимые стили для операций с заголовками и таблицами

    • Сервер попытается создать недостающие стили или использовать прямое форматирование

    • Для достижения наилучших результатов используйте шаблоны со стандартными стилями Office

  2. Проблемы с правами доступа

    • Убедитесь, что у сервера есть права на чтение/запись в пути к документам

    • Используйте функцию copy_document для создания редактируемых копий заблокированных документов

    • Проверьте права владельца и доступа к файлам, если операции завершаются ошибкой

  3. Проблемы со вставкой изображений

    • Используйте абсолютные пути к файлам изображений

    • Проверьте совместимость формата изображений (рекомендуются JPEG, PNG)

    • Проверьте размер файла изображения и права доступа

Отладка

Включите подробное журналирование, установив переменную окружения:

export MCP_DEBUG=1  # Linux/macOS
set MCP_DEBUG=1     # Windows

Ход реализации

  • ✅ Создан базовый каркас MCP-сервера

  • ✅ Успешная интеграция с ИИ-ассистентами

  • ✅ Базовые операции с документами Word

  • ✅ Базовые операции с книгами Excel

  • ✅ Базовые операции с презентациями PowerPoint

  • ✅ Расширенные функции

  • ✅ Оптимизация производительности

  • ✅ Тестирование кроссплатформенной совместимости

Вклад в проект

Приветствуется вклад в развитие проекта! Не стесняйтесь отправлять запросы на включение изменений.

  1. Сделайте форк репозитория

  2. Создайте ветку для новой функции (git checkout -b feature/amazing-feature)

  3. Зафиксируйте изменения (git commit -m 'Add some amazing feature')

  4. Отправьте изменения в ветку (git push origin feature/amazing-feature)

  5. Откройте запрос на включение изменений

Лицензия

Этот проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.

Благодарности


Примечание: этот сервер взаимодействует с файлами документов в вашей системе. Всегда проверяйте, что запрашиваемые операции уместны, перед их подтверждением в ИИ-ассистентах или других MCP-клиентах.

Related MCP Connectors

Related MCP Servers