growilabs/growi-mcp-server

growilabs/growi-mcp-server

от growilabs
MCP сервер, который подключает AI-модели к контенту GROWI. Позволяет LLM искать и получать информацию из базы знаний организации, поддерживает несколько приложений GROWI.
  • 日本語 🇯🇵

@growi/mcp-server

npm version License: MIT

A Model Context Protocol (MCP) server that connects AI models to GROWI wiki content. Enables LLMs to search and retrieve information from your organization's knowledge base for accurate, context-aware responses. Supports connections to multiple GROWI apps.

Key Features

  • 🔍 GROWI page search and retrieval
  • 📝 Page management
  • 🏷️ Tag management
  • 📋 Comment management
  • 🔗 Share link management

Supported GROWI Versions

  • GROWI v7.3.x or higher recommended
  • Some features are also available starting from GROWI v7.2.5 and later
  • GROWI API

Agent Skills

This repository also provides Agent Skills — reusable workflow definitions that AI coding agents can load to interact with GROWI more effectively.

Available Skills
  • growi-mcp-setup — Walks you through setting up the GROWI MCP server. After the skill is installed, it guides you from configuring UTCP Code-Mode through verifying the connection.
  • growi-smart-save — Save content to GROWI with intelligent path suggestions. The agent calls the suggest-path tool, presents destination candidates, and guides the user through page naming and visibility settings.
Инструменты были проиндексированы:
addCommentвнешний мир

Добавляет комментарий на страницу в GROWI.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    Comment body text

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

    ID of the page to add a comment to

  • revisionIdstring

    ID of the revision to attach the comment to (optional)

createPageидемпотентныйвнешний мир

Создаёт новую страницу в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • bodystringобязательный
  • grantnumber
  • grantUserGroupIdsobject[]
  • pageTagsstring[]
  • pathstringобязательный
createShareLinkвнешний мир

Создаёт ссылку для общего доступа к странице в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • descriptionstring

    Description for the share link

  • expiredAtstring

    Expiration date for the share link (ISO string)

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

    Page ID to create share link for

deletePages

Удаляет страницы в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • isAnyoneWithTheLinkboolean

    Whether to delete pages accessible by anyone with the link

  • isCompletelyboolean

    Whether to completely delete the pages

  • isRecursivelyboolean

    Whether to delete child pages recursively

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

    Map of page IDs to their revision IDs

deleteShareLinkByIdидемпотентныйвнешний мир

Удаляет конкретную ссылку для общего доступа по идентификатору в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    Share link ID to delete

deleteShareLinksидемпотентныйвнешний мир

Удаляет все ссылки общего доступа для страницы в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    Page ID to delete all share links for

duplicatePageидемпотентныйвнешний мир

Дублирует страницу. Рекурсивно дублирует страницу вместе с её потомками.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • isRecursivelyboolean
  • onlyDuplicateUserRelatedResourcesboolean
  • pageIdstringобязательный
  • pageNameInputstring
editPageвнешний мир

Редактирует части страницы GROWI с заменой строк, НЕ отправляя всё тело. Каждое редактирование заменяет точное литеральное значение oldString на newString (oldString должен совпадать ровно один раз, если только replaceAll не равно true). Использует оптимистичную блокировку на текущей ревизии страницы: конфликтующее конкурентное обновление автоматически повторяется один раз, ЗА ИСКЛЮЧЕНИЕМ случаев, когда используется replaceAll или expectedRevisionId (в этих случаях возникает ошибка конфликта). Сначала используйте getPageOutline/getPageSection для чтения текущего текста, а dryRun для предварительного просмотра unified diff. Поле baseRevisionId из ответа dryRun можно передать как expectedRevisionId в последующий вызов.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • dryRunboolean

    Validate the edits and return a unified diff preview without saving

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

    String replacements applied in order against the latest page body (all-or-nothing: nothing is saved when any edit fails to match)

  • expectedRevisionIdstring

    Optional strict lock: fail without writing when the current head revision differs (as returned by getPageOutline/getPageSection)

  • pageIdstring

    ID of the GROWI page to edit (either pageId or path is required)

  • pathstring

    Path of the GROWI page to edit (either pageId or path is required)

getCommentsтолько чтениеидемпотентныйвнешний мир

Получает комментарии для версии страницы в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    ID of the page to get comments for

  • revisionIdstring

    ID of the revision to get comments for (optional)

getPageтолько чтениеидемпотентныйвнешний мир

Получает данные о конкретной странице GROWI.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • pageIdstring

    ID of the GROWI page

  • pathstring

    Path of the GROWI page

getPageInfoтолько чтениеидемпотентныйвнешний мир

Получает краткую информацию о конкретной странице GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    ID of the GROWI page

getPageListingChildrenтолько чтениеидемпотентныйвнешний мир

Получает дочерние страницы для указанной страницы по ID или пути в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • idstring

    Page ID to get children for (optional)

  • pathstring

    Page path to get children for (optional)

