Mindmup2GoogleDriveMCP
MindMup2 Google Drive MCP 서버
AI 클라이언트(Claude Code, Cursor)가 Google Drive에 저장된 MindMup 2 .mup 마인드맵을 검색, 읽기 및 탐색할 수 있게 해주는 MCP(Model Context Protocol) 서버입니다. 3MB에 달하는 JSON 트리를 모델에 한꺼번에 넘기지 않아도 됩니다. 대용량 맵은 자동으로 트리 개요로 요약되며, AI는 node_path를 통해 특정 섹션을 자세히 탐색할 수 있습니다.
호환성: Claude Code, Cursor (HTTP 전송). 지원되지 않음: Claude Desktop (stdio 전용).
💫 결과

Related MCP server: Google-Workspace-MCP-Server
✨ 기능
전체 Google Drive에서 MindMup 파일 검색 (읽기 전용)
대용량 마인드맵을 위한 트리 탐색 + 섹션 드릴다운 — 작은 파일은 전체 내용을 반환하고, 큰 파일은 드릴다운 가능한 개요를 반환합니다.
X-Client-Id헤더를 통한 클라이언트별 캐시 격리 — 서로 다른 사용자/도구가 캐시된 콘텐츠를 공유하지 않습니다.fastmcp run --reload및 바인드 마운트 소스를 통한 핫 리로드 개발 모드/health및/ping엔드포인트가 내장된 FastMCP 서버개발 및 운영 환경을 위한 Docker Compose 지원
🗺️ 엔드투엔드 흐름
1. Set up Google Cloud service account → download JSON key
2. Share your Drive folder with the SA → Viewer access
3. Base64-encode the JSON key → for X-Google-Credential header
4. Run the server (Docker or Python) → http://127.0.0.1:9805
5. Configure your MCP client (Claude/Cursor) with the base64 credential
6. Verify → curl http://127.0.0.1:9805/health🔧 사용 가능한 MCP 도구
도구 | 설명 | |||
| Google Drive에서 MindMup 파일을 나열합니다(기본적으로 폴더 및 | |||
|
| |||
| 키워드로 노드를 검색합니다. 매개변수: | |||
|
| "outline_only" | "paginated" | "truncated"`를 반환하며, 섹션이 여전히 너무 크면 자동으로 전환됩니다. |
AI 에이전트를 위한 권장 워크플로우: list_files → read_mindmap → outline_only인 경우, search_mindmap(키워드별) 또는 get_mindmap_section(suggested_start_paths의 node_path별) 사용.
🚀 시작하기
사전 요구 사항
Python 3.12+
Docker & docker-compose (
make run-dev-docker/make run-prod에 필요) ; makefile 참조Google Cloud Platform 계정
HTTP 전송을 지원하는 MCP 클라이언트 (Claude Code 또는 Cursor)
Google Drive API 설정
단계 | 설명 | 이미지 |
1 | Google Cloud Console로 이동하여 새 프로젝트를 생성합니다(무료 티어면 충분하며, Drive API에 대한 결제는 필요하지 않습니다). | |
2 | Google Drive API를 활성화합니다. | |
3 | 서비스 계정 자격 증명 생성:- "IAM 및 관리자" → "서비스 계정" → "서비스 계정 만들기"- 프로젝트 수준 역할 필요 없음(Drive 공유가 인증을 처리함)- SA 열기 → "키" 탭 → "키 추가" → JSON → 키 파일 다운로드. |
|
4 | 전체 JSON 키 파일을 Base64로 인코딩합니다(헤더 참조 참조).⚠️ JSON 파일을 | |
5 | Google Drive 폴더를 SA와 공유:- JSON에서 |
|
범위 참고: 서버는
auth/drive+auth/drive.file을 요청합니다. 광범위한 범위에도 불구하고,뷰어폴더 수준 공유를 사용하면 SA는 사용자가 공유한 항목만 읽을 수 있습니다. 워크스페이스 관리 계정은 외부 공유를 차단할 수 있으므로, 이 경우 관리자에게 해당 도메인에 대한 서비스 계정 공유를 허용하도록 요청하십시오.
서버 실행
Docker (권장):
make run-dev-docker # dev: hot-reload, source bind-mounted
make run-prod # prod: no reload직접 Python (Docker 없음):
pip install -r requirements.txt
python3 run.py
# Optionally: MCP_TRANSPORT=streamable-http python3 run.py서버 확인
curl http://127.0.0.1:9805/health
# => {"result":"success","time":"...","message":"MCP server is running. ..."}success가 표시되지 않으면 docker logs <container>(Docker 모드) 또는 stdout(Python 모드)을 확인하십시오.
테스트 실행
pip install -r requirements.txt
pytestMCP 클라이언트 구성
MCP 클라이언트 구성(~/.claude/mcp.json(Claude Code의 경우) 또는 Cursor MCP 설정)에 추가하십시오:
{
"mcpServers": {
"mindmup-gdrive": {
"type": "http",
"url": "http://127.0.0.1:9805/mcp",
"headers": {
"X-Google-Credential": "ewogICJ0eXBlIjogInNlcnZpY2VfYWNjb3VuXXXXXXXXXXX",
"X-Client-Id": "shyin-claude-code"
}
}
}
}헤더 참조
헤더 | 필수 | 설명 |
| ✅ | Base64로 인코딩된 서비스 계정 JSON입니다. base64encode.org를 사용하여 결과를 여기에 붙여넣으십시오. ⚠️ Base64는 인코딩이며 암호화가 아닙니다. MCP 클라이언트 구성은 디스크에 일반 텍스트로 저장되므로 공개 저장소나 암호화되지 않은 클라우드 백업에 동기화하지 마십시오. |
| 선택 | 사용자 + 도구별 고유 식별자(예: |
🩺 문제 해결
증상 | 가능한 원인 / 해결 방법 | ||
| 서버가 실행 중이지 않습니다. | ||
| 잘못된 Base64입니다. 확인 방법: `echo "$CRED" | base64 -d | jq .client_email` — SA 이메일이 출력되어야 합니다. |
| (a) 폴더가 잘못된 이메일과 공유됨 — JSON의 | ||
Docker 빌드 실패 | Docker 데몬이 실행 중인지 확인하십시오. | ||
개발 환경에서 변경 사항이 반영되지 않음 | 핫 리로드는 Python 소스만 감시합니다. 종속성이나 환경 변경 후 컨테이너를 다시 시작하십시오. |
🏗️ 프로젝트 구조
├── mcp_deployment/
│ ├── docker-compose-dev.yml
│ ├── docker-compose-prod.yml
│ └── Dockerfile
├── src/
│ ├── core/
│ │ ├── gdrive_client.py # Google Drive API client
│ │ ├── gdrive_feature.py # Google Drive feature implementation
│ │ ├── mcp_server.py # Main MCP server with read tools
│ │ └── mindmup_parser.py # MindMup parsing + tree navigation
│ ├── model/
│ │ ├── common_model.py # Common data models
│ │ ├── gdrive_model.py # Google Drive data models
│ │ └── mindmup_model.py # Mind map data models (with to_ai_dict)
│ └── utility/
│ ├── enum.py # Enumerations and constants
│ └── logger.py # Logging utilities
├── tests/ # Unit tests
├── plans/ # Implementation plans
├── run.py # Main entry point
├── requirements.txt # Python dependencies
└── makefile # Build and deployment commandsThis server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol (MCP) server for Selise Blocks Cloud integration
Turn outlines and hierarchical notes into interactive mind maps through a hosted remote MCP server.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA server that provides a Machine Control Protocol (MCP) interface to search, access, and interact with Google Drive files and folders, enabling AI assistants to work with Google Drive content.8MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that seamlessly interacts with your Google Calendar, Gmail, Drive and so on.30MIT
- FlicenseNot gradedqualityCmaintenanceAn MCP server that enables interaction with Google Drive through the Google Cloud API. It allows users to list, read, and upload files directly from MCP-compatible clients like manus.im or Cursor.-
- FlicenseNot gradedqualityCmaintenanceA read-only Google Drive MCP server that allows searching files, reading file content (with auto-export for Google Docs, Sheets, Slides), and retrieving file metadata via OAuth authentication.8 npm2-

