docmost-mcp-oss
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DOCMOST_URL | Yes | The base URL of your Docmost instance, e.g. https://docmost.example.com | |
| DOCMOST_EMAIL | No | Email address for login-based authentication (Option B). | |
| DOCMOST_API_KEY | No | API key for authentication (Option A). Example: dm_xxx | |
| DOCMOST_PASSWORD | No | Password for login-based authentication (Option B). |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_pagesA | Searches pages by keyword (full-text search). It is a lexical search (PostgreSQL FTS): use meaningful words. Empty-meaning terms ("a", "de", "the") are stopwords and return no results. |
| get_pageA | Fetches a page: metadata and content. Returns the page's metadata plus the |
| create_pageA | Creates a new page in a space, with or without content. If you provide |
| update_pageA | Renames a page. To change the content, use |
| update_page_contentA | Writes into the body of an already-created page. Docmost's REST API cannot do this — the body lives in the Yjs collaboration server — so this tool opens the collaboration WebSocket, edits the document and waits for it to be persisted (~13 s). Unlike
The Markdown is converted with Docmost's own converter, so it supports its whole schema: headings, bold, italics, code, lists, tables, blockquotes, code blocks, etc. Requires the |
| delete_pageA | Moves a page to the trash (recoverable with |
| restore_pageA | Restores a page that is in the trash. |
| move_pageA | Moves or reorders a page. Say where it should go; the position is computed. Three ways to place a page, in order of preference:
You never have to invent a position. Docmost orders pages with fractional indexing — a base62 string it compares lexicographically, which must be 5-12 characters — and that is fiddly to get right by hand. This tool reads the neighbouring positions and generates a valid one in between. |
| list_recent_pagesB | Lists recently updated pages. |
| get_workspace_overviewA | Start here. Lists everything in the workspace: every space and every page. Use this to answer questions like "what do I have in Docmost?", to take an
inventory, or to find a page by title before reading it with Each page carries With an It also returns a |
| list_child_pagesA | Lists only the direct children of a space or a page. This is one level, not the whole tree. To enumerate everything in the
workspace, use |
| get_page_breadcrumbsA | Returns the ancestor path (breadcrumbs) of a page. |
| get_page_historyC | Lists the version history of a page. |
| list_spacesB | Lists the spaces the user has access to. |
| get_spaceC | Gets the details of a space. |
| create_spaceB | Creates a new space. |
| get_commentsA | Gets the comments of a page. |
| create_commentB | Adds a comment to a page. |
| update_commentB | Updates the content of a comment. |
| get_current_userA | Returns the authenticated user and workspace information. |
| list_workspace_membersB | Lists the members of the workspace. |
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 21 tools
Each tool targets a distinct resource and action: pages (get/create/update/delete/restore/move/history/breadcrumbs), spaces (list/get/create), comments (get/create/update), and workspace overviews. The only potential overlap between update_page and update_page_content is clearly resolved by descriptions stating one renames and the other edits content. No tools appear to do the same thing.
All 21 tools follow a consistent verb_noun pattern in snake_case: get_page, create_comment, list_spaces, update_page_content, delete_page, restore_page, move_page, etc. Verbs like get/list/create/update/delete/restore/move are used predictably, and even compound nouns like workspace_overview and child_pages maintain the pattern. No mixing of conventions.
21 tools is slightly above the typical 3-15 ideal range, but the server covers a broad domain (spaces, pages, comments, workspace info) and each tool has a clear role. While a few could be merged (e.g., get_workspace_overview could subsume list_child_pages), the count is not excessive and fits the scope of a wiki/documentation server.
The tool surface covers the full lifecycle for pages (create, get, update content, rename, delete, restore, move, history), spaces (create, list, get), and comments (create, get, update), plus search, breadcrumbs, recent pages, and workspace overview. Missing operations like comment deletion or space updates are minor and can be worked around. Overall, it covers the core domain without dead ends.