feishu-reader
Feishu 클라우드 문서 추출 도구 (Feishu Reader)
이 프로그램은 Python과 PyQt6로 작성된 데스크톱 애플리케이션으로, 사용자가 Feishu 문서(Docx / Wiki)를 빠르게 추출하여 로컬에 Markdown 형식으로 저장할 수 있도록 돕습니다.
🌟 주요 기능
그래픽 사용자 인터페이스: 간결하고 사용하기 쉬운 PyQt6 데스크톱 인터페이스를 제공합니다.
원클릭 추출: Feishu 문서/지식 베이스 링크를 붙여넣어
.md형식의 파일로 즉시 변환합니다.포괄적인 형식 지원: 텍스트, 다단계 제목, 코드 블록, 목록, 인용문, 표, Mermaid 차트 등 일반적인 Feishu 문서 요소를 지원합니다.
이미지 로컬화: 문서 내 이미지를 로컬
assets_<doc_token>/디렉토리에 자동으로 다운로드하고, Markdown 내에 상대 경로 참조를 생성합니다.권한 및 인증:
인터페이스에서 Feishu 앱의 App ID와 App Secret을 직접 입력하여 Access Token을 즉시 획득할 수 있습니다.
수동으로 Token을 입력할 수 있으며, "기억하기"를 체크하여 자격 증명을 로컬에 저장할 수 있습니다.
로컬 저장: 타임스탬프가 포함된 파일명을 자동으로 생성하여 사용자가 지정한 디렉토리에 저장합니다.
Related MCP server: Feishu MCP Server
🔑 Feishu 앱 설정
이 도구는 Feishu 오픈 플랫폼의 **자체 구축 앱(Self-built App)**을 통해 문서에 액세스하므로, 처음 사용 시 다음 설정을 완료해야 합니다.
1단계: 자체 구축 앱 생성
Feishu 오픈 플랫폼에 접속하여 관리자 계정으로 로그인합니다.
개발자 백엔드로 이동 → 오른쪽 상단의 앱 생성 클릭 → 자체 구축 앱을 선택합니다.
앱 이름(예: "문서 추출 도구"), 설명, 아이콘을 업로드한 후 확인을 클릭하여 생성합니다.
앱 상세 페이지의 자격 증명 및 기본 정보 탭에서 다음을 복사합니다:
App ID (예:
cli_xxxxxxxxxxxxxxxx)App Secret ("보기" 클릭 후 복사)
2단계: 필요한 권한 활성화
앱 상세 페이지 → 권한 관리 → 다음 권한을 검색하여 활성화합니다:
권한 식별자 | 권한 이름 | 용도 설명 |
| 지식 공간 정보 가져오기 |
|
| 새 버전 문서 보기 | Feishu Docx 형식 문서의 Block 내용 읽기 |
| 클라우드 문서 내 이미지 및 첨부파일 다운로드 | 문서 내 이미지를 로컬로 다운로드 |
| 클라우드 문서 내용 보기 | 액세스 범위 내의 문서 내용 가져오기 |
| 새 버전 문서 보기 | 새 버전 문서 내용 가져오기 |
주의: 권한 활성화 후 버전 관리 및 게시 탭으로 이동하여 버전을 생성하고 게시해야 권한이 공식적으로 적용됩니다.
3단계: 앱에 문서 공유
Feishu 문서는 기본적으로 권한이 있는 사용자에게만 보이므로, 대상 문서(또는 지식 베이스)를 앱 봇에 공유해야 합니다:
대상 Feishu 문서를 열고 오른쪽 상단의 공유를 클릭합니다.
공유 팝업창에서 앱 이름을 검색하고 권한을 보기 가능으로 설정합니다.
확인을 클릭하면 앱이 해당 문서에 액세스할 수 있습니다.
지식 베이스(Wiki) 문서인 경우, 지식 베이스의 멤버 관리에서 앱 봇을 추가하고 보기 권한을 부여해야 합니다.
🛠️ 설치 및 실행
환경 요구 사항
Python 3.10 이상
의존성 설치
pip install -r requirements.txt데스크톱 앱 실행
python main.py🔌 MCP 서버 모드
MCP 서버로 실행을 지원하여 Claude, Cursor 등 AI 도구에서 직접 호출할 수 있습니다.
환경 변수 설정
export FEISHU_APP_ID="cli_xxxxxxxxxxxxx"
export FEISHU_APP_SECRET="xxxxxxxxxxxxxxxx"MCP 서버 실행
python mcp_server.pyClaude / Cursor에 구성
~/.claude.json 또는 프로젝트 MCP 구성에 다음을 추가합니다:
{
"mcpServers": {
"feishu-reader": {
"command": "python",
"args": ["mcp_server.py"],
"env": {
"FEISHU_APP_ID": "cli_xxxxxxxxxxxxx",
"FEISHU_APP_SECRET": "xxxxxxxxxxxxxxxx"
},
"workingDirectory": "/path/to/feishu-reader-mcp"
}
}
}📖 사용 가이드
자격 증명 입력: 인터페이스 상단에 Feishu 자체 구축 앱의 App ID와 App Secret을 입력합니다(최초 사용 후 자동 저장).
Token 획득: Access Token 행 오른쪽의 [새로고침] 버튼을 클릭하여 Token을 자동으로 가져오고 채웁니다. 기존 Token을 수동으로 붙여넣을 수도 있습니다.
문서 링크 붙여넣기: Feishu 문서 또는 지식 베이스 페이지 링크를 "문서 URL" 입력창에 붙여넣습니다(
/docx/,/doc/,/wiki/유형 링크 지원).추출 시작: [추출 시작]을 클릭하고 팝업창에서 Markdown 파일을 저장할 디렉토리를 선택합니다.
완료 대기: 하단 로그 영역에 실시간 진행 상황이 표시되며, 완료 후 대상 디렉토리에서
.md파일과assets_xxx/이미지 디렉토리를 확인할 수 있습니다.
📄 프로젝트 구조
파일 | 설명 |
| 메인 프로그램 진입점, PyQt6 인터페이스 정의 및 비동기 작업 스레드 로직 포함 |
| Feishu OpenAPI 상호작용 계층, Block 트리 가져오기 및 이미지 다운로드 담당 |
| Markdown 변환 엔진, Feishu의 다양한 Block을 Markdown 문법으로 매핑 |
| MCP 서버 모드 진입점 |
| Python 의존성 목록 |
💡 주의사항
이 도구는 Feishu 새 버전 문서 형식(
/docx/v1/documentsOpenAPI 기반)에 최적화되어 있으며, 구버전 문서는 형식이 다를 수 있습니다.이미지 다운로드를 위해서는 앱에
docs:document.media:download권한이 부여되어야 하며, 문서가 앱 봇에 올바르게 공유되어야 합니다. 그렇지 않으면 이미지 다운로드는 건너뛰며 로그에 실패 원인이 표시됩니다.인터페이스 호출에는 빈도 제한(5 QPS / 일일 10,000회)이 있으므로, 대용량 문서를 너무 자주 반복해서 추출하지 마십시오.
Token의 기본 유효 기간은 약 2시간이며, 만료 시 [새로고침]을 클릭하여 다시 획득하십시오.
This server cannot be deployed
Maintenance
Related MCP Connectors
Convert documents and web pages to clean Markdown: PDF, DOCX, XLSX, EPUB, scanned files, any URL.
Parse PDF/Word/PPT/HTML to Markdown; tables as JSON, image extraction, RAG chunking, page ranges.
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Document conversion and OCR for AI agents: PDF, Office docs, images to text.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI models to interact with Feishu (Lark) APIs for document management, bot messaging, chat operations, and multi-dimensional table (Bitable) CRUD operations through natural language.8 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to read and interact with Feishu (Lark) documents, spreadsheets, and multi-dimensional tables. It provides tools for extracting content and metadata from various Feishu resources through secure OAuth or tenant-level authentication.338 npm3MIT
- AlicenseAqualityDmaintenanceAllows AI assistants to fetch and read Enterprise WeChat documents in real time using cookie authentication and HTML-to-Markdown conversion.3MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI applications to access Feishu (Lark) knowledge base and cloud documents through the MCP protocol.8 npm1ISC