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.