doc-template-mcp
You can use this MCP server to turn Obsidian Markdown into styled doc-template HTML documents and publish them.
list_themes – list available color themes/IDs to use in rendering.
get_starter – fetch a starter Markdown document (plan or research) with syntax guide.
render_document – render a Markdown string to a standalone HTML file; optional theme, output path, overwrite, canonical URL.
render_file – render a .md file to same-name .html beside it; only overwrites if allowed.
publish_document – upload a rendered HTML to GitHub Pages (via DOC_TEMPLATE_PAGES_REPO) and return its public URL.
Allows publishing generated HTML documents to GitHub Pages from a GitHub repository and returns the public URL.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@doc-template-mcp 이 Markdown 파일을 기획 문서 HTML로 만들어 주고, 테마는 t3로 해줘."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
doc-template
옵시디언 Markdown 한 파일을 기획·리서치 문서 HTML로 만듭니다. 라이트·다크, PC·모바일, 인쇄를 지원하고, 터미널·Claude Code·Codex·Claude 앱에서 같은 도구로 씁니다.
표지와 띠지(결론 한 줄 + 바뀌는 것·대가·뒤집힐 조건)로 첫 화면에서 결론이 읽힙니다.
본문 폭은 한글 한 줄 36자 안팎(36em), 행간 1.7입니다. 절 사이에는 타공 헤어라인이 들어갑니다.
색은 머리말 한 줄로 고릅니다. 다이칸야마 츠타야 서점이 소개한 책 표지에서 뽑은 여섯 배색, 흑백(검정·흰색 두 색만), 한 가지 색 모드가 있습니다.
정하지 않은 것은 본문에 이름표로 흩지 않고 결정 모음 한 곳에 모읍니다. 옵시디언 접이 상자(
> [!decide]- 질문)로 쓰면 표지 아래 「정하지 않은 것 N가지 · 모아 보기」 줄과, 관련 절 머리의 「정할 것 N」 표시가 자동으로 붙습니다.머리의 문서 번호와 메타의 상위 문서에 적은 티켓 번호(CCO-121 등)는 머리말
jira:주소로 자동 링크됩니다.유형이 넷입니다. 위에서 아래로 읽는 기획(plan)·리서치(research), 기간을 훑고 날짜로 찾아가는 일정표(schedule) — 국면 카드·고정 2주 달력(오늘 표시)·운영 흐름과 부스팅 두 열·서랍 레이어, 조건으로 걸러 찾는 목록(catalog) — 상단에 고정되는 필터 줄·검색·건수·핵심 열만·그룹 접기.
doc-template starter schedule처럼 뼈대를 받아 씁니다.구조 점검이 들어 있습니다. 결론을 맨 위에, 소제목은 결론 문장으로, 한 문서 한 독자 같은 원칙(가이드)을
review가 점수와 고칠 점으로 알려 줍니다.
설치
uv가 필요합니다. 없으면 먼저 설치합니다.
curl -LsSf https://astral.sh/uv/install.sh | sh # 또는 brew install uv
uv tool install git+https://github.com/euna-source/doc-templatedoc-template(터미널 명령)과 doc-template-mcp(MCP 서버) 두 명령이 생깁니다. 업데이트는 uv tool upgrade doc-template 한 줄입니다.
Claude Code
claude mcp add doc-template -s user -- doc-template-mcpCodex
codex mcp add doc-template -- doc-template-mcpClaude 앱(데스크톱)
설정 → 개발자 → 설정 편집에서 claude_desktop_config.json에 아래를 넣고 앱을 다시 켭니다. command에는 which doc-template-mcp로 나온 전체 경로를 씁니다.
{
"mcpServers": {
"doc-template": { "command": "/Users/<이름>/.local/bin/doc-template-mcp" }
}
}Related MCP server: Little Red Book Card MCP
쓰는 법
AI에게는 이렇게 말하면 됩니다. "doc-template으로 이 내용을 기획 문서로 만들어 줘. 테마는 t1." MCP 도구 순서는 get_guide → get_starter → review_document → render_document입니다.
터미널에서는 이렇습니다.
doc-template starter plan -o 기획.md # 시작 문서
doc-template render 기획.md # 기획.html 생성
doc-template render 기획.md --theme mono # 흑백으로
doc-template review 기획.md # 구조 점검(점수·고칠 점)
doc-template guide # 구조 원칙
doc-template themes # 테마 목록테마
테마 | 이름 | 출처 표지 |
| 서가 전체 · 생성り × 노랑·주홍·초록 | 츠타야 서가 32권의 색 분포 |
| 노랑 한 면 | 『する、しない。』 |
| 흰 바탕 × 주홍 한 색 | 『世界』 junaida |
| 회갈색 × 주홍 | 『信号旗K』 |
| 연둣빛 풀색 | 『&Premium 京都』 |
| 노랑·빨강·남색 | 『いろいろ色のはじまり』 |
| 종이·먹 (v1 기본) | — |
| 흑백 | 검정·흰색 두 색만. 위계는 크기·굵기·선·반전 |
| 한 가지 색 | 고른 색 하나를 절 번호·목차·형광펜·띠지에만 |
모든 테마는 라이트·다크 양쪽에서 글자 대비 4.5:1 이상을 검사합니다.
Markdown 문법 (옵시디언 그대로)
쓰기 | 결과 |
머리말 | 표지·메타·띠지 |
| 번호가 붙은 절. 왼쪽은 목차 이름, 오른쪽은 큰 제목 |
| 형광펜. 절마다 한 구절을 권합니다 |
| 참고·주의·미확인 상자 |
| 다음 행동 목록 |
표, 첫 칸 | 추천 행. 숫자 열이 있거나 다섯 열 이상이면 모바일에서 가로 스크롤, 아니면 카드 |
| 이름표 |
| 요약 수치 |
| 각주와 출처 확인 상태 |
| 이력 |
전체 예시는 doc-template starter plan과 examples/sample-research.md에 있습니다.
문서 템플릿 모음 유형(kinds)
문서 템플릿 모음의 여섯 유형은 doc_template.kinds가 그립니다: prd(기획서형 개발요건정의서) · research · catalog(목록형) · schedule(일정표형) · minutes(회의록형) · pt(발표형). 위의 plan(기획안)과 prd는 다른 문서입니다.
doc-template kinds render minutes 회의록.md -o 회의록.html --theme mono
echo '{"fn":"render","args":["# 제목\n","pt"]}' | doc-template kinds call # 다른 파이썬에서 부를 때(JSON 입출력)부품(모듈) — 아무 페이지에나 붙이기
템플릿은 부품을 조립한 것이다. 부품은 src/doc_template/modules/<id>/에 폴더 하나(module.json·style.css·script.js)로 있고, 새 부품도 폴더 하나만 더하면 된다.
부품 | 하는 일 | 자료 |
look | 서체(나눔바른고딕)·한글 줄바꿈만 입힌다 | — |
toggle | 다크/라이트 버튼(자체 다크가 없으면 반전) | — |
history | 버전 기록 서랍, 「바뀐 곳 보기」로 신규·수정 형광 | versions |
sources | 접힌 출처 트레이(확인·일부·미확인) | sources |
verdict | 확정·추정·불가 판정 3단. 원고에서는 ```verdict 펜스 | — |
table | 표 반응형: 칸 안 낱말을 쪼개지 않고, 폭이 모자라면 줄마다 카드로 쌓는다(머리글이 칸 이름표). 원본 표 모양은 그대로 두고, 템플릿 표( | — |
doc-template kit list
doc-template kit apply 페이지.html -o 페이지-kit.html --with look,toggle,history --data history=기록.json
doc-template kit remove 페이지-kit.html -o 원본.html # 떼면 원본과 바이트까지 같다이미 있는 페이지의 구조는 건드리지 않는다. 붙인 자리는 <!--dk:start id-->…<!--dk:end id-->로 감싸고, 다시 붙이면 바꿔 끼운다. MCP 도구는 list_modules·apply_modules·remove_modules.
공개 배포(선택)
GitHub Pages가 켜진 저장소를 DOC_TEMPLATE_PAGES_REPO=owner/repo로 지정하면 doc-template publish 기획.html 기획-slug로 올리고 공개 URL을 받습니다. gh 로그인이 필요합니다. doc-template이 만든 HTML만 올라가고, 같은 저장소에 동시에 올리면 차례로 처리합니다. 회사 내부 문서는 공개 저장소에 올리지 마세요.
검사
uv run --with-editable . --with playwright python tests/verify_render.py # 11테마 × 4폭 × 2모드
uv run --with-editable . python tests/test_safety.py # 주입·경로·덮어쓰기
uv run --with-editable . python tests/mcp_smoke.py # MCP 도구 호출
uv run --with-editable . python tests/test_kinds.py # 모음 유형 렌더·호출
uv run --with-editable . --with playwright python tests/verify_tables.py 페이지.html … # 표 깨짐(넘침·잘림·선 끊김) 320~1440px × chrome·webkit
uv run --with-editable . python tests/test_publish_assets.py # 배포 때 그림·도식 함께 올리기
uv run --with-editable . python tests/test_ko_style.py # 한국어 문체 점검
uv run --with-editable . python tests/test_kit.py # 부품 붙이기·떼기
uv run --with-editable . --with playwright python tests/verify_kit.py # 부품 브라우저 확인Available Tools
5 toolsget_starterB
시작 문서(Markdown)와 문법. kind: plan(기획) | research(리서치). 머리말의 theme 한 줄로 색을 고른다.
Inputs: kind. Returns: result
list_themesB
쓸 수 있는 테마와 대표 색. id를 render_document의 theme에 넣는다. 'mono'는 흑백, 'one:#HEX' 또는 'one:t3'는 한 가지 색 모드.
Inputs: no named parameters.
publish_documentA
렌더한 HTML을 GitHub Pages 저장소(환경변수 DOC_TEMPLATE_PAGES_REPO)에 올리고 공개 URL을 돌려준다. 외부 공개이므로 사용자 확인 뒤에만 부른다.
Inputs: slug (required), html_path (required).
render_documentB
옵시디언 Markdown을 문서 템플릿 HTML(한 파일)로 만든다. theme을 비우면 머리말의 theme(없으면 t1). output_path를 비우면 ~/Documents/doc-template/<제목>-<날짜>.html 에 저장한다. 결과에 파일 경로와 대비 검사 결과가 있다.
Inputs: markdown (required), theme, overwrite, output_path, +1 more.
render_fileB
Markdown(.md) 파일을 읽어 같은 폴더에 같은 이름의 .html로 렌더한다. 같은 이름의 HTML이 있으면 overwrite=True일 때만 덮어쓴다.
Inputs: path (required), theme, overwrite.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool maps to a distinct stage in the template workflow: theme discovery, starter retrieval, rendering from Markdown text, rendering from a file, and publishing. Despite render_document and render_file both producing HTML, their input modes are clearly separated and the names reinforce the difference.
All five tool names follow the same snake_case verb_noun pattern: list_themes, get_starter, render_document, render_file, publish_document. The verbs match their actions consistently and no mixed naming conventions appear.
Five tools is a well-scoped size for this server's purpose. Each tool covers a necessary step without redundancy, and there is no bloat from dozens of near-duplicate operations.
The tool surface covers the full workflow: discovering themes, obtaining a starter template, rendering Markdown from text or a file, and publishing to GitHub Pages. There are no obvious dead ends or missing core operations within the stated domain.
Related MCP Connectors
Convert Markdown to PDF, DOCX, HTML or EPUB with formatting and display options.
Use your own Word templates to convert Markdown → DOCX/PDF/HTML from any MCP-compatible AI.
Turn Markdown or plain text into a clean PDF document to print or share, plus an editable Word file.
Render Markdown and LLM output into accessible PDF/UA-1 PDFs. No headless Chromium.
Related MCP Servers
- AlicenseAqualityDmaintenanceConverts Markdown documents to PDF files with support for syntax highlighting, custom styling, Mermaid diagrams, optional page numbers, and configurable watermarks.171 npmMIT
- AlicenseBqualityDmaintenanceConverts Markdown documents into beautifully styled knowledge cards with 18 different themes and generates them as HTML or image files (PNG/JPEG) in various sizes.314 npm5MIT
- FlicenseAqualityDmaintenanceConverts JSON/CSV Markdown content into interactive flashcard pages with multiple templates, PDF export, and voice support for language learning.4-
- AlicenseNot gradedqualityDmaintenanceEnables converting Japanese Markdown files to beautifully formatted PDFs directly from Claude Code, with support for custom themes, page formats, and CSS.9 npm1MIT