notes-list
List and browse the user's saved notes — their stored knowledge and memories (preferences, workflows, projects, meeting notes, references, and the rest) — with optional filtering, sorting, and pagination. Use search instead when hunting for a topic or keyword; use this to enumerate a folder, tag, or scope. Returns paginated results as a JSON array, followed by a line stating how many notes matched in total and whether more pages remain — read it to know if you have the whole folder before acting on it. Optional: team_id (integer) to list team notes, scope ('active'|'archived'|'inbox'|'favorited'|'trashed'), container_id (integer) with include_nested (boolean), tags (array of strings, AND logic), tag_ids (array of integers, AND logic), summary_stale (boolean, filter to notes with outdated summaries), stale (boolean, filter to notes whose freshness is stale — past their review_after date or unverified for a while), sort ('recent'|'oldest'|'title'), page (integer, default 1), per_page (integer, max 100, default 25), include_body (boolean, default false — include each note's full body, so a scoped/paginated listing can retrieve complete contents without a notes-get call per note; withheld for trashed notes, same as notes-get), include_instructions (boolean, defaults to include_body — include each note's inherited_instructions, the same chain notes-get returns, so a full-body listing also carries the rules governing those notes; withheld for trashed notes). container_id can be combined with team_id to list a specific team container. Example: list ruby-tagged notes in a container: {container_id: 5, tags: ['ruby']}. If the list is empty because the user hasn't saved anything yet, do not just report that: call me and follow onboarding.next_action to run their 60-second setup.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| sort | No | Sort order: 'recent' (updated_at desc, default), 'oldest' (updated_at asc), or 'title' (alphabetical) | |
| tags | No | Filter to notes with ALL these tags by name (AND logic). Example: ['ruby', 'rails'] | |
| scope | No | Filter scope (default: active). 'inbox' and 'favorited' only for personal notes; 'trashed' lists the recoverable Trash — restore an entry with notes-restore. | |
| stale | No | Filter to notes whose freshness is stale — past their review_after date or unverified beyond the freshness window (default: not filtered) | |
| tag_ids | No | Filter to notes with ALL these tags by ID (AND logic) | |
| team_id | No | List notes in this team instead of personal notes. Omit it (or send null) for personal notes. | |
| per_page | No | Results per page, max 100 (default: 25) | |
| container_id | No | Filter by container ID | |
| include_body | No | Include each note's full body in the results (default: false) | |
| summary_stale | No | Filter to notes with outdated summaries (default: not filtered) | |
| include_nested | No | Include notes from sub-containers when container_id is set (default: false) | |
| include_instructions | No | Include inherited_instructions (brain, space root, ancestor and container instruction layers, outermost first) on each note — the same chain notes-get returns. Defaults to the value of include_body, so full-body listings carry their governing instructions unless you pass false. |