Skip to main content
Glama

Search journal notes

journal_search_notes
Read-only

Search the notes feed — day notes and trades that carry notes — newest first as one stream split by kind: notes (day notes, with ids for journal_update_note) and tradeNotes (the trade summary with its note text; annotate via journal_update_trade). Filter by case-insensitive text (q), day-key window, symbol (trade notes only — day notes have no symbol and drop out) and account ids; keyset-paginated via cursor/nextCursor. Omit every filter for the latest notes. Requires signing in with a LuxAlgo account (OAuth).

Input Schema

NameRequiredDescriptionDefault
qNoSubstring to look for in note text, case-insensitive.
toNoInclusive end day (YYYY-MM-DD, journal timezone). Overrides `range`.
fromNoInclusive start day (YYYY-MM-DD, journal timezone). Overrides `range`.
limitNoPage size, default 25.
cursorNo`nextCursor` from the previous page; keep every other argument identical.
symbolNo
contextYesExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
accountsNoJournal account ids to scope to (from journal_list_accounts). Omit for every account, archived ones included. Unknown ids are rejected.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/openWorldHint/destructiveHint=false, but the description adds meaningfully: OAuth sign-in requirement, newest-first ordering, keyset pagination via cursor/nextCursor, and the non-obvious drop-out behavior when filtering day notes by symbol. It stops short of return-format detail or rate limits, keeping it below a 5.

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?

Dense but front-loaded — the stream/kinds structure comes first, then filters, then pagination, then auth. Every sentence carries information (probably more than a reader wants in one block), with no filler or repetition.

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

Completeness4/5

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

With no output schema, the description compensates by describing the return shape (a single stream split by kind, with ids for follow-up tools) and the auth prerequisite. Pagination and filter semantics are covered. Only minor gaps remain, such as default ordering fields or error behavior on unknown ids.

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 88% (baseline 3), and the description adds real semantic value beyond the schema: `symbol` only matches trade notes and causes day notes to be excluded, and the cursor must reuse identical arguments. This is behavioral meaning the schema does not convey.

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?

States a specific verb (Search) and resource (journal notes feed) and immediately disambiguates the two kinds it returns — `notes` (day notes) and `tradeNotes` — with the sibling tools used to edit each. An agent can distinguish this from journal_list_trades or journal_get_day 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 Guidelines4/5

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

Gives actionable context: 'Omit every filter for the latest notes', and explains that the symbol filter applies only to trade notes while day notes 'drop out'. It does not explicitly name a competing sibling (e.g. journal_list_trades) as the alternative when filtering by trade rather than note, so routing guidance is strong but not complete.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.