getPageListingRootтолько чтениеидемпотентныйвнешний мир

Получает информацию о списке корневых страниц из GROWI.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

getPageOutlineтолько чтениеидемпотентныйвнешний мир

Получает структуру заголовков страницы GROWI (уровни заголовков, тексты, диапазоны строк и размеры разделов) БЕЗ тела страницы. Эффективная по токенам точка входа для больших страниц: используйте её, чтобы найти раздел, затем прочитайте только эту часть с помощью getPageSection и отредактируйте с помощью editPage. Перечисляются заголовки как ATX (#), так и setext (подчёркнутые). Каждая запись содержит text (в том виде, как отображается, соответствует оглавлению GROWI) и raw (в исходном виде, для формирования oldString в editPage); любой из них можно передать обратно как аргумент heading. Ответ также включает метаданные страницы (parent, grant, grantedUsers, tags), поэтому для их чтения не требуется загружать всё тело.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • maxDepthinteger

    Maximum heading level to include in the outline (1-6, default 6)

  • pageIdstring

    ID of the GROWI page (either pageId or path is required)

  • pathstring

    Path of the GROWI page (either pageId or path is required)

getPageSectionтолько чтениеидемпотентныйвнешний мир

Читает только часть страницы GROWI: либо раздел, заданный заголовком, либо диапазон строк (оба возвращаются getPageOutline). Эффективная по токенам альтернатива getPage для больших страниц. Возвращает тело без номеров строк; для изменения используйте editPage (string match).

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • endLineinteger

    Last line to read (1-indexed inclusive, defaults to the end of the page)

  • headingstring

    Heading text to read (as returned by getPageOutline). Mutually exclusive with startLine/endLine.

  • includeSubsectionsboolean

    When reading by heading, include nested subsections (default true)

  • maxCharsinteger

    Maximum characters to return (default 20000). When exceeded, the response is cut at a line boundary and marked truncated.

  • pageIdstring

    ID of the GROWI page (either pageId or path is required)

  • pathstring

    Path of the GROWI page (either pageId or path is required)

  • startLineinteger

    First line to read (1-indexed inclusive, as returned by getPageOutline). Mutually exclusive with heading.

getPageTagтолько чтениеидемпотентныйвнешний мир

Получает теги для конкретной страницы в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    Page ID to get tags for

getPageWholeContentsтолько чтениеидемпотентныйвнешний мир

Получает данные страницы, включая полное тело в формате markdown для указанной страницы GROWI. Для больших страниц предпочитайте getPageOutline + getPageSection, чтобы читать только то, что нужно; используйте editPage для частичных изменений.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • pageIdstring

    ID of the GROWI page

  • pathstring

    Path of the GROWI page

getRecentPagesтолько чтениеидемпотентныйвнешний мир

Получает недавно обновлённые страницы из GROWI с поддержкой пагинации.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • includeWipboolean

    Whether to include work-in-progress pages (optional)

  • limitnumber

    Number of pages to retrieve per page (optional)

  • pagenumber

    Page number for pagination (optional)

getRevisionтолько чтениеидемпотентныйвнешний мир

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

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    Revision ID to get details for

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

    Page ID that the revision belongs to

getRevisionDiffsтолько чтениеидемпотентныйвнешний мир

Вычисляет унифицированные diff'ы для набора пар ревизий (до 20) в GROWI. Авторизация проверяется независимо для каждой пары: недоступные пары возвращают статус "forbidden", а структурно некорректные пары возвращают статус "invalid", не приводя к сбою всей партии.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • contextLinesinteger

    Number of context lines in the unified diff output (0-20, default 3, optional)

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

    Revision pairs to compute diffs for (up to 20 pairs)

getShareLinksтолько чтениеидемпотентныйвнешний мир

Получает ссылки для общего доступа для конкретной страницы в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    Page ID to get share links for

getTagListтолько чтениеидемпотентныйвнешний мир

Получает список тегов в GROWI с поддержкой пагинации

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • limitnumber

    Number of tags to retrieve per page (optional)

  • offsetnumber

    Offset for pagination (optional)

getUserRecentPagesтолько чтениеидемпотентныйвнешний мир

Получает недавно созданные страницы конкретным пользователем в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    User ID to get recent pages for

listRevisionChangesтолько чтениеидемпотентныйвнешний мир

Перечисляет серии последовательных правок аутентифицированного пользователя на всех страницах в GROWI. Каждая запись включает начальную (from) и конечную (to) ревизию серии с флагами доступности страницы, упорядоченные для стабильной инкрементальной синхронизации с курсорной пагинацией.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • cursorstring

    Opaque pagination cursor returned in the next field of a prior response (optional)

  • fromDatestring

    Start of the date range (inclusive, ISO 8601, optional). Combined with since: the effective lower bound is the later of the two values

  • limitinteger

    Maximum number of run entries to return (1-100, default 20, optional)

  • sincestring

    Inclusive lower bound on revision createdAt (ISO 8601, optional)

  • toDatestring

    End of the date range (inclusive, ISO 8601, optional). Must not be earlier than fromDate

listRevisionsтолько чтениеидемпотентныйвнешний мир

Выводит список ревизий для страницы в GROWI с поддержкой пагинации

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • limitnumber

    Number of revisions to retrieve per page (optional)

  • offsetnumber

    Offset for pagination (optional)

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

    Page ID to get revisions for

pageListingInfoтолько чтениеидемпотентныйвнешний мир

Получает сводную информацию для страниц в GROWI по идентификаторам или пути.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • pageIdsstring[]

    Array of page IDs to get summary information for (One of pageIds or path must be provided)

  • pathstring

    Path of the page to get summary information for (One of pageIds or path must be provided)

publishPageидемпотентныйвнешний мир

Публикует страницу по её ID.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • pageIdstringобязательный
removeCommentвнешний мир

Удаляет комментарий со страницы в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    ID of the comment to remove

renamePage

Переименовывает или перемещает страницу в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • isRecursivelyboolean

    Whether to rename child pages recursively

  • isRenameRedirectboolean

    Whether to create a redirect from the old path

  • newPagePathstring

    New path for the page (optional)

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

    ID of the page to rename

  • pathstring

    Current path of the page (optional)

  • revisionIdstring

    Revision ID of the page (optional, deprecated)

  • updateMetadataboolean

    Whether to update page metadata

searchPagesтолько чтениеидемпотентныйвнешний мир

Ищет страницы в GROWI, используя Elasticsearch

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • limitinteger
  • offsetinteger
  • pathstring
  • qstringобязательный
searchTagsтолько чтениеидемпотентныйвнешний мир

Ищет теги в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • qstring

    Search query for tags (optional)

suggestPathтолько чтениеидемпотентныйвнешний мир

Получает предлагаемые пути сохранения для контента в GROWI. Анализирует тело контента и возвращает кандидатов на пути к каталогам с ограничениями на предоставление (разрешения).

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    The content body to analyze for path suggestions (GROWI AI will extract keywords from this)

unpublishPageидемпотентныйвнешний мир

Отменяет публикацию страницы по её ID.

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

  • pageIdstringобязательный
updatePageвнешний мир

Обновляет существующую страницу в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    New content of the page

  • grantnumber

    Grant level for the page (0-5)

  • overwriteScopesOfDescendantsboolean

    Whether to overwrite grant settings of descendant pages

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

    ID of the page to update

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

    Current revision ID of the page (required for version control)

  • userRelatedGrantUserGroupIdsobject[]

    IDs of the user groups to grant access to

  • wipboolean

    Whether the page is work in progress

updateTagидемпотентныйвнешний мир

Обновляет теги для страницы в GROWI

Параметры
  • appNamestring

    GROWI app name to operate on (optional, uses default if not specified)

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

    Page ID to update tags for

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

    Revision ID of the page

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

    Array of tag names to set for the page

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

kj455/mcp-kibela

kj455/mcp-kibela

MCP-сервер для интеграции AI-ассистентов с корпоративной базой знаний Kibela. Умеет искать заметки по ключевым словам, получать содержимое по ID или пути, создавать и редактировать записи — идеальн...

TypeScript13
ClaudeCodeNavi/claudecodenavi-mcp

ClaudeCodeNavi/claudecodenavi-mcp

MCP-сервер ClaudeCodeNavi для Claude Code: публикуй статьи из CLI, ищи в базе знаний сообщества, создавай Q&A и сниппеты. Полезен разработчикам, которые хотят быстро делиться кодом и подключать зна...

JavaScript2
yuna0x0/hackmd-mcp

yuna0x0/hackmd-mcp

MCP сервер для интеграции с HackMD через API: создавайте, редактируйте и удаляйте заметки, управляйте командами, просматривайте профиль и историю. Полезен разработчикам, работающим с LLM-клиентами ...

TypeScript67
mlorentedev/hive

mlorentedev/hive

Hive — MCP-сервер, который подключает AI-ассистента к Obsidian-хранилищу. Вместо загрузки всего контекста он запрашивает только нужное, экономя токены и сохраняя знания между сессиями. Полезен разр...

Python10
n24q02m/better-notion-mcp

n24q02m/better-notion-mcp

Markdown-first MCP сервер для AI-агентов: управляет страницами, базами данных, блоками и комментариями Notion одним вызовом. Сокращает токены на 77%, поддерживает локальный и HTTP транспорт. Идеален для автоматизации Notion через ИИ.

TypeScript36
UnMarkdown/mcp-server

UnMarkdown/mcp-server

MCP сервер Unmarkdown преобразует Markdown в документы для Google Docs, Word, Slack и других платформ с 62 шаблонами. Управляет документами и публикует страницы. Идеален для AI-ассистентов, которым нужно быстро оформлять и публиковать контент.

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

Лука Никитин