본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 05. 01:55

Markdownify: 다양한 파일 형식 및 웹 콘텐츠를 마크다운으로 변환하는 MCP 서버

요약

Markdownify는 Model Context Protocol (MCP) 서버로, PDF, 이미지, 오디오, 웹 페이지 등 다양한 형식의 콘텐츠를 표준화된 마크다운(Markdown) 텍스트로 변환하는 통합 솔루션입니다. 이 도구는 YouTube 영상 전사, DOCX/XLSX/PPTX 파일 변환, Bing 검색 결과 및 일반 웹 페이지 처리 등 광범위한 기능을 제공합니다. 사용자는 로컬 환경에서 `bun install`과 `bun run build`를 통해 서버를 설정하고 실행할 수 있으며, Docker 컨테이너 사용 시에는 마운트된 볼륨 경로와 접근 권한을 명시적으로 관리해야 합니다.

핵심 포인트

  • 다양한 입력 형식 지원: PDF, 이미지, 오디오(전사 포함), DOCX/XLSX/PPTX 등 광범위한 파일 및 웹 콘텐츠를 처리합니다.
  • MCP 서버 아키텍처 기반: Model Context Protocol (MCP) 표준을 준수하여 다양한 애플리케이션과의 통합이 용이합니다.
  • 통합된 변환 도구 세트: YouTube, Bing 검색 결과, 일반 웹 페이지 등 특정 출처의 데이터를 마크다운으로 변환하는 전용 도구를 제공합니다.
  • 설정 및 배포 유연성: 로컬 개발 환경(bun)과 Docker 컨테이너를 모두 지원하며, 경로 제한(`MD_ALLOWED_PATHS`)을 통해 보안성을 높일 수 있습니다.

Markdownify

Markdownify 는 Model Context Protocol (MCP) 서버로, 다양한 파일 형식과 웹 콘텐츠를 마크다운 형식으로 변환합니다. PDF, 이미지, 오디오 파일, 웹 페이지 등 다양한 콘텐츠를 쉽게 읽기 쉽고 공유할 수 있는 마크다운 텍스트로 변환하는 도구들을 제공합니다.

기능

파일 형식 변환

  • 이미지
  • 오디오 (전사 포함)
  • DOCX
  • XLSX
  • PPTX

웹 콘텐츠 변환

  • YouTube 영상 전사
  • Bing 검색 결과
  • 일반 웹 페이지

기존 마크다운 파일 가져오기

설치 및 실행

저장소 복제

이 저장소를 클론하세요

의존성 설치

bun install

preinstall 단계는 .venv 에 Python 가상 환경을 생성하고 markitdown[all] 을 설치합니다.

프로젝트 빌드

bun run build

서버 시작

bun start

TypeScript 컴파일러를 감시 모드로 시작하려면 bun run dev 를 사용하세요. src/server.ts 를 수정하여 서버 동작을 커스터마이징할 수 있습니다.

src/tools.ts 에서 도구를 추가하거나 수정할 수 있습니다.

데스크톱 앱과 통합하기

앱의 서버 구성에 다음을 추가하세요:

{
"mcpServers": {
"markdownify": {
...

모든 경로는 합리적인 기본값으로 설정됩니다. 설치 레이아웃에 기본값이 맞지 않을 때만 오버라이드하세요.

변수기본값목적
MARKITDOWN_PATH<project>/.venv/bin/markitdown, then markitdown on PATHmarkitdown 실행 파일의 절대 경로. 시스템 전체에 markitdown 을 설치한 경우 (예: pipx install "markitdown[pdf]") 버그드 venv 대신 이 경로를 설정하세요.
REPOMIX_PATH<project>/node_modules/.bin/repomix, then repomix on PATHgit-repo-to-markdown 에서 사용하는 repomix 실행 파일의 절대 경로.
MD_ALLOWED_PATHSunset (unrestricted)서버가 읽을 수 있는 디렉터리 목록 (POSIX: :, Windows: ;). 설정 시, 모든 파일 입력 도구 (pdf-to-markdown, get-markdown-file 등) 는 이 디렉터리 외의 경로는 거부합니다.
MD_SHARE_DIRunsetMD_ALLOWED_PATHS 의Deprecated alias(단일 디렉터리). 후방 호환성을 위해 여전히 존중됩니다.

Docker 빌드 및 실행

docker build -t markdownify-mcp .
docker run --rm -i \
-v "$HOME/Documents:/data:ro" \
...

Docker MCP 카탈로그에 대한 주석 (mcp/markdownify)

  • 서버가 읽을 수 있는 호스트 디렉터리들을 컨테이너에 마운트한 후, 컨테이너 경로를 도구로 전달하세요 (예: /data/foo.pdf, /Users/you/Documents/foo.pdf 아님).
  • MD_ALLOWED_PATHS 를 마운트된 디렉터리의 콜론 구분 목록으로 설정하여 서버가 바인드 마운트에 맞는 읽기 경계를 강제하세요.
  • 게시된 Docker 이미지는 markitdown[pdf] 만 설치합니다. 오디오 전사와 이미지 OCR (audio-to-markdown, image-to-markdown) 은 [all] extras 를 필요로 하며, 슬림 이미지에서는 실패할 것입니다. 전체 기능 세트는 로컬 설치 (bun install) 를 사용하세요.

도구 목록

  • youtube-to-markdown: YouTube 영상을 마크다운으로 변환
  • pdf-to-markdown: PDF 파일을 마크다운으로 변환
  • bing-search-to-markdown: Bing 검색 결과를 마크다운으로 변환
  • webpage-to-markdown: 웹 페이지를 마크다운으로 변환
  • image-to-markdown: 메타데이터와 함께 이미지를 마크다운으로 변환
  • audio-to-markdown: 전사와 함께 오디오 파일을 마크다운으로 변환
  • docx-to-markdown: DOCX 파일을 마크다운으로 변환
  • xlsx-to-markdown: XLSX 파일을 마크다운으로 변환
  • pptx-to-markdown: PPTX 파일을 마크다운으로 변환
  • get-markdown-file: 기존 마크다운 파일 가져오기. 파일 확장자는 다음을 끝내야 합니다: *.md, *.markdown.

OPTIONAL: set

MD_ALLOWED_PATHS

모든 파일 입력 도구를 디렉터리 목록으로 제한하기 위해, 예를 들어 MD_ALLOWED_PATHS=/data/in:/data/out bun start 와 같이 설정합니다.

기여를 환영합니다! Pull Request 를 제출해 주세요.

이 프로젝트는 MIT 라이선스를 따릅니다. 자세한 내용은 LICENSE 파일을 참조하세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
2

댓글

0