Read note
bm_readRead a Basic Memory note or file by path, permalink, memory:// URL, or exact title, and slice long content by section, line range, or token budget.
Instructions
Read a Basic Memory note or file by path, permalink, memory:// URL or exact title. Slice a long note with section (a heading), start_line/end_line or max_tokens; line numbers count the whole file, frontmatter included. A text file such as .txt takes start_line/end_line too. include_content=false returns only the metadata and the checksum that bm_write and bm_edit take as expected_checksum. Images come back as images and other binary files as documents. A missing note is an error: find notes with bm_search.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"identifier": "<identifier>",
"project": "<project>"
},
"name": "bm_read"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Required project name, 'workspace/project', or project external id. Discover projects with bm_project(command='list'). Paths are relative to this project; a qualified path must agree with it. | |
| section | No | A heading to read: "Decisions", "Auth/Decisions" for a heading under "Auth", or "Decisions[1]" for the second "Decisions" heading. | |
| end_line | No | ||
| identifier | Yes | The note or file: a file path ('notes/plan.md'), permalink, memory:// URL, exact title, external id, or '<project>/path'. | |
| max_tokens | No | Approximate token budget. Longer content is cut at a section or paragraph boundary, and the result says which line to continue from. | |
| start_line | No | ||
| output_format | No | text | |
| include_content | No | False returns only title, paths, checksum and updated_at. | |
| include_frontmatter | No | Include the YAML frontmatter in a whole-note read. |