Skip to main content
Glama

MCP Docmost Server

Model Context Protocol (MCP) server for Docmost - an open-source collaborative documentation platform.

Features

  • Pages: Get, search, list, create, update, delete pages

  • Spaces: List, get, create spaces

  • Comments: List and add comments on pages

  • Users: Get current user, list workspace members

  • History: View page revision history

  • Export: Export pages to markdown, HTML, or PDF

Related MCP server: MCP Atlassian

Installation

uvx mcp-docmost

Using pip

pip install mcp-docmost

Configuration

Getting Auth Token

  1. Login to Docmost in your browser

  2. Open Developer Tools (F12) → Application → Cookies

  3. Copy the authToken cookie value

Add to Kiro MCP Config

Add to .kiro/settings/mcp.json:

{
  "mcpServers": {
    "docmost": {
      "command": "uvx",
      "args": ["mcp-docmost"],
      "env": {
        "DOCMOST_URL": "https://your-docmost-instance.com",
        "DOCMOST_AUTH_TOKEN": "your-auth-token-here"
      }
    }
  }
}

Available Tools

Page Operations

Tool

Description

docmost_get_page

Get page info and content by ID or slug

docmost_search_pages

Search pages by query text

docmost_list_pages

List pages in a space or under parent

docmost_create_page

Create a new page

docmost_update_page

Update page title or content

docmost_delete_page

Delete a page

Space Operations

Tool

Description

docmost_list_spaces

List all spaces in workspace

docmost_get_space

Get space info by ID or slug

docmost_create_space

Create a new space

Comment Operations

Tool

Description

docmost_list_comments

List comments on a page

docmost_add_comment

Add a comment to a page

User Operations

Tool

Description

docmost_get_current_user

Get current authenticated user

docmost_list_members

List workspace members

History & Export

Tool

Description

docmost_get_page_history

Get page revision history

docmost_export_page

Export page (markdown/html/pdf)

Example Usage

User: Search for pages about "AI gợi ý"
Assistant: [calls docmost_search_pages with query="AI gợi ý"]

User: Get the content of page yQQmTbt8it
Assistant: [calls docmost_get_page with page_id="yQQmTbt8it"]

User: List all spaces
Assistant: [calls docmost_list_spaces]

Development

# Install dependencies
cd mcp-docmost
uv sync

# Run server directly
uv run python -m mcp_docmost.server

License

MIT

Available Tools

13 tools
docmost_add_commentC

Add a comment to a page.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYesPage ID to comment on
contentYesComment text
parent_comment_idNoOptional: Parent comment ID for replies

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Add a comment' implies a write/mutation operation, it doesn't specify whether this requires authentication, what happens on success/failure, if there are rate limits, or how comments are structured in the system. The description is minimal and lacks important behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just 5 words, front-loading the essential information. There's zero wasted language or unnecessary elaboration. Every word serves a clear purpose in communicating the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns, error conditions, authentication requirements, or how it fits within the broader comment system. The minimal description leaves too many contextual gaps for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, all three parameters are documented in the schema. The description adds no additional semantic context about parameters beyond what's already in the schema descriptions. This meets the baseline expectation when schema coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Add a comment') and target resource ('to a page'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'docmost_list_comments' or specify what type of comment system this is, but the verb+resource combination is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'docmost_list_comments' for reading comments or 'docmost_update_page' for modifying page content. There's no mention of prerequisites, permissions required, or contextual constraints for adding comments.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docmost_create_pageC

Create a new page in Docmost.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesPage title
space_idYesSpace ID where the page will be created
parent_page_idNoOptional: Parent page ID for nested pages
content_textNoOptional: Initial page content as plain text

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states it 'creates' without disclosing behavioral traits. It doesn't mention permissions required, whether creation is idempotent, error conditions, or what happens on success (e.g., returns a page ID). For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action ('Create a new page') without unnecessary words. Every part earns its place, making it highly concise and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity as a mutation operation with no annotations and no output schema, the description is incomplete. It doesn't explain what happens after creation (e.g., returns a page object or ID), error handling, or dependencies, leaving gaps that could hinder an agent's ability to use it effectively in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter semantics beyond what the input schema provides, which has 100% coverage with clear descriptions for all 4 parameters. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract from the well-documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('create') and resource ('new page in Docmost'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like docmost_update_page or docmost_list_pages, which would require mentioning this is specifically for initial creation rather than modification or listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a space_id), exclusions, or comparisons to siblings like docmost_update_page for editing or docmost_list_pages for viewing, leaving the agent to infer usage from context alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docmost_delete_pageC

Delete a page from Docmost.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYesPage ID to delete

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool deletes a page, implying a destructive, irreversible mutation, but doesn't specify permissions required, confirmation steps, error handling, or what happens to associated data (e.g., comments). For a destructive tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that front-loads the core action ('Delete a page') without unnecessary words. It efficiently conveys the purpose in minimal space, making it easy for an agent to parse and understand quickly. Every word earns its place, with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a destructive mutation tool with no annotations and no output schema, the description is incomplete. It lacks critical context such as success/error responses, side effects (e.g., impact on linked content), or safety warnings. The schema covers the single parameter well, but overall, the description doesn't provide enough information for safe and effective tool invocation in a complex environment.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter information beyond what the input schema provides. Since schema description coverage is 100% (the 'page_id' parameter is fully documented in the schema), the baseline score is 3. The description doesn't compensate with additional context like format examples or usage notes, but it doesn't need to given the schema's completeness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Delete') and resource ('a page from Docmost'), making the purpose immediately understandable. It doesn't explicitly differentiate from siblings like 'docmost_update_page' or 'docmost_create_page', but the verb 'Delete' inherently distinguishes it from other operations. The description is specific enough to understand what the tool does without being tautological.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing page_id from 'docmost_get_page'), exclusions (e.g., not for deleting comments or spaces), or comparisons to siblings like 'docmost_update_page' for modifications instead of deletion. Without such context, the agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docmost_get_current_userB

Get information about the currently authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get[s] information,' implying a read-only operation, but does not specify what information is returned (e.g., user details, permissions), any rate limits, error conditions, or authentication needs. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that directly states the tool's purpose without any redundant or verbose language. It is front-loaded with the essential information, making it highly efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate for a basic read operation. However, it lacks details on the return format (e.g., what user information is provided) and does not address potential complexities like error handling or authentication, which could be important for an AI agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and the schema description coverage is 100%, meaning there are no parameters to document. The description does not need to add parameter semantics, so it meets the baseline expectation for a parameterless tool by not introducing unnecessary details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('information about the currently authenticated user'), making it immediately understandable. However, it does not explicitly differentiate itself from potential sibling tools like 'docmost_list_members' or user-specific operations, which could provide similar user data in different contexts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating it retrieves data for 'the currently authenticated user,' suggesting it should be used when user-specific information is needed. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., 'docmost_list_members' for listing all users) or any prerequisites, such as authentication requirements, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docmost_get_pageB

Get page information and content by ID or slug. Returns title, metadata, and full content.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYesPage ID (UUID) or slug ID (e.g., 'yQQmTbt8it')
include_contentNoWhether to include page content (default: true)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions what is returned (title, metadata, and full content) but lacks critical behavioral details: whether this is a read-only operation, if it requires specific permissions, potential rate limits, error conditions for invalid IDs/slugs, or how the include_content parameter affects performance. The description is functional but misses key operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded: one sentence states the action and parameters, another specifies the return values. Every word earns its place with zero redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read operation with 2 parameters and no output schema, the description is minimally adequate. It covers the basic purpose and return values but lacks context on authentication, error handling, or performance considerations. Without annotations or output schema, more completeness would be beneficial, but it meets the bare minimum for a simple getter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents both parameters (page_id and include_content). The description adds no additional parameter semantics beyond what's in the schema—it doesn't explain ID/slug format nuances or content inclusion implications. Baseline 3 is appropriate when the schema does all the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get page information and content by ID or slug' specifies the verb (get) and resource (page information and content). It distinguishes from siblings like docmost_list_pages (which lists multiple pages) and docmost_get_page_history (which retrieves version history). However, it doesn't explicitly differentiate from docmost_get_space or docmost_recent_pages in terms of scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to use docmost_get_page versus docmost_list_pages for single vs multiple pages, or versus docmost_get_page_history for content vs history. There's also no mention of prerequisites like authentication or access rights.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docmost_get_page_historyB

Get revision history of a page.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYesPage ID
limitNoMaximum revisions to return (default: 20)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It states what the tool does but doesn't mention important behavioral aspects like whether this is a read-only operation, what format the history returns (e.g., timestamps, authors), if there are rate limits, or if authentication is required. For a tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the tool's purpose without any unnecessary words. It's appropriately sized and front-loaded, with every word earning its place in conveying the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (retrieving historical data with 2 parameters) and no output schema, the description is minimally adequate but incomplete. It doesn't explain what the revision history includes (e.g., changes, authors, timestamps) or behavioral constraints. With 100% schema coverage for inputs, it covers basic functionality but lacks depth for proper agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters ('page_id' and 'limit') clearly documented in the schema. The description adds no additional parameter information beyond what's already in the structured schema, so it meets the baseline score of 3 when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get revision history') and resource ('of a page'), making the tool's purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'docmost_get_page' or 'docmost_recent_pages' that also retrieve page-related information, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'docmost_get_page' (for current page content) and 'docmost_recent_pages' (for recent pages), there's no indication of when historical revisions are needed versus other page-related queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docmost_get_spaceC

Get space information by ID or slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
space_idYesSpace ID or slug

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('Get space information') without details on permissions, rate limits, error handling, or response format. For a read operation with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to parse quickly, with every part contributing essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete for a tool that retrieves data. It doesn't explain what 'space information' includes (e.g., metadata, settings), how results are structured, or potential errors. For a read operation with no structured output, more context is needed to understand the tool fully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the parameter 'space_id' documented as 'Space ID or slug'. The description adds no additional meaning beyond this, such as format examples or constraints. Given the high schema coverage, a baseline score of 3 is appropriate, as the schema adequately handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('space information'), specifying retrieval by 'ID or slug'. However, it doesn't differentiate from sibling tools like 'docmost_get_page' or 'docmost_list_spaces', which also retrieve space-related information, leaving some ambiguity about when to use this specific tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. With siblings like 'docmost_list_spaces' (for listing spaces) and 'docmost_get_page' (for retrieving pages within spaces), the description lacks context on use cases, prerequisites, or exclusions, offering minimal help in tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docmost_list_commentsC

List comments on a page.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYesPage ID to get comments from
limitNoMaximum results (default: 50)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'List comments' which implies a read-only operation, but doesn't specify if it requires authentication, how pagination works (beyond the limit parameter), what format comments are returned in, or any rate limits. This is inadequate for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for a simple list operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., comment objects, error handling), behavioral constraints, or usage context. For a list operation with 2 parameters, this leaves significant gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters ('page_id' and 'limit') with their types and descriptions. The description adds no additional parameter information beyond what's in the schema, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('comments on a page'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'docmost_get_page' or 'docmost_get_page_history' which might also retrieve page-related information, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, when not to use it, or comparison to siblings like 'docmost_add_comment' or 'docmost_get_page'. This leaves the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docmost_list_membersC

List all members in the workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results (default: 50)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a list operation, implying read-only behavior, but doesn't cover aspects like pagination, rate limits, authentication needs, or what the output format looks like, which are critical for a list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to understand at a glance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete for a list tool. It doesn't explain return values, pagination behavior, or error handling, leaving significant gaps in understanding how to use the tool effectively in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter information beyond what the schema provides, which has 100% coverage for the single parameter 'limit'. The schema already documents its type, default, and purpose, so the baseline score of 3 is appropriate as the description doesn't compensate or add extra meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List') and resource ('all members in the workspace'), making the purpose unambiguous. However, it doesn't distinguish this tool from siblings like 'docmost_list_pages' or 'docmost_list_spaces' beyond the resource type, missing explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention if this is the primary way to retrieve member information or if other tools like 'docmost_get_current_user' should be used for specific cases, leaving usage context implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docmost_list_pagesC

List pages in a space or under a parent page.

ParametersJSON Schema
NameRequiredDescriptionDefault
space_idNoSpace ID to list pages from
parent_page_idNoOptional: Parent page ID to list children
pageNoPage number for pagination (default: 1)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions listing pages but doesn't disclose behavioral traits like pagination details (implied by the 'page' parameter), rate limits, authentication needs, or what happens if no space_id or parent_page_id is provided. The description is minimal and lacks necessary context for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain return values (e.g., list format, fields), pagination behavior, or error conditions. For a list tool with three parameters, more context is needed for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (space_id, parent_page_id, page). The description adds no additional meaning beyond what's in the schema, such as clarifying the relationship between space_id and parent_page_id or pagination behavior. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('pages'), specifying the scope ('in a space or under a parent page'). It distinguishes from siblings like docmost_get_page (single page) and docmost_recent_pages (recent pages), but doesn't explicitly differentiate from docmost_list_spaces (lists spaces) or docmost_list_comments (lists comments).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like docmost_recent_pages or docmost_get_page. The description implies usage for listing pages in a space or under a parent, but lacks explicit context, exclusions, or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docmost_list_spacesB

