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 userVariable 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>" } } } }
Explore 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 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.
by andrea9293
Provides document management and AI-powered semantic search for storing, retrieving, and querying text, markdown, and PDF files locally without external databases.
by scorzeth
Provides a local MCP server that interfaces with a running Anki instance to retrieve, create, and update flashcards through standard MCP calls.