Skip to content

bulk_create_notes

Batch-create notes with per-item results. Each item creates/overwrites/upserts a note (content + optional frontmatter). HITL-floored (bulk) and throttled; best-effort by default (stop_on_first_error opt-in). response_format=concise omits processed, duration_ms and each item’s mode_used.

Domain notes
Scopes write:notes, bulk:notes
Access write
Tags writes, hitl, bulk, domain:notes
Profile core, full
Annotation Value
Read-only no
Destructive no
Idempotent no
Accepts an idempotency key yes

Idempotent is the advisory MCP idempotentHint. Destructive is also yes for a tool that asks for confirmation only on some calls.

A single-use elicit_token (or a transport-verified confirmation) is required on every call.

  • The confirmation binds to the vault paths the call names, which are also checked against the folder ACL.
Parameter Type Required Default Description
vault string — Vault id. May be omitted when only one vault is available. length 1–64; pattern ^[a-z0-9_-]+$
items object[] yes — items 1–200
items[].path string yes — length 1–1024
items[].content string yes — —
items[].frontmatter Record<string, any> — —
items[].mode enum "create" One of: "create", "overwrite", "upsert"
items[].idempotency_key string — length 1–128
bulk_idempotency_key string — length 1–128
max_concurrent integer 4 range 1–16
stop_on_first_error boolean false —
elicit_token string — pattern ^[a-f0-9]{32}$
response_format enum — concise returns only the high-signal fields; detailed (the shipped default) returns the full payload. Errors and safety warnings are never trimmed. When omitted, the server’s tools.defaults.responseFormat applies. One of: "concise", "detailed"
verbosity enum — Legacy alias for response_format: terse = concise, full = detailed. One of: "full", "terse"
Field Type Always present Description
vault string yes —
processed number —
succeeded number yes —
failed number yes —
results object[] yes —
results[].path string yes —
results[].ok boolean yes —
results[].mode_used enum One of: "create", "overwrite"
results[].content_hash string —
results[].redactions number —
results[].error object —
duration_ms number —

Other tools in the notes domain: append_note, bulk_move_notes, copy_note, delete_note, fetch, get_provenance, list_notes, list_snapshots, move_note, note_exists, patch_note, read_note, read_notes, read_resources, read_snapshot, restore_note, snapshot_note, write_note.

Back to the tool catalog.