ByAxe/keynote-mcp

ByAxe/keynote-mcp

от byaxe
MCP-сервер для Apple Keynote через AppleScript. Нейросеть создаёт, редактирует и экспортирует презентации на macOS на естественном языке. Встроенный скилл Claude решает проблемы верстки: подрезку ш...

Keynote MCP

License: MIT Python 3.10+ PyPI macOS

An MCP server that gives AI full control over Apple Keynote through AppleScript automation. Create, edit, and export presentations — all via natural language.

Ships with a Claude Skill that encodes layout rules, font workarounds, and design patterns so presentations come out right on the first try.

Quick Start

Prerequisites
  • macOS 10.14+
  • Keynote application installed
  • Python 3.10+
Option A: Install from PyPI
pip install keynote-mcp

Or run directly with uvx (no install needed):

uvx keynote-mcp
Option B: Install from source
git clone https://github.com/ByAxe/keynote-mcp.git
cd keynote-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e .
Register the MCP server

Claude Code (PyPI install / uvx):

claude mcp add keynote-mcp keynote-mcp

Claude Code (from source):

claude mcp add keynote-mcp "bash -c cd $(pwd) && .venv/bin/python -m keynote_mcp"

Claude Desktop — add to claude_desktop_config.json:

{
  "mcpServers": {
    "keynote-mcp": {
      "command": "keynote-mcp",
      "env": {
        "UNSPLASH_KEY": "your_key_here"
      }
    }
  }
}
Инструменты были проиндексированы:
add_bullet_list

Добавляет маркированный список на слайд

Параметры
  • font_namestring

    Название шрифта (необязательно)

  • font_sizenumber

    Размер шрифта (необязательно, по умолчанию 18)

  • itemsstring[]обязательный

    Перечисляет элементы.

  • slide_numberintegerобязательный

    Номер слайда

  • xnumber

    Координата X в пикселях (необязательно). Рекомендуемое значение для списка: 100-150

  • ynumber

    Координата Y в пикселях (необязательно). Для списка рекомендуется: 200-300.

add_code_block

Добавляет блок кода на слайд

Параметры
  • codestringобязательный

    Содержимое кода.

  • font_namestring

    Название шрифта (необязательно, по умолчанию Monaco)

  • font_sizenumber

    Размер шрифта (необязательно, по умолчанию 18)

  • slide_numberintegerобязательный

    Номер слайда

  • xnumber

    X-координата в пикселях (необязательно). Рекомендуется для кода: 100-200.

  • ynumber

    Координата Y в пикселях (необязательно). Рекомендуется для кода: 250-350.

add_image

Добавляет изображение на слайд

Параметры
  • image_pathstringобязательный

    Путь к файлу изображения.

  • slide_numberintegerобязательный

    Номер слайда

  • xnumber

    Координата X в пикселях (необязательно). Рекомендуемое значение для изображения: 400-600.

  • ynumber

    Y-координата в пикселях (необязательно). Рекомендуется для изображения: 200-400.

add_numbered_list

Добавляет нумерованный список на слайд.

Параметры
  • font_namestring

    Название шрифта (необязательно)

  • font_sizenumber

    Размер шрифта (необязательно, по умолчанию 18)

  • itemsstring[]обязательный

    Перечисляет элементы.

  • slide_numberintegerобязательный

    Номер слайда

  • xnumber

    Координата X в пикселях (необязательно). Рекомендуемое значение для списка: 100-150

  • ynumber

    Координата Y в пикселях (необязательно). Для списка рекомендуется: 200-300.

add_quote

Добавляет цитату на слайд

Параметры
  • font_namestring

    Название шрифта (необязательно)

  • font_sizenumber

    Размер шрифта (необязательно, по умолчанию 18)

  • quotestringобязательный

    Цитирует текст.

  • slide_numberintegerобязательный

    Номер слайда

  • xnumber

    Координата X в пикселях (необязательно). Рекомендуемое значение для цитаты: 150-250

  • ynumber

    Y-координата в пикселях (необязательно). Рекомендуемое значение для цитаты: 300-400

add_slide

Добавляет новый слайд в презентацию.

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • layoutstring

    Тип макета (необязательно)

  • positioninteger

    Позиция вставки (необязательно, 0 = добавить в конец)

add_subtitle

Добавляет подзаголовок на слайд

Параметры
  • font_namestring

    Название шрифта (необязательно)

  • font_sizenumber

    Размер шрифта (необязательно, по умолчанию 18)

  • slide_numberintegerобязательный

    Номер слайда

  • subtitlestringобязательный

    Текст субтитра

  • xnumber

    Координата X в пикселях (необязательный параметр). Рекомендуемое значение для субтитра: 100-200.

  • ynumber

    Координата Y в пикселях (необязательно). Рекомендуемое значение для субтитров: 120-180.

