docmost-community-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DOCMOST_URL | Yes | Instance URL, e.g. https://docs.example.com | |
| DOCMOST_EMAIL | No | Community login email | |
| DOCMOST_PASSWORD | No | Community login password | |
| DOCMOST_READ_ONLY | No | true / 1 / yes — search and read only; mutating tools are refused | |
| DOCMOST_AUTH_TOKEN | No | authToken cookie from the browser | |
| DOCMOST_SESSION_PATH | No | Session cache file |
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_pagesA | Full-text search for pages the authenticated user can access. Optionally scope to a space. |
| get_pageA | Get a page's metadata and Markdown body. Use format=json for raw ProseMirror. |
| create_pageA | Create a page in a space. Body is Markdown and is persisted in place (Docmost v0.71+). Can nest under a parent. |
| update_pageA | Update a page title, icon, and/or Markdown body in place. Body writes use the server converter (v0.71+). operation defaults to replace. |
| list_pagesA | List pages in a space. Default view=recent is recently updated pages (not the sidebar tree; General can look empty). Use view=tree for space-root pages in sidebar order, or list_child_pages for children of a page. |
| list_child_pagesA | List direct child pages of a page, in sidebar order. Omit page_id and pass space_id for space-root pages. |
| duplicate_pageA | Duplicate a page and its accessible sub-pages within the same space. |
| copy_page_to_spaceA | Copy a page and its accessible sub-pages into a different space. |
| move_pageA | Move a page under a new parent or to the space root. Position is computed unless you pass an explicit 5-12 character key. |
| move_page_to_spaceA | Move a page and its accessible sub-pages to a different space. |
| delete_pageA | Move a page to trash, or permanently delete it. Permanent delete requires space admin. |
| restore_pageA | Restore a soft-deleted page from trash. |
| list_trashA | List soft-deleted pages in a space. |
| get_page_historyC | List revision history for a page. |
| get_history_versionA | Get a specific page history version by history ID. |
| get_breadcrumbsA | Get the ancestor path from space root to a page. |
| get_backlinksA | List incoming or outgoing page links. |
| export_pageA | Export a page to a local file. A page without children is often a .md or .html file; include_children usually returns a zip. Writes to output_path or a temp file and returns the path plus content type. |
| list_spacesA | List spaces the authenticated user can access. |
| get_spaceA | Get details for a space, including the current user's membership. |
| create_spaceA | Create a space. Slug is generated from the name if omitted. Requires permission to manage spaces. |
| update_spaceC | Update a space name, slug, or description. |
| delete_spaceA | Delete a space and its pages. This cannot be undone. |
| export_spaceA | Export a whole space as a zip of Markdown or HTML. Writes to output_path or a temp file. |
| get_commentsA | List page-level comments. Content is returned as Markdown. Each comment is re-fetched so edits are not stale. |
| create_commentA | Add a page-level comment. Inline selection comments are not supported. |
| update_commentA | Replace a comment body. You can update your own comments. |
| delete_commentA | Delete a comment. Owners can delete their own; space admins can delete any comment. |
| search_attachmentsA | Search file attachments by name or indexed text. This is an Enterprise feature; Community Edition returns 403. Prefer get_attachment_info when you already have an attachment id. |
| search_suggestA | Typeahead suggestions. Pages are included by default (set include_pages=false to skip). Users and groups default to off. |
| get_current_userA | Get the authenticated user and workspace context, detected Docmost version, and whether this session is read-only. |
| list_workspace_membersC | List workspace members. |
| upload_attachmentA | Upload a local file to a page. Returns attachment metadata including the /api/files/:id/:name URL path. |
| get_attachment_infoC | Get metadata for an uploaded attachment. |
| list_page_labelsA | List labels on a page. |
| add_page_labelsA | Add one or more labels to a page. Names are normalized to lowercase kebab-case. |
| remove_page_labelA | Remove a label from a page by label ID. |
| list_space_membersA | List members and groups in a space. |
| add_space_membersB | Add users and/or groups to a space with a role. |
| remove_space_memberC | Remove a user or group from a space. |
| update_space_member_roleC | Change a space member or group's role. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 41 tools
Most tools target distinct resource-action pairs, and near-pairs like move_page vs move_page_to_space and duplicate_page vs copy_page_to_space are clearly separated by destination scope. The main ambiguity is list_pages vs list_child_pages, since both can return space-root pages depending on options.
The API uses a consistent snake_case verb_noun pattern throughout: create_page, update_page, delete_page, list_spaces, get_comments, add_space_members, etc. Prepositional variants like move_page_to_space and copy_page_to_space follow the same readable convention.
Forty-one tools is beyond the 16-25 'heavy' range and feels over-split for an MCP surface. Some tools such as search_attachments are non-functional in the Community Edition, and the many page-move/copy/list variants make the surface larger than its core workflows require.
The surface covers the core wiki lifecycle well: pages, spaces, comments, attachments, labels, members, search, export, trash, and history read operations. Workable gaps remain: there is no restore-from-version operation, no attachment delete/download, and no workspace-level user/group management.