MCP 문서 관리

메뉴

Markdown2doc

Markdown2doc

Markdown2doc MCP 서버는 Pandoc을 사용하여 다양한 파일 형식 간의 변환 기능을 제공합니다. 이 서버를 통해 LLM은 Markdown 문서를 Word, PDF, HTML, EPUB 등의 다양한 형식으로 변환하거나, 반대로 다양한 문서 형식을 Markdown으로 변환할 수 있습니다. 문서 형식 간의 원활한 변환으로 콘텐츠 제작, 출판, 공유 워크플로우를 크게 개선할 수 있습니다.

특징

  • 다양한 형식 지원: Markdown, HTML, Word, PDF, EPUB, LaTeX 등 다양한 형식 간 변환
  • 스타일 보존: 문서의 스타일, 서식, 구조 보존
  • 메타데이터 처리: 문서 메타데이터 추출 및 적용
  • 템플릿 사용: 사용자 정의 템플릿을 활용한 변환
  • 목차 생성: 자동 목차 생성 및 관리
  • 참고문헌 처리: 인용 및 참고문헌 형식 관리
  • 사용자 정의 필터: 다양한 변환 필터 적용
  • 배치 처리: 여러 문서의 일괄 변환

API

도구

기본 변환 도구

  • convert_document: 문서 형식 변환
  • 입력: 소스 파일 경로, 대상 형식, 옵션
  • 출력: 변환된 파일 경로 및 상태

  • markdown_to_doc: Markdown을 다른 형식으로 변환

  • 입력: Markdown 파일 경로, 대상 형식(docx, pdf, html 등), 옵션
  • 출력: 변환된 파일 경로

  • doc_to_markdown: 다른 형식을 Markdown으로 변환

  • 입력: 문서 파일 경로, 옵션
  • 출력: 변환된 Markdown 파일 경로

고급 변환 도구

  • convert_with_template: 템플릿을 사용한 변환
  • 입력: 소스 파일, 템플릿 파일, 대상 형식, 옵션
  • 출력: 변환된 파일 경로

  • convert_with_style: 스타일 시트를 적용한 변환

  • 입력: 소스 파일, 스타일 파일, 대상 형식, 옵션
  • 출력: 스타일이 적용된 변환 파일 경로

  • convert_with_bibliography: 참고문헌을 포함한 변환

  • 입력: 소스 파일, 참고문헌 파일, 인용 스타일, 대상 형식
  • 출력: 참고문헌이 포함된 변환 파일 경로

배치 처리 도구

  • batch_convert: 여러 문서 일괄 변환
  • 입력: 소스 파일 목록, 대상 형식, 공통 옵션
  • 출력: 변환된 파일 경로 목록 및 상태

  • recursive_convert: 디렉토리 내 모든 문서 변환

  • 입력: 소스 디렉토리, 파일 패턴, 대상 형식, 옵션
  • 출력: 변환된 파일 목록 및 통계

유틸리티 도구

  • extract_metadata: 문서에서 메타데이터 추출
  • 입력: 문서 파일 경로
  • 출력: 추출된 메타데이터 객체

  • modify_metadata: 문서 메타데이터 수정

  • 입력: 문서 파일 경로, 메타데이터 객체
  • 출력: 수정된 문서 파일 경로

  • list_supported_formats: 지원되는 형식 목록 조회

  • 입력: 입력 또는 출력 형식 필터(선택적)
  • 출력: 지원되는 형식 목록 및 설명

사용 방법

설치

# npm을 통한 설치
npm install -g markdown2doc-mcp

# 또는 GitHub 저장소에서 직접 설치
git clone https://github.com/author/markdown2doc-mcp
cd markdown2doc-mcp
npm install

필요 조건

  • Pandoc이 시스템에 설치되어 있어야 합니다.
  • PDF 변환을 위해 LaTeX 엔진(예: TeXLive, MiKTeX)이 설치되어 있어야 합니다.
  • Node.js 14 이상이 설치되어 있어야 합니다.

구성

Claude Desktop에서 이 서버를 사용하려면 다음과 같이 설정할 수 있습니다:

{
  "mcpServers": {
    "markdown2doc": {
      "command": "npx",
      "args": ["-y", "markdown2doc-mcp"],
      "env": {
        "PANDOC_PATH": "/usr/local/bin/pandoc",
        "OUTPUT_DIRECTORY": "/path/to/output"
      }
    }
  }
}

사용 예시

// Markdown을 Word 문서로 변환
const docxFile = await markdown_to_doc({
  source: "/path/to/document.md",
  format: "docx",
  options: {
    toc: true,
    tocDepth: 3,
    numberSections: true
  }
});

console.log(`Word 문서로 변환 완료: ${docxFile.path}`);

// Markdown을 PDF로 변환 (스타일 적용)
const pdfFile = await convert_with_style({
  source: "/path/to/document.md",
  style: "/path/to/custom-style.css",
  format: "pdf",
  options: {
    paperSize: "a4",
    margin: "1in"
  }
});

console.log(`PDF로 변환 완료: ${pdfFile.path}`);

// Word 문서를 Markdown으로 변환
const markdownFile = await doc_to_markdown({
  source: "/path/to/document.docx",
  options: {
    extractImages: true,
    imageDir: "images"
  }
});

console.log(`Markdown으로 변환 완료: ${markdownFile.path}`);

// 여러 문서 일괄 변환
const batchResults = await batch_convert({
  sources: [
    "/path/to/document1.md",
    "/path/to/document2.md",
    "/path/to/document3.md"
  ],
  format: "html",
  options: {
    standalone: true,
    template: "/path/to/html-template.html"
  }
});

console.log(`${batchResults.length}개의 문서가 변환되었습니다.`);

연결된 구성 요소