GR

GROWI MCP Server for LLM Knowledge Retrieval

Connect LLMs to your GROWI knowledge base with an MCP server to search and retrieve context-aware information for accurate AI responses.

Quick Install
npx -y @growilabs/growi-mcp-server

Overview

This MCP (Model Context Protocol) server connects large language models (LLMs) to one or more GROWI wiki instances so models can search and retrieve your organization’s knowledge base as contextual evidence for responses. By exposing GROWI pages, tags, comments, revisions and share links over MCP, the server enables agents and LLMs to perform accurate, context-aware lookups and basic page management operations without direct database access.

The server is designed for multi-app setups (connect several GROWI instances in parallel) and integrates with agent workflows via reusable “skills” that agents can load. Common usage patterns include augmenting chat models with relevant wiki content, letting AI assistants suggest page paths or save drafts to GROWI, and driving automation that keeps documentation in sync with developer workflows.

Features

  • Search and retrieve GROWI pages by keyword and metadata
  • Read and write page content (create, update, duplicate, rename, delete)
  • Manage tags and fetch tag lists or search by tag
  • Access page comments, revision history and specific revisions
  • Create and manage share links for external access
  • Support for multiple GROWI apps via numbered environment variables
  • Agent Skills bundle for common automations (path suggestion, smart save)
  • Compatible with GROWI v7.3.x+ (partial support from v7.2.5)

Installation / Configuration

The MCP server is distributed as an npm package and can be launched with npx or installed into your MCP host environment. Configure each GROWI instance using numbered environment variables.

Example: run the server for one GROWI app (using npx)

GROWI_APP_NAME_1="main" \
GROWI_BASE_URL_1="https://your-growi-instance.com" \
GROWI_API_TOKEN_1="your_growi_api_token" \
npx @growi/mcp-server

Example: MCP runner configuration (JSON) for single app

{
  "mcpServers": {
    "growi": {
      "command": "npx",
      "args": ["@growi/mcp-server"],
      "env": {
        "GROWI_APP_NAME_1": "main",
        "GROWI_BASE_URL_1": "https://your-growi-instance.com",
        "GROWI_API_TOKEN_1": "your_growi_api_token"
      }
    }
  }
}

Multiple GROWI apps example

{
  "mcpServers": {
    "growi": {
      "command": "npx",
      "args": ["@growi/mcp-server"],
      "env": {
        "GROWI_DEFAULT_APP_NAME": "staging",

        "GROWI_APP_NAME_1": "production",
        "GROWI_BASE_URL_1": "https://wiki.example.com",
        "GROWI_API_TOKEN_1": "prod_token",

        "GROWI_APP_NAME_2": "staging",
        "GROWI_BASE_URL_2": "https://wiki-staging.example.com",
        "GROWI_API_TOKEN_2": "staging_token"
      }
    }
  }
}

Environment variables reference

VariableRequiredDescription
GROWI_APP_NAME_{N}YesHuman name/identifier for the Nth GROWI app
GROWI_BASE_URL_{N}YesBase URL for the Nth GROWI instance
GROWI_API_TOKEN_{N}YesAPI token with appropriate permissions
GROWI_DEFAULT_APP_NAMENoDefault app name when none specified (defaults to first configured)

Notes:

  • Use integer suffixes (1, 2, 3, …) for multiple apps. They don’t have to be contiguous but must match across variables.
  • Tokens should be scoped to allow read/search and any write operations you plan to enable.

Available Tools / Resources

The server exposes a rich set of MCP tools (methods) for agents and LLMs to call. Major categories:

Page management

  • searchPages, createPage, updatePage, deletePages, duplicatePage, renamePage
  • getPage, getPageInfo, getRecentPages, getPageListingRoot, getPageListingChildren, pageListingInfo
  • publishPage, unpublishPage

Tags

  • getPageTag, updateTag, getTagList, searchTags

Comments & Revisions

  • getComments, listRevisions, getRevision

Share links & Users

  • createShareLink, getShareLinks, deleteShareLinks, deleteShareLinkById
  • getUserRecentPages

Agent Skills (optional)

  • growi-smart-save: suggests destination paths and helps save content to GROWI
  • Skills are provided in the repository under /skills and can be loaded into agent platforms.

Agent skills installation examples

  • Claude Desktop: add repository as a personal plugins marketplace (sync via GitHub URL)
  • Gemini CLI: gemini extensions install https://github.com/growilabs/growi-mcp-server
  • skills.sh / npx: npx skills add growilabs/growi-mcp-server

Use Cases

  1. Contextual question answering

    • An LLM handling support chats queries the MCP server with searchPages to retrieve the most relevant GROWI pages and cites those passages when answering customer questions.
  2. Intelligent documentation editing

    • An AI agent proposes content changes, uses growi-smart-save to suggest a canonical page path, then calls createPage or updatePage to persist a draft to the wiki.
  3. Release notes and changelogs

    • Automation process scans recent pages (getRecentPages) and compiles release notes by fetching revisions and comments, then posts a consolidated summary.
  4. Multi-environment lookup

    • Connect production, staging and dev GROWI instances in one MCP server so agents can fetch environment-specific docs depending on the requested context.

Tips for Developers

  • Ensure API tokens have the minimum privileges required for the operations you enable.
  • Prefer read-only tokens for LLMs used purely for retrieval to reduce risk.
  • When running multiple apps, set GROWI_DEFAULT_APP_NAME to control which app is used when the caller doesn’t specify one.
  • Consult the GROWI API docs for endpoint behavior and version-specific nuances (recommended GROWI v7.3.x+).

For code, skills and examples, see the repository: https://github.com/growilabs/growi-mcp-server.