growi-mcp-server

The growi-mcp-server is a Model Context Protocol (MCP) server that connects AI models to GROWI wiki content. This tool enables LLMs to search and retrieve information from your organization's knowledge base for accurate, context-aware responses. Implemented in TypeScript, it offers features such as page management, tag management, and comment management for GROWI. This allows users to efficiently manage information and enhance interactions with AI.

GitHub Stars

6

User Rating

Not Rated

Favorites

0

Views

33

Forks

4

Issues

1

README
@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.

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
    • *GROWI v7.3.x is scheduled for release in 2025Q2
  • Some features are available on GROWI v7.2.x and below
  • GROWI API
MCP Server Configuration
{
  "mcpServers": {
    "growi": {
      "command": "npx",
      "args": ["@growi/mcp-server"],
      "env": {
        "GROWI_BASE_URL": "https://your-growi-instance.com",
        "GROWI_API_TOKEN": "your_growi_api_token"
      }
    }
  }
}
Available Tools (Features)
Page Management
  • searchPages - Search pages by keywords
  • createPage - Create a new page
  • updatePage - Update an existing page
  • deletePages - Delete pages (bulk operation supported)
  • duplicatePage - Duplicate a page (including child pages)
  • renamePage - Change page name and path
  • getPage - Get a page data
  • getPageInfo - Get detailed page information
  • getRecentPages - Get list of recently updated pages
  • getPageListingRoot - Get root page list
  • getPageListingChildren - Get child pages of specified page
  • pageListingInfo - Get summary information of page listings
  • publishPage / unpublishPage - Set page publish/unpublish status
Tag Management
  • getPageTag - Get tags of a page
  • updateTag - Update tags of a page
  • getTagList - Get list of tags
  • searchTags - Search tags
Comments & Discussions
  • getComments - Get comments of a page
Revision Management
  • listRevisions - Get page edit history
  • getRevision - Get details of a specific revision
Share Links
  • createShareLink - Create a share link
  • getShareLinks - Get share links of a page
  • deleteShareLinks - Delete share links
  • deleteShareLinkById - Delete a specific share link
User Information
  • getUserRecentPages - Get recent pages of a specific user
Configuration Options
Environment Variables
Variable Name Required Description Default Value
GROWI_BASE_URL Base URL of GROWI instance -
GROWI_API_TOKEN GROWI API access token -
Developer Information
Requirements
  • Node.js 18 or higher
  • pnpm (recommended)
  • GROWI instance (for development and testing)
Getting Started
  1. Clone the repository
git clone https://github.com/growilabs/growi-mcp-server.git
cd growi-mcp-server
  1. Install dependencies
pnpm install
  1. Set up environment variables
cp .env.example .env.local
# Edit .env.local to enter GROWI connection information
  1. Start the development server
# Test with MCP CLI
pnpm dev:cli

# Develop with MCP Inspector
pnpm dev:inspect
Build and Test
# Build
pnpm build

# Lint
pnpm lint

# Run in production
pnpm start
MCP Server Configuration
  1. Build
pnpm build
  1. MCP Server Configuration
{
  "mcpServers": {
    "growi": {
      "command": "node",
      "args": ["/Users/username/projects/growi-mcp-server/dist/index.js"],
      "env": {
        "GROWI_BASE_URL": "https://your-growi-instance.com",
        "GROWI_API_TOKEN": "your_growi_api_token"
      }
    }
  }
}

[!NOTE]
Set the absolute path to the built output in "args"

Troubleshooting
When unable to connect to GROWI
  1. Check connectivity
    curl -v http://app:3000/_api/v3/healthcheck
    
  2. If the app hostname cannot be resolved, check the devcontainer network and verify it includes growi_devcontainer_default
    • The .devcontainer/devcontainer.json file sets --network in runArgs, so rebuilding the container should apply this setting
    • To add manually, run the following:
      • Run docker network command on the docker host machine
      docker network connect growi_devcontainer_default growi-mcp-server-dev
      
Contributing

Contributions to the project are welcome!

How to Contribute
  1. Issue Reports: Bug reports and feature requests via GitHub Issues
  2. Pull Requests:
    • Fork and create a branch
    • Implement changes
    • Add tests (if applicable)
    • Create a pull request
Development Guidelines
License

This project is released under the MIT License.


Related Links

Notice

This MCP server is under development. APIs may change without notice. Please test thoroughly before using in production environments.