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. - ๐ GROWI page search and retrieval - ๐ Page management - ๐ท๏ธ Tag management - ๐ Comment management - ๐ Share link management - GROWI v7.3.
Add this skill
npx mdskills install growilabs/growi-mcp-serverWell-documented MCP server enabling comprehensive GROWI wiki integration with clear setup and extensive tool coverage.
1- [ๆฅๆฌ่ช ๐ฏ๐ต](./README_JP.md)23# @growi/mcp-server45[](https://badge.fury.io/js/%40growi%2Fmcp-server)6[](https://opensource.org/licenses/MIT)78A 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.910## Key Features1112- ๐ **GROWI page search and retrieval**13- ๐ **Page management**14- ๐ท๏ธ **Tag management**15- ๐ **Comment management**16- ๐ **Share link management**1718## Supported GROWI Versions1920- GROWI v7.3.x or higher recommended21- Some features are also available starting from GROWI v7.2.5 and later22- [GROWI API](https://docs.growi.org/en/api/)232425## MCP Server Configuration2627Supports simultaneous connections to multiple GROWI apps. Each app is configured using numbered environment variables.2829### Single App Configuration Example30```json31{32 "mcpServers": {33 "growi": {34 "command": "npx",35 "args": ["@growi/mcp-server"],36 "env": {37 "GROWI_APP_NAME_1": "main",38 "GROWI_BASE_URL_1": "https://your-growi-instance.com",39 "GROWI_API_TOKEN_1": "your_growi_api_token"40 }41 }42 }43}44```4546### Multiple Apps Configuration Example47```json48{49 "mcpServers": {50 "growi": {51 "command": "npx",52 "args": ["@growi/mcp-server"],53 "env": {54 "GROWI_DEFAULT_APP_NAME": "staging",5556 "GROWI_APP_NAME_1": "production",57 "GROWI_BASE_URL_1": "https://wiki.example.com",58 "GROWI_API_TOKEN_1": "token_for_production",5960 "GROWI_APP_NAME_2": "staging",61 "GROWI_BASE_URL_2": "https://wiki-staging.example.com",62 "GROWI_API_TOKEN_2": "token_for_staging",6364 "GROWI_APP_NAME_3": "development",65 "GROWI_BASE_URL_3": "https://wiki-dev.example.com",66 "GROWI_API_TOKEN_3": "token_for_development"67 }68 }69 }70}71```7273## Available Tools (Features)7475### Page Management76- `searchPages` - Search pages by keywords77- `createPage` - Create a new page78- `updatePage` - Update an existing page79- `deletePages` - Delete pages (bulk operation supported)80- `duplicatePage` - Duplicate a page (including child pages)81- `renamePage` - Change page name and path82- `getPage` - Get a page data83- `getPageInfo` - Get detailed page information84- `getRecentPages` - Get list of recently updated pages85- `getPageListingRoot` - Get root page list86- `getPageListingChildren` - Get child pages of specified page87- `pageListingInfo` - Get summary information of page listings88- `publishPage` / `unpublishPage` - Set page publish/unpublish status8990### Tag Management91- `getPageTag` - Get tags of a page92- `updateTag` - Update tags of a page93- `getTagList` - Get list of tags94- `searchTags` - Search tags9596### Comments & Discussions97- `getComments` - Get comments of a page9899### Revision Management100- `listRevisions` - Get page edit history101- `getRevision` - Get details of a specific revision102103### Share Links104- `createShareLink` - Create a share link105- `getShareLinks` - Get share links of a page106- `deleteShareLinks` - Delete share links107- `deleteShareLinkById` - Delete a specific share link108109### User Information110- `getUserRecentPages` - Get recent pages of a specific user111112113## Configuration Options114115### Environment Variables116117| Variable Name | Required | Description | Default Value |118|---------------|----------|-------------|---------------|119| `GROWI_APP_NAME_{N}` | โ | GROWI app identifier name (N is an integer) | - |120| `GROWI_BASE_URL_{N}` | โ | Base URL of GROWI instance (N is an integer) | - |121| `GROWI_API_TOKEN_{N}` | โ | GROWI API access token (N is an integer) | - |122| `GROWI_DEFAULT_APP_NAME` | โ | Default app name to use | First configured app |123124### Multiple Apps Configuration Notes125- Use integer values (1, 2, 3...) for each app configuration (sequential numbering is not required)126- Combination of `GROWI_APP_NAME_N`, `GROWI_BASE_URL_N`, and `GROWI_API_TOKEN_N` is required127- App names, base URLs, and API tokens must each be unique128- If `GROWI_DEFAULT_APP_NAME` is omitted, the first configured app becomes the default129- 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 prompt130131132## Developer Information133134### Requirements135- Node.js 18 or higher136- pnpm (recommended)137- GROWI instance (for development and testing)138139### Getting Started1401411. Clone the repository142```bash143git clone https://github.com/growilabs/growi-mcp-server.git144cd growi-mcp-server145```1461472. Install dependencies148```bash149pnpm install150```1511523. Set up environment variables153```bash154cp .env.example .env.local155# Edit .env.local to enter GROWI connection information156```1571584. Start the development server159```bash160# Test with MCP CLI161pnpm dev:cli162163# Develop with MCP Inspector164pnpm dev:inspect165```166167### Build and Test168```bash169# Build170pnpm build171172# Lint173pnpm lint174175# Run tests176pnpm test177178# Run tests with coverage179pnpm test:coverage180181# Run in production182pnpm start183```184185### MCP Server Configuration1861871. Build188```bash189pnpm build190```1911922. MCP Server Configuration (Single App)193```json194{195 "mcpServers": {196 "growi": {197 "command": "node",198 "args": ["/Users/username/projects/growi-mcp-server/dist/index.js"],199 "env": {200 "GROWI_APP_NAME_1": "main",201 "GROWI_BASE_URL_1": "https://your-growi-instance.com",202 "GROWI_API_TOKEN_1": "your_growi_api_token"203 }204 }205 }206}207```2082093. MCP Server Configuration (Multiple Apps)210```json211{212 "mcpServers": {213 "growi": {214 "command": "node",215 "args": ["/Users/username/projects/growi-mcp-server/dist/index.js"],216 "env": {217 "GROWI_DEFAULT_APP_NAME": "production",218219 "GROWI_APP_NAME_1": "production",220 "GROWI_BASE_URL_1": "https://wiki.example.com",221 "GROWI_API_TOKEN_1": "production_token",222223 "GROWI_APP_NAME_2": "staging",224 "GROWI_BASE_URL_2": "https://wiki-staging.example.com",225 "GROWI_API_TOKEN_2": "staging_token"226 }227 }228 }229}230```231232> [!NOTE]233> Set the absolute path to the built output in "args"234235### Troubleshooting236237### When unable to connect to GROWI2381. Check connectivity239 ```bash240 curl -v http://app:3000/_api/v3/healthcheck241 ```2422. If the `app` hostname cannot be resolved, check the devcontainer network and verify it includes `growi_devcontainer_default`243 - The `.devcontainer/devcontainer.json` file sets `--network` in `runArgs`, so rebuilding the container should apply this setting244 - To add manually, run the following:245 - Run `docker network` command on the docker host machine246 ```bash247 docker network connect growi_devcontainer_default growi-mcp-server-dev248 ```249250251### Contributing252253Contributions to the project are welcome!254255#### How to Contribute2561. **Issue Reports**: Bug reports and feature requests via [GitHub Issues](https://github.com/growilabs/growi-mcp-server/issues)2572. **Pull Requests**:258 - Fork and create a branch259 - Implement changes260 - Add tests (if applicable)261 - Create a pull request262263#### Development Guidelines264- **Coding Standards**: Use [Biome](https://biomejs.dev/)265- **Commit Messages**: Follow [Conventional Commits](https://www.conventionalcommits.org/)266267## License268269This project is released under the [MIT License](./LICENSE).270271---272273## Related Links274275- **[GROWI Official Site](https://growi.org/)** - Open source wiki platform276- **[Model Context Protocol](https://modelcontextprotocol.io/)** - Standard protocol for AI and tool integration277- **[GROWI SDK TypeScript](https://github.com/growilabs/growi-sdk-typescript)** - GROWI API TypeScript SDK278- **[FastMCP](https://github.com/punkpeye/fastmcp)** - MCP server development framework279280---281282**Notice**283284This MCP server is under development. APIs may change without notice. Please test thoroughly before using in production environments.285
Full transparency โ inspect the skill content before installing.