@growi/mcp-server

@growi/mcp-server

Bridge GROWI wiki content to AI models with context-aware access and management.

10
Stars
7
Forks
10
Watchers
1
Issues
@growi/mcp-server acts as a Model Context Protocol (MCP) server that enables AI models to access, search, and manage GROWI wiki content within an organization. It facilitates seamless connection between multiple GROWI instances and language models, enhancing information retrieval and knowledge management capabilities. The platform provides comprehensive tools for page, tag, comment, and revision management as well as share link and user activity tracking. Its flexible configuration allows simultaneous operation with several GROWI apps for scalable deployment.

Key Features

Connects AI models to multiple GROWI wiki instances
Page search, creation, update, deletion, and duplication
Tag search, retrieval, and management
Comment and discussion retrieval
Page revision history and details
Share link creation, retrieval, and deletion
User recent activity tracking
Bulk operations on pages
Supports simultaneous connections to several GROWI apps
Configurable via environment variables for flexible deployment

Use Cases

Providing large language models with up-to-date organizational knowledge
Automating documentation search and retrieval in business processes
Managing wiki content programmatically for dynamic knowledge bases
Enhancing internal chatbots with accurate context from GROWI wikis
Enabling AI-powered assistants to generate context-aware answers using existing documentation
Bulk editing, renaming, or updating wiki pages via automated workflows
Tracking and analyzing recent user activity within wiki platforms
Facilitating knowledge sharing across different organizational GROWI apps
Integrating enterprise search engines with GROWI-managed content
Deploying scalable knowledge retrieval layers for AI-driven applications

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

MCP Server Configuration

Supports simultaneous connections to multiple GROWI apps. Each app is configured using numbered environment variables.

Single App Configuration Example

json
{
  "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 Apps Configuration Example

json
{
  "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": "token_for_production",

        "GROWI_APP_NAME_2": "staging",
        "GROWI_BASE_URL_2": "https://wiki-staging.example.com",
        "GROWI_API_TOKEN_2": "token_for_staging",
        
        "GROWI_APP_NAME_3": "development",
        "GROWI_BASE_URL_3": "https://wiki-dev.example.com",
        "GROWI_API_TOKEN_3": "token_for_development"
      }
    }
  }
}

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_APP_NAME_{N} GROWI app identifier name (N is an integer) -
GROWI_BASE_URL_{N} Base URL of GROWI instance (N is an integer) -
GROWI_API_TOKEN_{N} GROWI API access token (N is an integer) -
GROWI_DEFAULT_APP_NAME Default app name to use First configured app

Multiple Apps Configuration Notes

  • Use integer values (1, 2, 3...) for each app configuration (sequential numbering is not required)
  • Combination of GROWI_APP_NAME_N, GROWI_BASE_URL_N, and GROWI_API_TOKEN_N is required
  • App names, base URLs, and API tokens must each be unique
  • If GROWI_DEFAULT_APP_NAME is omitted, the first configured app becomes the default
  • The app specified in GROWI_DEFAULT_APP_NAME will be used as the default app when the LLM does not explicitly include an app name in the prompt

Developer Information

Requirements

  • Node.js 18 or higher
  • pnpm (recommended)
  • GROWI instance (for development and testing)

Getting Started

  1. Clone the repository
bash
git clone https://github.com/growilabs/growi-mcp-server.git
cd growi-mcp-server
  1. Install dependencies
bash
pnpm install
  1. Set up environment variables
bash
cp .env.example .env.local
# Edit .env.local to enter GROWI connection information
  1. Start the development server
bash
# Test with MCP CLI
pnpm dev:cli

# Develop with MCP Inspector
pnpm dev:inspect

Build and Test

bash
# Build
pnpm build

# Lint
pnpm lint

# Run tests
pnpm test

# Run tests with coverage
pnpm test:coverage

# Run in production
pnpm start

MCP Server Configuration

  1. Build
bash
pnpm build
  1. MCP Server Configuration (Single App)
json
{
  "mcpServers": {
    "growi": {
      "command": "node",
      "args": ["/Users/username/projects/growi-mcp-server/dist/index.js"],
      "env": {
        "GROWI_APP_NAME_1": "main",
        "GROWI_BASE_URL_1": "https://your-growi-instance.com",
        "GROWI_API_TOKEN_1": "your_growi_api_token"
      }
    }
  }
}
  1. MCP Server Configuration (Multiple Apps)
