Read Note
read_noteRetrieve a Markdown note by title or permalink, optionally a numbered line range. If no note matches directly, get related-note suggestions or metadata and checksum only.
Instructions
Read a markdown note by title or permalink, optionally a numbered line range. If the identifier doesn't resolve directly, a note whose title matches it exactly (case-insensitive) is returned with full content; otherwise it returns related-note suggestions from text search instead of content. Pass include_content=false to get only the note's metadata and checksum.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page of fallback-search results to use when the identifier does not resolve to a note directly (default: 1). A direct or exact-title match returns the note content — page/page_size never chunk the note itself, and the title-match lookup pages through fixed-size pages of title results until an exact match is found or results are exhausted, regardless of page or page_size. Aliases: page_number. | |
| project | No | Project name to read from. Optional - when omitted, a project prefix on a memory:// URL or permalink identifier routes the read; otherwise the server uses the configured default project. If unknown, use list_memory_projects() to discover available projects. | |
| end_line | No | Last document line to read (inclusive); omitted means EOF. Out-of-file ranges return empty content; invalid/reversed ranges fail. With either bound, text output is numbered and JSON carries coordinates, has_more, and next_start_line/next_end_line. include_frontmatter does not strip an explicitly addressed range. Edits between calls may shift lines. | |
| page_size | No | Number of fallback-search results per page (default: 10). When no match is found, this caps how many related-note suggestions are listed. Aliases: limit, per_page. | |
| identifier | Yes | The title or permalink of the note to read. Can be a full memory:// URL, a permalink, a title, or search text. From the CLI this is a positional argument, not a flag. | |
| project_id | No | Project external_id (UUID). Prefer this over `project` when known — it routes to the exact project regardless of name collisions across cloud workspaces. Takes precedence over `project`. Get from list_memory_projects(). | |
| start_line | No | First document line to read (1-based, inclusive). Defaults to 1 when only end_line is given. Line scans count the full Markdown, including frontmatter, matching cat's default line coordinates. | |
| output_format | No | "text" returns markdown content or guidance text. "json" returns a structured object with title/permalink/file_path/content/frontmatter. Unresolved notes carry error="NOTE_NOT_FOUND" and a message, with related_results when suggestions are available. | text |
| include_content | No | Default true. Set to false to return only the note's metadata — title, permalink, file_path, the full accepted-revision checksum, and updated_at — without the body. Use it to refresh the checksum that edit_note/write_note take as expected_checksum without reading the whole note. Cannot be combined with start_line/end_line. | |
| include_frontmatter | No | For unsliced JSON reads, include opening YAML in content; parsed frontmatter is returned either way. Explicit line ranges are never stripped. CLI: --frontmatter (--include-frontmatter is a deprecated alias). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |