Skip to main content
Glama

Server Details

Google Keep-style notes app with an MCP server for AI agents to read/write notes.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 16 tools

Disambiguation5/5

Every tool targets a distinct operation: note CRUD, checklist mutations, label add/remove, changelog add/remove, and settings retrieval. Tools that appear similar, like update_note, append_to_note, and add_changelog_entry, are explicitly separated with clear guidance on when to use each.

Naming Consistency5/5

All tool names use consistent snake_case with a verb-first convention such as add_, remove_, get_, list_, create_, delete_, update_, check_, and set_. The pattern is predictable and makes it easy to infer each tool's purpose from its name.

Tool Count4/5

At 16 tools, the server is slightly above the ideal 3-15 range, but the count is justified by the breadth of features covered: notes, checklist items, labels, changelog entries, tasks, and settings. No tools feel redundant, and the set remains reasonably scoped for a notes/tasks application.

Completeness4/5

The core note lifecycle is fully covered with create, get, list, update, append, and delete, alongside robust checklist, label, and changelog operations. Minor gaps include no explicit archive/unarchive tool and settings being read-only, but these are workable and do not create dead ends.

Available Tools

16 tools
add_changelog_entryAInspect

Add a short, dated changelog entry to a note — structured evidence of a change (e.g. "Bumped reply target 3-5 → 8-10"), separate from and never touching the note body by default. Purely additive: does not overwrite or clobber content. Two ways to use it: (1) create a NEW numbered entry — if anchor is given (exact or substring text of an existing line), a small "((n))" marker pointing to the new entry is appended to that line, failing if anchor doesn't match any line (call get_note first if unsure of the exact text); without anchor the entry is note-wide with no inline marker. (2) append to an EXISTING entry via appendTo: n (e.g. 3 for an existing "((3))" marker) — adds another dated comment/update under that same marker without creating a new marker or number; fails if entry n doesn't exist yet. appendTo and anchor are mutually exclusive — anchor is ignored when appendTo is set. Use section (e.g. "update", "note") to label what kind of entry this is when a marker accumulates several over time — the UI groups/filters by section. Use this instead of update_note/append_to_note when recording a decision or change without altering the visible note text. Capped to the most recent 20 entries total across all markers.

Inputs: id (required), text (required), at, anchor, +2 more.

add_checklist_itemAInspect

Add an unchecked checklist item ("- [ ] text" line) to a note

Inputs: id (required), item (required), indent.

add_labelAInspect

Add a label to a note (no-op if already present)

Inputs: id (required), label (required).

append_to_noteCInspect

Append text to an existing note

Inputs: id (required), content (required).

check_itemAInspect

Check off a checklist item in a note, matched by text (case-insensitive, whole-item match, not substring). Fails with an error if no item matches — call get_note first if you're not sure of the exact wording. Prefer this over update_note for checking a single item; it also triggers the "all done" push notification when it completes the last item.

Inputs: id (required), item (required).

create_noteBInspect

Create a new note owned by the current user.

Inputs: title, content, reminderAt.

delete_noteAInspect

Permanently delete a note by ID. Destructive and not reversible via the API — confirm with the user before calling this unless they clearly already asked for the note to be deleted.

Inputs: id (required).

get_my_tasksAInspect

Get the user's open (unchecked) checklist items across all unarchived notes, each with its note ID and title. Call this at the start of a session to pick up tasks the user left for you — items you can act on, act on; check them off with check_item when done.

Inputs: no named parameters.

get_noteAInspect

Get a single note by ID, full content included. Only returns notes owned by the current user; an ID belonging to someone else or that doesn't exist fails. Use this before check_item/uncheck_item when you're not sure of a checklist item's exact text.

Inputs: id (required).

get_settingsAInspect

Get the user's stored settings, including their IANA timezone (e.g. "Europe/Berlin") if set. Use this to convert a spoken local time ("6pm", "tomorrow at 9am") into the correct UTC reminderAt — never guess or assume the user's timezone.

Inputs: no named parameters.

list_notesAInspect

List or search the current user's notes only. Search matches title or content, case-insensitive substring. Defaults to unarchived notes, newest/pinned first. Use this to find a note's ID before calling get_note, update_note, or the checklist/label tools, which all require one.

Inputs: limit, query, archived.

remove_changelog_entryAInspect

Permanently remove a single changelog entry (e.g. a test/junk entry added by mistake). Strips the trailing "((n))" marker from content if the removed entry itself carried it, and decrements the lifetime section counter so a removed entry stops inflating it. A marker number is NOT a unique entry id -- appendTo lets many entries share one n as a running thread. If more than one entry shares n, this fails and lists each entry's at timestamp; pass the specific one you mean as at to remove only that entry, not the whole thread. Call get_note first if unsure which entries share a marker.

Inputs: n (required), id (required), at.

remove_labelBInspect

Remove a label from a note

Inputs: id (required), label (required).

set_item_indentAInspect

Change an existing checklist item's nesting depth, matched by text (case-insensitive, whole-item match, not substring). 0 = top level, 1 = nested one level, etc. Fails with an error if no item matches — call get_note first if you're not sure of the exact wording.

Inputs: id (required), item (required), indent (required).

uncheck_itemAInspect

Uncheck a checklist item in a note, matched by text (case-insensitive, whole-item match, not substring). Fails with an error if no item matches — call get_note first if you're not sure of the exact wording.

Inputs: id (required), item (required).

update_noteAInspect

Update an existing note. Only the fields you pass are changed — omitted fields keep their current value, except labels, which is a full replace (see below). content, if passed, overwrites the whole body; use append_to_note instead if you only want to add text.

Inputs: id (required), color, title, labels, +4 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for AI agents to read, write, and organize notes in a local-first, human-in-the-loop note-taking app.
      9 npm
      2
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A local notes app that enables AI tools to manage notes via MCP (list, get, create, update, delete) using the same SQLite database as the GUI.
      13 npm
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server for a full-stack note-taking application, exposing CRUD tools for notes with SSE transport for AI agent integration.
      1
      -
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources