Skip to main content

MCP server for Google Keep — connect Claude, Copilot & ChatGPT to Google Keep

Project description

🗒️ Google Keep MCP Server

Connect any AI assistant directly to your Google Keep — create, search, organize, export notes, set reminders, and more.

PyPI Python License MCP


✨ What It Does

Feature Description
📝 Notes Create, read, update, delete, archive notes
🔍 Search Find notes by keyword instantly
📌 Organize Pin notes, change colors, add labels
🏷️ Labels Create, apply, remove labels — with auto-labeling
Reminders Set reminders via Google Tasks integration
👥 Collaborate Add or remove collaborators by email
📤 Export Export any note as PDF, Word (DOCX), or Markdown
📊 Analytics Get stats — total notes, labels, oldest, newest
📅 Digest Daily/weekly digest of pinned and recent notes
📋 Templates Pre-built templates: meeting, journal, project, shopping, ideas

📦 Installation

pip install google-keep-notes-mcp
uv add google-keep-notes-mcp

Or run directly without installing (recommended for MCP clients):

uvx google-keep-notes-mcp

Requires Python 3.10+


🔐 Authentication

This package uses a master token obtained from your Google account session. It's a one-time setup.

⚠️ Use a dedicated/dummy Google account for safety.

First-Time Setup

Step 1 — Run the setup command:

google-keep-mcp setup

This will open accounts.google.com/EmbeddedSetup in your browser automatically and guide you step by step.

Step 2 — In the browser:

  1. Sign in with your Google account
  2. Click "I Agree"
  3. Press F12 to open DevTools
  4. Go to Application → Cookies → accounts.google.com
  5. Find the oauth_token row → click it
  6. At the bottom, triple-click the Cookie Value → Ctrl+C to copy

⚡ Do this quickly — the token expires fast. Have your terminal ready before copying.

Step 3 — Back in terminal:

Paste your email and the copied oauth_token value when prompted. Your master token is generated and saved automatically to:

~/.google_keep_mcp/config.env

You won't need to do this again unless your token expires.


⏰ Reminders Setup (Optional)

Reminders use the Google Tasks API. One-time setup required:

  1. Go to console.cloud.google.com → Create a new project
  2. Enable Google Tasks API
  3. Go to OAuth Consent Screen → Add your Google account as a test user
  4. Create OAuth 2.0 Credentials → Desktop App type → Download credentials.json
  5. Place it at: ~/.google_keep_mcp/credentials.json

First time you set a reminder, a browser window opens to authorize. After that it's fully automatic.


🖥️ Client Setup

Claude Desktop

Edit your claude_desktop_config.json:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "google-keep": {
      "command": "uvx",
      "args": ["google-keep-notes-mcp"]
    }
  }
}
Cursor

Open Cursor SettingsMCPAdd new server → paste:

{
  "mcpServers": {
    "google-keep": {
      "command": "uvx",
      "args": ["google-keep-notes-mcp"]
    }
  }
}
VS Code — GitHub Copilot

Create or edit:

  • Windows: %APPDATA%\Code\User\mcp.json
  • macOS/Linux: ~/.config/Code/User/mcp.json
{
  "servers": {
    "google-keep": {
      "type": "stdio",
      "command": "uvx",
      "args": ["google-keep-notes-mcp"]
    }
  }
}
Windsurf

Open Windsurf SettingsMCPAdd server:

{
  "mcpServers": {
    "google-keep": {
      "command": "uvx",
      "args": ["google-keep-notes-mcp"]
    }
  }
}

🛠️ Tools Reference

Notes

Tool Description
keep_create_note Create a new note with title and content
keep_list_notes List all active notes
keep_get_note Get a specific note by ID
keep_update_note Update title or content of a note
keep_delete_note Delete (trash) a note
keep_archive_note Archive a note
keep_search_notes Search notes by keyword

Organization

Tool Description
keep_pin_note Pin or unpin a note
keep_change_color Change note color (red, blue, green, yellow, teal, pink, purple, gray, brown, white)

Labels

Tool Description
keep_create_label Create a new label
keep_add_label Add a label to a note
keep_remove_label Remove a label from a note
keep_list_labels List all labels
keep_auto_label_note Auto-detect and apply labels to a single note
keep_auto_label_all Auto-label all unlabeled notes

Reminders & Collaboration

Tool Description
keep_set_reminder Set a reminder via Google Tasks (YYYY-MM-DD HH:MM)
keep_add_collaborator Add a collaborator by email
keep_remove_collaborator Remove a collaborator by email

Export

Tool Description
keep_export_note Export note as PDF, DOCX, or Markdown — saved to ~/Desktop/KeepExports/

Insights

Tool Description
keep_get_analytics Full stats — total notes, label usage, oldest/newest, colors
keep_get_weekly_digest Smart digest — pinned, recently updated, notes by label

Templates

Tool Description
keep_list_templates List all available templates
keep_create_from_template Create a note from a pre-built template

Available templates: meeting · journal · project · shopping · ideas


💬 Example Prompts

Create a note titled "Weekend Plans" with a list of things to do
Search my notes for anything about Python
Set a reminder for my "Internship Application" note for tomorrow at 9am
Export my "MCP Concepts" note as a PDF
Auto-label all my notes
Give me a weekly digest of my Google Keep notes
Show me analytics about my notes
Create a meeting note for today's standup
Add collaborator friend@gmail.com to my "Project Plan" note

❌ Known Limitations

  • Image attachment — Attaching images inside notes is not supported (Google's private upload endpoint is unavailable via this library)
  • Native reminder bell — Keep's built-in reminder bell cannot be set via this method; reminders are created in Google Tasks instead (fully functional with notifications)

📄 License

MIT © Muhammad Abubakar

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

google_keep_notes_mcp-0.2.0.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

google_keep_notes_mcp-0.2.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file google_keep_notes_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: google_keep_notes_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for google_keep_notes_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2f6dd425054472a458863016e07b2373a4c3d8b7e89ebcd49c666ac7439b92d3
MD5 4df415527aa97e693a85caa2e9e491d0
BLAKE2b-256 782ceac9c919e812311dbd5cc050fa683ee7db2a53b8ed57137c8f9c9075ff68

See more details on using hashes here.

File details

Details for the file google_keep_notes_mcp-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for google_keep_notes_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e0c41a786b706f52255b8e812ed5fb2b4f62e4721b92ad2ce9d00064e1d9e3af
MD5 6015ec879d3e1bd718b88017c3bb529e
BLAKE2b-256 39ca696eaa06391ab53b0b6606b1b5d290d96fc63cf92c9026e4f3c80e8006cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page