cortexpad
Server Details
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 16 tools
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.
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.
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.
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 toolsadd_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
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
MCP-native notes and memory for ChatGPT, Claude, and other AI tools.
Agent-native notes, tasks, dev-docs, vaults, sync & handoffs. MCP + OpenAPI dual surface.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for AI agents to read, write, and organize notes in a local-first, human-in-the-loop note-taking app.9 npm2MIT
- AlicenseAqualityDmaintenanceA simple note-taking MCP server for recording and managing notes with AI models.429 npm37GPL 2.0
- AlicenseNot gradedqualityDmaintenanceA 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 npmMIT
- FlicenseNot gradedqualityDmaintenanceMCP server for a full-stack note-taking application, exposing CRUD tools for notes with SSE transport for AI agent integration.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.