@growi/mcp-server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GROWI_APP_NAME_1 | Yes | GROWI app identifier name for app 1 | |
| GROWI_BASE_URL_1 | Yes | Base URL of GROWI instance for app 1 | |
| GROWI_API_TOKEN_1 | Yes | GROWI API access token for app 1 | |
| GROWI_DEFAULT_APP_NAME | No | Default app name to use (optional) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| logging | {} |
| prompts | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| createPageB | Create a new page in GROWI |
| updatePageB | Update an existing page in GROWI |
| renamePageB | Rename or move a page in GROWI |
| deletePagesB | Delete pages in GROWI |
| searchPagesC | Search pages in GROWI using Elasticsearch |
| publishPageB | Publish a page by its ID |
| unpublishPageB | Unpublish a page by its ID |
| duplicatePageB | Duplicate a page. Can recursively duplicate the page with its descendants. |
| pageListingInfoB | Get summary information for pages in GROWI by IDs or path |
| getPageA | Get page data about the specific GROWI page |
| getPageInfoA | Get summary information about a specific GROWI page |
| getPageListingChildrenB | Get children pages for a specified page by ID or path in GROWI |
| getPageListingRootA | Get root page listing information from GROWI |
| getPageTagB | Get tags for a specific page in GROWI |
| getRecentPagesB | Get recently updated pages from GROWI with pagination support |
| getUserRecentPagesB | Get recently created pages by a specific user in GROWI |
| listRevisionsA | List revisions for a page in GROWI with pagination support |
| getRevisionB | Get detailed information about a specific revision in GROWI |
| listRevisionChangesA | List the authenticated user's consecutive-edit runs across all pages in GROWI. Each entry includes the baseline (from) and final (to) revision of the run with page accessibility flags, ordered for stable incremental sync with cursor pagination |
| getRevisionDiffsA | Compute unified diffs for a batch of revision pairs (up to 20) in GROWI. Authorization is checked independently per pair: inaccessible pairs return status "forbidden" and structurally invalid pairs return status "invalid" without failing the whole batch |
| updateTagB | Update tags for a page in GROWI |
| getTagListA | Get list of tags in GROWI with pagination support |
| searchTagsB | Search for tags in GROWI |
| createShareLinkA | Create a share link for a page in GROWI |
| deleteShareLinksA | Delete all share links for a page in GROWI |
| deleteShareLinkByIdA | Delete a specific share link by ID in GROWI |
| getShareLinksB | Get share links for a specific page in GROWI |
| getCommentsA | Get comments for a page revision in GROWI |
| addCommentA | Add a comment to a page in GROWI |
| removeCommentA | Remove a comment from a page in GROWI |
| suggestPathA | Get suggested save paths for content in GROWI. Analyzes the content body and returns directory path candidates with grant (permission) constraints. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| summarizeGrowiPage | Summarize the content of a GROWI page. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 31 tools
Every tool has a clear and distinct purpose. For example, getPage, getPageInfo, getPageListingChildren, and getPageTag all target different aspects of a page. Similarly, share link operations are separate from comment operations. There is no discernible overlap.
Most tools follow a consistent verb_noun pattern in camelCase (e.g., createPage, deleteShareLink, getComments). One outlier is 'pageListingInfo' which lacks a verb, deviating from the pattern. Overall, the naming is largely consistent and predictable.
With 31 tools, the count exceeds the 25+ threshold identified as 'too many' in the scale. While the domain (a wiki system) may require many operations, this number feels heavy and could overwhelm an agent, leading to potential miselection.
The tool set covers most lifecycle operations for pages, comments, share links, tags, and revisions. A minor gap is the lack of an update comment tool, but agents can work around this by using removeComment and addComment. Otherwise, the surface is well-rounded.