Skip to main content
Glama

docmost-mcp

AI 에이전트가 자체 호스팅 Docmost 위키에 일반 REST API를 통해 읽기/쓰기 접근할 수 있게 해주는 MCP 서버입니다.

왜 필요한가

Docmost는 자체 MCP 엔드포인트를 제공하지만 유료 라이선스 뒤에 있습니다. Settings UI에서 API 관리는 *"Available with a paid license"*로 표시되며, Community Edition에서는 /api/mcp404를 반환합니다. API 키 발급도 동일하게 제한됩니다.

하지만 일반 REST API는 Community Edition에서 완전히 열려 있습니다. 이 서버는 그 위에 얇은 래퍼입니다: 동일한 작업, API 키 대신 세션 인증을 사용합니다.

Related MCP server: MediaWiki MCP Server

요구 사항

  • Python 3.11+

  • HTTP(S)로 접근 가능한 Docmost 인스턴스

  • 에이전트 전용 Docmost 사용자 계정

설치

git clone https://github.com/<you>/docmost-mcp.git
cd docmost-mcp
python3 -m venv venv
./venv/bin/pip install -r requirements.txt

구성

예제 설정 파일을 복사하여 작성하세요:

cp config.example.json config.json
chmod 600 config.json
{
  "url": "https://docmost.example.com",
  "api_key": "",
  "email": "agent@example.com",
  "password": "..."
}

두 가지 인증 모드를 지원합니다:

모드

사용 시점

api_key

Docmost Enterprise 라이선스를 보유한 경우. Bearer 토큰으로 전송됩니다.

email + password

Community Edition. 서버가 로그인하고 세션이 만료되면 자동으로 재인증합니다.

api_key가 설정되면 우선 적용되고, 그렇지 않으면 자격 증명이 사용됩니다.

설정 파일 경로는 DOCMOST_MCP_CONFIG 환경 변수로 재정의할 수 있습니다.

전용 계정 만들기

워크스페이스 소유자의 자격 증명을 사용하지 마세요. 별도의 사용자를 초대하고(Settings → Members → Invite) 에이전트가 필요한 공간에만 접근 권한을 부여하세요. Docmost의 공간 접근은 일반적으로 기본 Everyone 그룹에서 상속되므로, 에이전트가 제한되어 있다고 가정하기 전에 해당 그룹이 접근할 수 있는 범위를 확인하세요.

Gmail 스타일의 플러스 주소(you+agent@gmail.com)는 두 번째 사서함을 만들고 싶지 않을 때 사용할 수 있습니다.

검증

selftest.py는 로그인, 읽기, 쓰기, 다시 읽기, 삭제의 전체 체인을 테스트합니다:

./venv/bin/python selftest.py

에이전트 연결

이 서버는 stdio를 통해 MCP를 사용합니다.

Claude Code

claude mcp add docmost -- /path/to/docmost-mcp/venv/bin/python /path/to/docmost-mcp/server.py

또는 ~/.claude.json에 수동으로 추가하세요:

{
  "mcpServers": {
    "docmost": {
      "type": "stdio",
      "command": "/path/to/docmost-mcp/venv/bin/python",
      "args": ["/path/to/docmost-mcp/server.py"],
      "env": {}
    }
  }
}

이후 Claude Code를 다시 시작하세요 — 설정은 시작 시 읽힙니다.

Claude Desktop

claude_desktop_config.json에 동일한 블록을 추가하세요:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Cursor

프로젝트의 .cursor/mcp.json에 추가하거나 전역적으로 ~/.cursor/mcp.json에 추가하세요. 동일한 mcpServers 형태를 사용합니다.

기타 MCP 클라이언트

virtualenv의 Python으로 server.py를 실행하고 stdin/stdout을 통해 JSON-RPC를 사용하세요. 최소한의 핸드셰이크:

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/list"}

편의 래퍼를 사용하면 명령을 짧게 유지할 수 있습니다:

#!/bin/sh
exec /path/to/docmost-mcp/venv/bin/python /path/to/docmost-mcp/server.py "$@"

도구

도구

인수

기능

list_spaces

limit

워크스페이스 공간 목록

search

query, space_id?, limit

페이지 전체 텍스트 검색

get_page

page_id

ID 또는 slugId로 페이지 가져오기

recent_pages

space_id?, limit

최근 변경된 페이지

create_page

space_id, title, content?, parent_page_id?, fmt

페이지 생성

update_page

page_id, title?, content?, fmt

제목 및/또는 본문 업데이트

move_page

page_id, parent_page_id?

페이지 부모 변경

delete_page

page_id, permanently

휴지통으로 이동(또는 영구 삭제)

fmtmarkdown(기본값), html 또는 json입니다.

Docmost API 참고 사항

이 서버를 확장할 때 알아두면 좋은 점:

  • 모든 엔드포인트는 읽기 포함 POST입니다.

  • /pages/create/pages/update반드시 format 필드(json | markdown | html)가 필요합니다. 생략하면 400을 반환합니다.

  • 응답은 페이로드를 {"data": ...}로 감쌉니다. 클라이언트가 이를 풉니다.

  • /api/api-keys는 Community Edition에서 빈 목록과 함께 200을 반환합니다 — 목록 조회는 열려 있지만 키 생성만 라이선스로 제한됩니다.

  • 엔드포인트 경로와 페이로드 형태는 Docmost 클라이언트 소스(apps/client/src/features/*/services/*.ts)에서 가져온 것이지 추측한 것이 아닙니다.

보안

  • config.json에는 평문 비밀번호가 저장됩니다. 모드를 600으로 유지하고 버전 관리에서 제외하세요 — .gitignore에 포함되어 있습니다.

  • 에이전트 계정에 작업에 필요한 최소한의 공간 접근 권한만 부여하세요.

  • 계정의 작업은 Docmost에서 자신의 이름으로 표시되므로 페이지 기록이 추적 가능합니다.

호환성

Docmost 0.95.0 및 Python MCP SDK 2.0을 기준으로 빌드되었습니다. SDK 2.0은 FastMCPMCPServer로 이름을 바꾸고 mcp.server로 이동했습니다. 2.0 이전의 mcp.server.fastmcp 임포트 경로는 작동하지 않습니다.

라이선스

MIT — LICENSE 참조.

이 프로젝트는 Docmost와 제휴 관계가 없습니다.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI models to interact with BookStack wiki instances through a comprehensive API interface. Supports content management (books, chapters, pages), user administration, search functionality, and content export in multiple formats.
    41
    12
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables LLM clients to interact with any MediaWiki wiki, supporting page creation/editing, search, file uploads, category browsing, and page history retrieval. Supports multiple wikis with OAuth2 or bot password authentication for both public and private wikis.
    910
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with direct access to self-hosted Docmost documentation through tools for listing spaces, searching content, and retrieving pages in Markdown format. It facilitates seamless documentation lookup and content retrieval within MCP-compatible clients.
    4
    MIT

View all related MCP servers

Related MCP Connectors

  • Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.

  • Self-hostable team wiki; agents read & write it via MCP; Atlas turns your repo into a cited wiki.

  • AgentDocs (agentdocs.eu) MCP: read, search, write, comment, share & attach images to Markdown docs.

View all MCP Connectors

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/NeerdOnerT/docmost-mcp'

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