# MindMup2 Google Drive MCP Server
A Model Context Protocol (MCP) server that provides seamless integration between MindMup mind maps and Google Drive. This server enables you to search, retrieve, and parse MindMup files stored in your Google Drive directly through the MCP interface.
- _Medium Article:_ https://medium.com/@shyinlim/using-google-drive-mindmup-mcp-to-review-test-cases-automatically-ee03f2e9272d
## π« Result

## β¨ Feature
- **Search MindMup Files**: Find MindMup files across your entire Google Drive (read-only)
- **Google Drive Integration**: List and filter files in Google Drive with various criteria
- **MindMup Parsing**: Parse and extract content from MindMup mind map files
- **FastMCP Server**: Built on FastMCP framework for high performance
- **Docker Support**: Containerized deployment with Docker Compose
## π§ Available MCP Tools
| Tool | Description |
|------|-------------|
| `gdrive_tool_list_file` | List files from Google Drive with optional filtering by file type or name |
| `get_single_mindmup_tool` | Get a single MindMup file by ID or name |
| `analyze_mindmup_summary_tool` | Get summary overview of a MindMup file (sections, node count, structure) |
| `get_mindmup_chunk_tool` | Get specific chunk of a large MindMup file with optional keyword search |
## π§ Business Value
- **Unified Knowledge Management**: Centralize mind map access across Google Drive through a single MCP interface
- **Enhanced Productivity**: Quick search and retrieval of mind maps without switching between applications
- **Developer Integration**: Seamlessly integrate mind mapping capabilities into existing workflows and tools
- **Scalable Architecture**: Handle large collections of mind maps with efficient filtering and parsing
- **Cross-Platform Compatibility**: Access mind maps from any MCP-compatible client or application
## ποΈ Project Structure
```
βββ 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 implementation
β β βββ mindmup_parser.py # MindMup file parsing
β βββ model/
β β βββ common_model.py # Common data models
β β βββ gdrive_model.py # Google Drive data models
β β βββ mindmup_model.py # Mind map data models
β βββ utility/
β βββ enum.py # Enumerations and constants
β βββ logger.py # Logging utilities
βββ run.py # Main entry point
βββ requirements.txt # Python dependencies
βββ makefile # Build and deployment commands
```
## π Getting Started
### Prerequisites
- Python 3.12+
- Google Cloud Platform account
### Google Drive API Setup
| Step | Description | Image |
|------|-------------|-------|
| 1 | Go to [Google Cloud Console](https://console.cloud.google.com/) and create a new project or select an existing one | |
| 2 | Enable [Google Drive API](https://console.cloud.google.com/apis/library/drive.googleapis.com) in your project | |
| 3 | Create Service Account credentials:<br>- Go to "IAM & Admin" β "Service Accounts"<br>- Click "Create Service Account"<br>- Download the JSON key file | |
| 4 | Encode the entire JSON key file to base64:<br>- See [Generate Base64 Credential](#generate-base64-credential) section | |
| 5 | Share your Google Drive folder with the Service Account:<br>- Right-click folder β Share<br>- Paste the service account email<br>- Grant **Viewer** access<br>- Do **NOT** send invitation |  |
### Run the Server
For development:
```bash
make run-dev-docker
```
For production:
```bash
make run-prod
```
### MCP Client Configuration
Add this server to your MCP client configuration:
```json
{
"mcpServers": {
"mindmup-gdrive": {
"url": "http://your-server:9802/sse",
"headers": {
"X-Google-Credential": "<your-base64-encoded-credential>"
}
}
}
}
```
#### Generate Base64 Credential
Encode your Google service account JSON to base64:
```bash
# macOS / Linux
cat your_service_account.json | base64 | tr -d '\n'
# Windows PowerShell
[Convert]::ToBase64String([IO.File]::ReadAllBytes("your_service_account.json"))
```
Copy the output and paste it as the `X-Google-Credential` value.
## π Future Plan
- **Create MindMup Files**: Create new mind maps directly through MCP interface
- **Edit MindMup Content**: Modify existing mind map nodes and structure
- **Export Features**: Export mind maps to various formats (PDF, PNG, SVG)
- **Sync Operations**: Two-way synchronization between local and cloud mind maps
- **Advanced Tagging**: Add metadata and tags to mind map nodes
- **Plugin System**: Extensible plugin architecture for custom functionality
## Contribution
This project is a collaborative effort:
- 50% developed by the project maintainer
- 50% generated with assistance from Claude AI