mcp-google-keep

👋 Introduction

Search, create, and manage your Google Keep notes directly from Claude, Cursor, or any MCP-compatible AI assistant.

mcp-google-keep gives your AI assistant full read/write access to your Google Keep notes — list, search, create, label, and organise, all from a natural-language prompt.

Google Keep has no official API for personal accounts. This server uses gkeepapi — a battle-tested Python library that speaks Keep's private sync protocol — so your assistant can reach notes that the public Workspace API can't.

Your credentials never touch disk: the master token is stored in the macOS Keychain.

✨ Features

  • List & search notes by text, label, colour, or state (pinned, archived, trashed).
  • Create text notes and checklist notes.
  • Manage list items — add, sort, indent/dedent, or replace all items.
  • Full label support — list, create, rename, delete, assign, and remove labels.
  • Colour filters — find all your red, blue, or yellow notes.
  • Collaborators — share notes with other users by email.
  • Credentials in macOS Keychain — nothing written to disk.
  • Destructive actions require an explicit confirm: true.
  • 18 tools total — covering the full gkeepapi surface.

🚀 Quick start

1. Install

uv tool install git+https://github.com/kud/mcp-google-keep

Or clone if you prefer:

git clone https://github.com/kud/mcp-google-keep.git
cd mcp-google-keep && uv sync

2. Authorise

mcp-google-keep-setup

The setup script walks you through a browser-based flow and saves your credentials to the macOS Keychain. Ready in about two minutes. See Authentication for the full walkthrough.

3. Add to Claude Code

claude mcp add google-keep mcp-google-keep

4. Ask Claude anything

"Search my Keep notes for 'grocery list'" "Create a shopping list with milk, eggs, and bread" "Pin my Ideas note and colour it yellow" "Show me all my red notes"

💡 Example conversations

PromptWhat happens
"Show me all my notes"Lists all non-trashed notes
"Search my notes for 'recipe'"Finds notes containing "recipe"
"Show me my pinned yellow notes"list_notes(pinned=True, colors=["YELLOW"])
"Create a shopping list: milk, eggs, bread"Creates a checklist note with three items
"Add 'butter' to my shopping list"Calls add_list_item on the existing note
"Check off 'milk'"update_list_items with updated checked states
"Label my Ideas note with 'work'"update_note(add_labels=["work"])
"What labels do I have?"list_labels()
"Archive all my travel notes"Finds travel notes, calls update_note(archived=True)
"Delete note abc123"delete_note(confirm=True) after you confirm

📝 Next steps

  • Installation — set up the server in Claude Code, Claude Desktop, Cursor, Windsurf, or VSCode.
  • Authentication — the one-time Google credential flow.
  • Tools — the full 18-tool reference.
  • Troubleshooting — fixes for common issues.

On this page