add_text_box

Добавляет текстовое поле на слайд.

Параметры
  • slide_numberintegerобязательный

    Номер слайда

  • textstringобязательный

    Текстовое содержимое

  • xnumber

    Координата X в пикселях (необязательно). Начало координат (0,0) - верхний левый угол. Рекомендуется: 50-950px.

  • ynumber

    Координата Y в пикселях (необязательно). Начало координат (0,0) находится в верхнем левом углу. Рекомендуемый диапазон: 50-650px.

add_title

Добавляет заголовок на слайд

Параметры
  • font_namestring

    Название шрифта (необязательно)

  • font_sizenumber

    Размер шрифта (необязательно, по умолчанию 18)

  • slide_numberintegerобязательный

    Номер слайда

  • titlestringобязательный

    Вы не указали сам текст для перевода. Пожалуйста, отправьте входной текст.

  • xnumber

    Координата X в пикселях (необязательно). Для заголовка рекомендуется: 100-200

  • ynumber

    Координата Y в пикселях (необязательно). Рекомендуется для заголовка: 50-100

add_unsplash_image_to_slide

Ищет в Unsplash и добавляет изображение на слайд

Параметры
  • heightnumber

    Высота изображения (необязательно)

  • image_indexinteger

    Выбирает индекс изображения (0-9, по умолчанию 0)

  • orientationenum

    Ориентация изображения (альбомная/портретная/почти квадратная)

  • querystringобязательный

    Поисковый запрос

  • slide_numberintegerобязательный

    Номер слайда

  • widthnumber

    Ширина изображения (необязательно)

  • xnumber

    Координата X (необязательно)

  • ynumber

    Координата Y (необязательно)

close_presentation

Закрывает презентацию

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • should_saveboolean

    Сохранять ли перед закрытием (по умолчанию: true)

create_presentation

Создаёт новую презентацию Keynote.

Параметры
  • templatestring

    Путь к шаблону (необязательно)

  • themestring

    Название темы (необязательно)

  • titlestringобязательный

    Название презентации

delete_element

Удаляет элемент по типу и индексу из слайда

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • element_indexintegerобязательный

    Индекс элемента (начиная с 1)

  • element_typeenumобязательный

    Тип элемента: текст, изображение, фигура или таблица.

  • slide_numberintegerобязательный

    Номер слайда

delete_slide

Удаляет слайд

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • slide_numberintegerобязательный

    Номер удаляемого слайда

duplicate_slide

Дублирует слайд.

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • new_positioninteger

    Новая позиция (необязательно, 0 = добавить в конец)

  • slide_numberintegerобязательный

    Номер слайда для дублирования

edit_text_item

Редактирует содержимое текстового элемента по индексу на слайде.

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • item_indexintegerобязательный

    Индекс текстового элемента (начиная с 1)

  • new_textstringобязательный

    Новый текстовый контент

  • slide_numberintegerобязательный

    Номер слайда

export_pdf

Экспортирует презентацию в PDF

Параметры
  • output_pathstringобязательный

    Путь к выходному файлу

get_available_layouts

Получает список доступных макетов слайдов.

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

get_available_themes

Получает список доступных тем.

Параметры

Без параметров.

get_presentation_info

Получает информацию о презентации (название, количество слайдов, тема)

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

get_presentation_resolution

Получает разрешение презентации (ширина, высота, соотношение сторон)

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

get_random_unsplash_image

Получает случайное изображение Unsplash и добавляет его на слайд.

Параметры
  • heightnumber

    Высота изображения (необязательно)

  • orientationenum

    Ориентация изображения (альбомная/портретная/почти квадратная)

  • querystring

    Поисковый запрос (необязательно)

  • slide_numberintegerобязательный

    Номер слайда

  • widthnumber

    Ширина изображения (необязательно)

  • xnumber

    Координата X (необязательно)

  • ynumber

    Координата Y (необязательно)

get_slide_content

Получает все элементы на слайде: возвращает количество и детали для текстовых элементов, изображений, фигур и таблиц.

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • slide_numberintegerобязательный

    Номер слайда

get_slide_count

Получает количество слайдов

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

get_slide_info

Получает информацию о слайде (номер, макет, количество текстовых элементов)

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • slide_numberintegerобязательный

    Номер слайда

get_slide_size

Получает размер слайда, соотношение сторон и справочную информацию о макете

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