List all spaces in the workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results (default: 50)
pageNoPage number (default: 1)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a list operation, implying read-only behavior, but doesn't mention whether it requires authentication, has rate limits, returns paginated results (though parameters suggest it), or what the output format looks like. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It's appropriately sized and front-loaded, with every word earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (list operation with pagination parameters), no annotations, and no output schema, the description is minimally adequate but incomplete. It identifies what the tool does but lacks details about authentication requirements, output format, error conditions, or how it differs from sibling tools, leaving the agent with gaps in understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with both parameters ('limit' and 'page') clearly documented in the schema itself. The description doesn't add any parameter-specific information beyond what's already in the schema, so it meets the baseline of 3 for high schema coverage without compensating value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('all spaces in the workspace'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'docmost_get_space' (which presumably gets a single space) or 'docmost_list_pages' (which lists pages rather than spaces), so it doesn't reach the highest level of sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to use 'docmost_list_spaces' instead of 'docmost_get_space' (for a single space) or 'docmost_list_pages' (for pages within spaces), nor does it specify any prerequisites or exclusions for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docmost_recent_pagesC

Get recently updated pages in a space.

ParametersJSON Schema
NameRequiredDescriptionDefault
space_idYesSpace ID to get recent pages from

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get[s] recently updated pages' but doesn't clarify what 'recently' means (e.g., time frame, sorting), whether it's read-only, what permissions are needed, or the format of the returned data. This is inadequate for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose and efficiently conveys the essential action without unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'recently' means, how results are sorted or limited, or what data is returned, leaving significant gaps for the agent to understand the tool's behavior and output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description doesn't add any parameter-specific information beyond what's in the input schema, which has 100% coverage. It mentions 'in a space' which aligns with the 'space_id' parameter, but provides no additional context like valid formats or examples. With high schema coverage, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('recently updated pages in a space'), making it easy to understand what it does. However, it doesn't explicitly distinguish it from sibling tools like 'docmost_list_pages' or 'docmost_get_page', which could cause confusion about when to use this versus other listing/fetching tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or compare it to siblings like 'docmost_list_pages' or 'docmost_get_page', leaving the agent to guess based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docmost_update_pageC

Update an existing page's title or content.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYesPage ID to update
titleNoNew page title
content_textNoNew page content as plain text

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is an update operation, implying mutation, but lacks critical details: no mention of permissions required, whether changes are reversible, rate limits, error handling, or what happens to unspecified fields. This is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It front-loads the core purpose ('Update an existing page's title or content'), making it immediately clear without unnecessary elaboration. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (mutation with 3 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like side effects, permissions, or response format, leaving the agent with insufficient context to use the tool safely and effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents the three parameters (page_id, title, content_text). The description adds minimal value beyond the schema by mentioning 'title or content' as updatable fields, but it doesn't provide additional context like format constraints or usage examples. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Update') and resource ('existing page's title or content'), making the purpose immediately understandable. It distinguishes from siblings like 'docmost_create_page' (creation) and 'docmost_delete_page' (deletion), though it doesn't explicitly contrast with 'docmost_get_page' (read-only).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing page ID), exclusions (e.g., cannot update non-existent pages), or comparisons to siblings like 'docmost_get_page_history' for viewing changes. Usage is implied but not explicitly defined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 13 tool updates
    • First observeddocmost_add_comment
    • First observeddocmost_create_page
    • First observeddocmost_delete_page
    • First observeddocmost_get_current_user
    • First observeddocmost_get_page
    • First observeddocmost_get_page_history
    • First observeddocmost_get_space
    • First observeddocmost_list_comments
    • First observeddocmost_list_members
    • First observeddocmost_list_pages
    • First observeddocmost_list_spaces
    • First observeddocmost_recent_pages
    • First observeddocmost_update_page

TDQS

A3.6/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity. Each tool targets a specific resource (page, comment, space, user, member) and action (add, create, delete, get, list, update, recent), making misselection unlikely. For example, docmost_get_page, docmost_list_pages, and docmost_recent_pages serve different but complementary functions without overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with the 'docmost_' prefix, using snake_case throughout. The verbs are clear and standardized (add, create, delete, get, list, update, recent), and nouns are specific (comment, page, user, history, space, members). There are no deviations or mixed conventions.

Tool Count5/5

With 13 tools, the count is well-scoped for a document management system like Docmost. Each tool earns its place by covering essential operations for pages, comments, spaces, users, and members, without being overly sparse or bloated. This aligns with typical MCP servers that handle 3-15 tools effectively.

Completeness5/5

The tool surface provides complete CRUD/lifecycle coverage for the Docmost domain. It includes create, read, update, and delete operations for pages and comments, along with listing and retrieval for spaces, members, and users. No obvious gaps exist; agents can perform full workflows from page creation to commenting and history tracking.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cyborgx0x/mcp-docmost'

If you have feedback or need assistance with the MCP directory API, please join our Discord server