by growilabs
Enables AI models to query and manipulate GROWI wiki content, providing page search, creation, tagging, comments, revisions, and share‑link management through the Model Context Protocol.
Growi MCP Server connects large language models with a GROWI wiki instance, allowing the model to retrieve, create, update, and manage wiki pages and related metadata directly from prompts.
npx @growi/mcp-server
GROWI_BASE_URL – URL of the GROWI instance.GROWI_API_TOKEN – API token with appropriate permissions.pnpm build and execute the built dist/index.js.Q: Which GROWI versions are supported? A: Recommended on GROWI v7.3.x or higher; many features work on v7.2.x and below.
Q: What Node.js version is required? A: Node 18 or newer.
Q: How are authentication credentials supplied?
A: Via the GROWI_API_TOKEN environment variable.
Q: Can the server run inside a Docker container? A: Yes. Use the provided devcontainer setup or build a custom image that sets the required env vars.
Q: What if the server cannot connect to GROWI? A: Verify network connectivity, ensure the host name resolves, and check Docker network settings as described in the troubleshooting section.
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.
{
"mcpServers": {
"growi": {
"command": "npx",
"args": ["@growi/mcp-server"],
"env": {
"GROWI_BASE_URL": "https://your-growi-instance.com",
"GROWI_API_TOKEN": "your_growi_api_token"
}
}
}
}
searchPages - Search pages by keywordscreatePage - Create a new pageupdatePage - Update an existing pagedeletePages - Delete pages (bulk operation supported)duplicatePage - Duplicate a page (including child pages)renamePage - Change page name and pathgetPage - Get a page datagetPageInfo - Get detailed page informationgetRecentPages - Get list of recently updated pagesgetPageListingRoot - Get root page listgetPageListingChildren - Get child pages of specified pagepageListingInfo - Get summary information of page listingspublishPage / unpublishPage - Set page publish/unpublish statusgetPageTag - Get tags of a pageupdateTag - Update tags of a pagegetTagList - Get list of tagssearchTags - Search tagsgetComments - Get comments of a pagelistRevisions - Get page edit historygetRevision - Get details of a specific revisioncreateShareLink - Create a share linkgetShareLinks - Get share links of a pagedeleteShareLinks - Delete share linksdeleteShareLinkById - Delete a specific share linkgetUserRecentPages - Get recent pages of a specific user| Variable Name | Required | Description | Default Value |
|---|---|---|---|
GROWI_BASE_URL |
✅ | Base URL of GROWI instance | - |
GROWI_API_TOKEN |
✅ | GROWI API access token | - |
git clone https://github.com/growilabs/growi-mcp-server.git
cd growi-mcp-server
pnpm install
cp .env.example .env.local
# Edit .env.local to enter GROWI connection information
# Test with MCP CLI
pnpm dev:cli
# Develop with MCP Inspector
pnpm dev:inspect
# Build
pnpm build
# Lint
pnpm lint
# Run in production
pnpm start
pnpm build
{
"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"
curl -v http://app:3000/_api/v3/healthcheck
app hostname cannot be resolved, check the devcontainer network and verify it includes growi_devcontainer_default
.devcontainer/devcontainer.json file sets --network in runArgs, so rebuilding the container should apply this settingdocker network command on the docker host machinedocker network connect growi_devcontainer_default growi-mcp-server-dev
Contributions to the project are welcome!
This project is released under the MIT License.
Notice
This MCP server is under development. APIs may change without notice. Please test thoroughly before using in production environments.
Please log in to share your review and rating for this MCP.
{
"mcpServers": {
"growi": {
"command": "npx",
"args": [
"-y",
"@growi/mcp-server"
],
"env": {
"GROWI_BASE_URL": "<YOUR_GROWI_BASE_URL>",
"GROWI_API_TOKEN": "<YOUR_GROWI_API_TOKEN>"
}
}
}
}claude mcp add growi npx -y @growi/mcp-serverExplore related MCPs that share similar capabilities and solve comparable challenges
by modelcontextprotocol
A basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.
by topoteretes
Provides dynamic memory for AI agents through modular ECL (Extract, Cognify, Load) pipelines, enabling seamless integration with graph and vector stores using minimal code.
by basicmachines-co
Enables persistent, local‑first knowledge management by allowing LLMs to read and write Markdown files during natural conversations, building a traversable knowledge graph that stays under the user’s control.
by smithery-ai
Provides read and search capabilities for Markdown notes in an Obsidian vault for Claude Desktop and other MCP clients.
by chatmcp
Summarize chat messages by querying a local chat database and returning concise overviews.
by dmayboroda
Provides on‑premises conversational retrieval‑augmented generation (RAG) with configurable Docker containers, supporting fully local execution, ChatGPT‑based custom GPTs, and Anthropic Claude integration.
by qdrant
Provides a Model Context Protocol server that stores and retrieves semantic memories using Qdrant vector search, acting as a semantic memory layer.
by doobidoo
Provides a universal memory service with semantic search, intelligent memory triggers, OAuth‑enabled team collaboration, and multi‑client support for Claude Desktop, Claude Code, VS Code, Cursor and over a dozen AI applications.
by GreatScottyMac
Provides a project‑specific memory bank that stores decisions, progress, architecture, and custom data, exposing a structured knowledge graph via MCP for AI assistants and IDE tools.