https://github.com/dapi/docmost-cli
CLI for Docmost documentation platform
https://github.com/dapi/docmost-cli
Last synced: 3 months ago
JSON representation
CLI for Docmost documentation platform
- Host: GitHub
- URL: https://github.com/dapi/docmost-cli
- Owner: dapi
- License: mit
- Created: 2026-02-25T16:36:52.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-03-03T16:31:32.000Z (3 months ago)
- Last Synced: 2026-03-03T20:36:26.192Z (3 months ago)
- Language: TypeScript
- Size: 252 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/dapi/docmost-cli/actions/workflows/ci.yml)
# Docmost MCP Server
A Model Context Protocol (MCP) server for [Docmost](https://docmost.com/), enabling AI agents to search, create, modify, and organize documentation pages and spaces.
## Features
### Core Management
- **`create_page`**: Smart creation tool. Creates content (via import) AND handles hierarchy (nesting under a parent) in one go.
- **`update_page`**: Update a page's content and/or title. Updates are performed via real-time collaboration (WebSocket).
- **`delete_page` / `delete_pages`**: Delete single or multiple pages at once.
- **`move_page`**: Organize pages hierarchically by moving them to a new parent or root.
### Exploration & Retrieval
- **`search`**: Full-text search across spaces with optional space filtering (`query`, `spaceId`).
- **`get_workspace`**: Get information about the current Docmost workspace.
- **`list_spaces`**: View all spaces within the current workspace.
- **`list_groups`**: View all groups within the current workspace.
- **`list_pages`**: List pages within a space (ordered by `updatedAt` descending).
- **`get_page`**: Retrieve full content and metadata of a specific page.
### Technical Details
- **Automatic Markdown Conversion**: Page content is automatically converted from Docmost's internal ProseMirror/TipTap JSON format to clean Markdown for easy agent consumption. Supports all Docmost extensions including callouts, task lists, math blocks, embeds, and more.
- **Smart Import API**: Uses Docmost's import API to ensure clean Markdown-to-ProseMirror conversion when creating pages.
- **Child Preservation**: The `update_page` tool creates a new page ID but effectively simulates an in-place update by reparenting existing child pages to the new version.
- **Pagination Support**: Automatically handles pagination for large datasets (spaces, pages, groups).
- **Filtered Responses**: API responses are filtered to include only relevant information, optimizing data transfer for agents.
## Installation
### From npm (recommended)
```bash
npm install -g @dapi/docmost-cli
```
### From source
```bash
git clone https://github.com/dapi/docmost-cli.git
cd docmost-cli
npm install
npm run build
```
## Configuration
This server requires the following environment variables:
- `DOCMOST_API_URL`: The full URL to your Docmost API (e.g., `https://docs.example.com/api`).
- `DOCMOST_EMAIL`: The email address for authentication.
- `DOCMOST_PASSWORD`: The password for authentication.
## Usage with Claude Desktop / MCP Client
Add the following to your MCP configuration (e.g. `claude_desktop_config.json`):
### Using npx (recommended)
```json
{
"mcpServers": {
"docmost": {
"command": "npx",
"args": ["github:dapi/docmost-mcp"],
"env": {
"DOCMOST_API_URL": "http://localhost:3000/api",
"DOCMOST_EMAIL": "test@docmost.com",
"DOCMOST_PASSWORD": "test"
}
}
}
}
```
### Using local build
```json
{
"mcpServers": {
"docmost": {
"command": "node",
"args": ["./build/index.js"],
"env": {
"DOCMOST_API_URL": "http://localhost:3000/api",
"DOCMOST_EMAIL": "test@docmost.com",
"DOCMOST_PASSWORD": "test"
}
}
}
}
```
## Development
```bash
# Watch mode
npm run watch
# Build
npm run build
```
## License
MIT