get_speaker_notes

Получает заметки докладчика из слайда

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • slide_numberintegerобязательный

    Номер слайда

list_presentations

Перечисляет все открытые презентации

Параметры

Без параметров.

move_element

Перемещает элемент на новые координаты на слайде

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • element_indexintegerобязательный

    Индекс элемента (начиная с 1)

  • element_typeenumобязательный

    Тип элемента: текст, изображение, фигура или таблица.

  • slide_numberintegerобязательный

    Номер слайда

  • xnumberобязательный

    Новая координата X в пикселях

  • ynumberобязательный

    Новая координата Y в пикселях

move_slide

Перемещает слайд на другую позицию

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • from_positionintegerобязательный

    Исходное положение

  • to_positionintegerобязательный

    Целевая позиция

open_presentation

Открывает существующую презентацию Keynote

Параметры
  • file_pathstringобязательный

    Путь к файлу презентации

resize_element

Изменяет размер элемента на слайде

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • element_indexintegerобязательный

    Индекс элемента (начиная с 1)

  • element_typeenumобязательный

    Тип элемента: текст, изображение, фигура или таблица.

  • heightnumberобязательный

    Новая высота в пикселях

  • slide_numberintegerобязательный

    Номер слайда

  • widthnumberобязательный

    Новая ширина в пикселях

save_presentation

Сохраняет презентацию

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

screenshot_slide

Делает снимок экрана одного слайда

Параметры
  • formatstring

    Формат изображения (png/jpg, по умолчанию: png)

  • output_pathstringобязательный

    Путь к выходному файлу

  • slide_numberintegerобязательный

    Номер слайда

search_unsplash_images

Ищет изображения в Unsplash

Параметры
  • order_byenum

    Порядок сортировки (по релевантности/новизне/популярности)

  • orientationenum

    Ориентация изображения (альбомная/портретная/почти квадратная)

  • per_pageinteger

    Результатов на странице (1-50). По умолчанию: 20.

  • querystringобязательный

    Поисковый запрос

select_slide

Выбирает конкретный слайд

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • slide_numberintegerобязательный

    Номер слайда

set_presentation_theme

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

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • theme_namestringобязательный

    Название темы.

set_slide_layout

Устанавливает макет слайда

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • layoutstringобязательный

    Тип макета

  • slide_numberintegerобязательный

    Номер слайда

set_speaker_notes

Устанавливает заметки докладчика на слайде.

Параметры
  • doc_namestring

    Имя документа (необязательно, по умолчанию используется передний документ)

  • notesstringобязательный

    Текст заметок.

  • slide_numberintegerобязательный

    Номер слайда

Похожие MCP-сервера

GenWaveLLC/svgmaker-mcp

GenWaveLLC/svgmaker-mcp

SVGMaker MCP сервер на базе ИИ: генерирует, редактирует и конвертирует SVG по текстовому описанию. Подходит дизайнерам и разработчикам: создавайте векторную графику, редактируйте естественным языко...

TypeScript87
mikan-atomoki/text-to-model

mikan-atomoki/text-to-model

MCP сервер TextToModel подключает Claude к Fusion 360: по текстовому описанию создает 3D-модели с помощью 64 CAD-инструментов (эскизы, JIS-детали и другое). Полезен для инженеров и дизайнеров, рабо...

Python6
henilcalagiya/mcp-apple-notes

henilcalagiya/mcp-apple-notes

MCP-сервер для автоматизации Apple Notes на macOS. Создавайте, редактируйте и удаляйте заметки и папки, ищите по ключевым словам. Работает с MCP-клиентами (Continue.dev, Claude Desktop). Основан на...

Python52
musepy/genable

musepy/genable

Genable — MCP сервер, превращающий текстовый запрос в редактируемые слои Figma: авто-макет, переменные цветов и шрифтов, светлая и темная темы. Полезен дизайнерам и разработчикам для агентных инструментов (Claude Code, Cursor). Совместим с Gemini, Claude, OpenAI.

Astro1
vkhanhqui/figma-mcp-go

vkhanhqui/figma-mcp-go

Открытый Figma MCP-сервер с полным доступом на чтение и запись через плагин. Не требует API и не имеет лимитов — подходит дизайнерам и разработчикам. Работает с AI-инструментами. Управляйте стилями...

Go1178
ahujasid/blender-mcp

ahujasid/blender-mcp

BlenderMCP подключает Claude AI к Blender через Model Context Protocol, позволяя управлять 3D-сценами голосом или текстом. Создавайте, редактируйте объекты, применяйте материалы и выполняйте Python...

Python28091
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин