Skip to main content
Glama

set_journal_entry

Destructive

Add a note or quote to your reading journal (omit id; book_id, entry, and event required) or edit one of your existing notes/quotes (pass its id from get_reading_journal; only the fields you pass change, the book can't).

Instructions

Add a note or quote to your reading journal (omit id; book_id, entry, and event required) or edit one of your existing notes/quotes (pass its id from get_reading_journal; only the fields you pass change, the book can't). New entries are public unless privacy says otherwise. Each create makes a separate entry. Status, rating, and progress entries can't be created or edited here; they come from set_user_book and set_user_book_read. Returns the entry with its id.

Input Schema

NameRequiredDescriptionDefault
idNoJournal entry ID to edit. Omit to create a new entry.
entryNoJournal entry text (required when creating).
eventNoEntry type (required when creating).
book_idNoHardcover book ID (required when creating).
privacyNoWho can see it: 'public', 'followers', or 'private' (or 1, 2, 3). Default when creating: public.
edition_idNoOptional Hardcover edition ID.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.0.0
    • addedInput schema / properties / privacy
      Added value: +{
      +  "description": "Who can see it: 'public', 'followers', or 'private' (or 1, 2, 3). Default when creating: public.",
      +  "type": "string"
      +}
    • removedInput schema / properties / privacy_setting_id
      Removed value: -{
      -  "description": "1 public (default when creating), 2 followers, 3 private.",
      -  "type": "integer"
      -}
  2. Addedv0.8.0

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses the default visibility of new entries (public), that each create produces a separate entry (consistent with idempotentHint=false), and the immutability of book_id on edit — real behavioral context. It does not explicitly warn that editing replaces the existing entry text, which is the main destructive risk flagged by destructiveHint=true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the create/edit fork and very dense with useful content; the parenthetical clauses carry the conditional rules efficiently. It is slightly cramped — two distinct modes packed into one sentence — but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter mutation tool with no output schema, everything an agent needs is present: mode selection, conditional required fields, defaults, what cannot be changed, sibling routing for excluded entry types, and the return value (the entry with its id).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline would be 3, but the description adds meaning the schema cannot express: the schema marks zero required parameters, while the description states book_id, entry, and event are required when creating. It also ties id to get_reading_journal and notes privacy's default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb pair (add vs. edit) and the exact resource (a reading journal note/quote), and it explicitly carves out the entry types it does not handle by pointing at set_user_book and set_user_book_read. An agent can distinguish this from get_reading_journal or delete_journal_entry without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mode selection is spelled out precisely: omit id to create, pass an id obtained from get_reading_journal to edit. It also states an exclusion (status/rating/progress entries belong to set_user_book and set_user_book_read) and a behavioral rule for updates (only the fields you pass change, the book can't).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.