json
{
  "mcpServers": {
    "growi": {
      "command": "node",
      "args": ["/Users/username/projects/growi-mcp-server/dist/index.js"],
      "env": {
        "GROWI_DEFAULT_APP_NAME": "production",

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

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

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

Troubleshooting

When unable to connect to GROWI

  1. Check connectivity
    bash
    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
      bash
      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.

Star History

Star History Chart

Repository Owner

growilabs
growilabs

Organization

Repository Details

Language TypeScript
Default Branch main
Size 388 KB
Contributors 3
License MIT License
MCP Verified Nov 12, 2025

Programming Languages

TypeScript
98.28%
JavaScript
1.54%
Shell
0.18%

Tags

Join Our Newsletter

Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.

We respect your privacy. Unsubscribe at any time.

Related MCPs

Discover similar Model Context Protocol servers

  • Yuque-MCP-Server

    Yuque-MCP-Server

    Seamless integration of Yuque knowledge base with Model-Context-Protocol for AI model context management.

    Yuque-MCP-Server provides an MCP-compatible server for interacting with the Yuque knowledge base platform. It enables AI models to retrieve, manage, and analyze Yuque documents and user information through a standardized Model-Context-Protocol interface. The server supports operations such as document creation, reading, updating, deletion, advanced search, and team statistics retrieval, making it ideal for AI-powered workflows. Inspired by Figma-Context-MCP, it facilitates contextual awareness and dynamic knowledge management for AI applications.

    • 31
    • MCP
    • HenryHaoson/Yuque-MCP-Server
  • MyMCP Server (All-in-One Model Context Protocol)

    MyMCP Server (All-in-One Model Context Protocol)

    Powerful and extensible Model Context Protocol server with developer and productivity integrations.

    MyMCP Server is a robust Model Context Protocol (MCP) server implementation that integrates with services like GitLab, Jira, Confluence, YouTube, Google Workspace, and more. It provides AI-powered search, contextual tool execution, and workflow automation for development and productivity tasks. The system supports extensive configuration and enables selective activation of grouped toolsets for various environments. Installation and deployment are streamlined, with both automated and manual setup options available.

    • 93
    • MCP
    • nguyenvanduocit/all-in-one-model-context-protocol
  • Coda MCP Server

    Coda MCP Server

    A Model Context Protocol server enabling seamless interaction with Coda documents and pages.

    Coda MCP Server implements a Model Context Protocol (MCP) server that bridges AI assistants or MCP clients with the Coda API. It provides standardized tools for listing, creating, reading, updating, duplicating, and renaming Coda pages, as well as handling document context. The server communicates over standard input/output, supporting integration with platforms like Cursor and Claude Desktop, and can be deployed via Node.js or Docker.

    • 36
    • MCP
    • orellazri/coda-mcp
  • Kibela MCP Server

    Kibela MCP Server

    MCP server for seamless LLM integration with Kibela knowledge management.

    Kibela MCP Server enables integration of Large Language Models (LLMs) with the Kibela note-sharing platform via the Model Context Protocol. It provides search, retrieval, and management of Kibela notes, users, groups, and folders, exposing these capabilities in a standardized MCP interface. The implementation utilizes Kibela's GraphQL API and supports configuration through environment variables and Docker. Designed for interoperability with tools like Cursor, it streamlines access and manipulation of organizational knowledge by AI systems.

    • 7
    • MCP
    • kiwamizamurai/mcp-kibela-server
  • Contentful MCP Server

    Contentful MCP Server

    Community-driven MCP server for advanced Contentful content management.

    Contentful MCP Server is an implementation of the Model Context Protocol (MCP) designed to provide seamless integration with Contentful’s Content Management API. It enables full CRUD operations for entries and assets, facilitates comment and space management, and supports bulk asynchronous operations. With features like smart pagination and localization, it aims to optimize LLM context handling and streamline workflows for content-rich applications.

    • 61
    • MCP
    • ivo-toby/contentful-mcp
  • Klavis

    Klavis

    One MCP server for AI agents to handle thousands of tools.

    Klavis provides an MCP (Model Context Protocol) server with over 100 prebuilt integrations for AI agents, enabling seamless connectivity with various tools and services. It offers both cloud-hosted and self-hosted deployment options and includes out-of-the-box OAuth support for secure authentication. Klavis is designed to act as an intelligent connector, streamlining workflow automation and enhancing agent capability through standardized context management.

    • 5,447
    • MCP
    • Klavis-AI/klavis
  • Didn't find tool you were looking for?

    Be as detailed as possible for better results