by growilabs
Connects AI models to GROWI wiki content, enabling search and retrieval of organizational knowledge for context‑aware responses.
Provides a Model Context Protocol (MCP) server that bridges large language models with a GROWI wiki instance. By exposing page, tag, comment, revision, and share‑link operations through a standardized API, LLMs can fetch up‑to‑date organizational knowledge and generate accurate, context‑aware answers.
npx @growi/mcp-server
GROWI_BASE_URL
– the base URL of your GROWI instance.GROWI_API_TOKEN
– an API token with sufficient permissions.mcp-config.json
):
{
"mcpServers": {
"growi": {
"command": "npx",
"args": ["@growi/mcp-server"],
"env": {
"GROWI_BASE_URL": "https://your-growi-instance.com",
"GROWI_API_TOKEN": "your_growi_api_token"
}
}
}
}
pnpm dev:cli
for testing, pnpm start
for production) and invoke the exposed tools from your LLM integration.Q: Which GROWI versions are supported?
Q: Do I need to build the project before running it?
npx @growi/mcp-server
. For production, build with pnpm build
and run the compiled dist/index.js
.Q: How do I secure the connection to GROWI?
GROWI_API_TOKEN
) and ensure the server runs behind appropriate network controls (HTTPS, firewalls).Q: Can I customize which tools are exposed?
Q: What if the server cannot connect to GROWI?
curl -v $GROWI_BASE_URL/_api/v3/healthcheck
) and Docker network settings if using the devcontainer.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": [ "@growi/mcp-server" ], "env": { "GROWI_BASE_URL": "<YOUR_GROWI_BASE_URL>", "GROWI_API_TOKEN": "<YOUR_GROWI_API_TOKEN>" } } } }
Discover more MCP servers with similar functionality and use cases
by topoteretes
Enables AI agents to store, retrieve, and reason over past conversations, documents, images, and audio transcriptions by loading data into graph and vector databases with minimal code.
by basicmachines-co
Basic Memory is a local-first knowledge management system that allows users to build a persistent semantic graph from conversations with AI assistants. It addresses the ephemeral nature of most LLM interactions by providing a structured, bi-directional knowledge base that both humans and LLMs can read and write to.
by smithery-ai
mcp-obsidian is a connector that allows Claude Desktop to read and search an Obsidian vault or any directory containing Markdown notes.
by qdrant
Provides a semantic memory layer on top of the Qdrant vector search engine, enabling storage and retrieval of information via the Model Context Protocol.
by GreatScottyMac
A database‑backed MCP server that stores project decisions, progress, architecture, custom data, and vector embeddings, allowing AI assistants in IDEs to retrieve precise, up‑to‑date context for generation tasks.
by StevenStavrakis
Enables AI assistants to read, create, edit, move, delete, and organize notes and tags within an Obsidian vault.
by mem0ai
Provides tools to store, retrieve, and semantically search coding preferences via an SSE endpoint for integration with MCP clients.
by graphlit
Enables integration between MCP clients and the Graphlit platform, providing ingestion, retrieval, RAG, and publishing capabilities across a wide range of data sources and tools.
by chroma-core
Provides vector, full‑text, and metadata‑based retrieval powered by Chroma for LLM applications, supporting in‑memory, persistent, HTTP, and cloud clients as well as multiple embedding functions.