Skip to main content
Glama
doc-template-mcp

doc-template-mcp

by euna-source

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-template

doc-template(터미널 명령)과 doc-template-mcp(MCP 서버) 두 명령이 생깁니다. 업데이트는 uv tool upgrade doc-template 한 줄입니다.

Claude Code

claude mcp add doc-template -s user -- doc-template-mcp

Codex

codex mcp add doc-template -- doc-template-mcp

Claude 앱(데스크톱)

설정 → 개발자 → 설정 편집에서 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                          # 테마 목록

테마

테마

이름

출처 표지

t1

서가 전체 · 생성り × 노랑·주홍·초록

츠타야 서가 32권의 색 분포

t2

노랑 한 면

『する、しない。』

t3

흰 바탕 × 주홍 한 색

『世界』 junaida

t4

회갈색 × 주홍

『信号旗K』

t5

연둣빛 풀색

『&Premium 京都』

t6

노랑·빨강·남색

『いろいろ色のはじまり』

paper

종이·먹 (v1 기본)

—

mono

흑백

검정·흰색 두 색만. 위계는 크기·굵기·선·반전

one:#HEX / one:t3

한 가지 색

고른 색 하나를 절 번호·목차·형광펜·띠지에만

모든 테마는 라이트·다크 양쪽에서 글자 대비 4.5:1 이상을 검사합니다.

Markdown 문법 (옵시디언 그대로)

쓰기

결과

머리말 theme: t1, title, deck, status, meta, obi

표지·메타·띠지

## 이름 | 소제목

번호가 붙은 절. 왼쪽은 목차 이름, 오른쪽은 큰 제목

==구절==

형광펜. 절마다 한 구절을 권합니다

> [!note], > [!caution], > [!unknown]

참고·주의·미확인 상자

- [ ] 할 일 @담당 ~기한, - [/] 진행 중, - [x] 완료

다음 행동 목록

표, 첫 칸 ★

추천 행. 숫자 열이 있거나 다섯 열 이상이면 모바일에서 가로 스크롤, 아니면 카드

{{가안}}

이름표

```stats 줄마다 값 | 단위 | 설명

요약 수치

[^1] + ## 출처 목록의 {확인|일부|미확인}

각주와 출처 확인 상태

## 변경 이력 표

이력

전체 예시는 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

표 반응형: 칸 안 낱말을 쪼개지 않고, 폭이 모자라면 줄마다 카드로 쌓는다(머리글이 칸 이름표). 원본 표 모양은 그대로 두고, 템플릿 표(dk-frame)만 칸 선을 다시 그어 병합 칸에서도 선이 끊기지 않는다. 유형 렌더(kinds)의 표는 기본으로 쓴다

—

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 tools
get_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

    A3.7/5.0

    Scored across 5 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness5/5

    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

    Related MCP Servers