Skip to main content
Glama

luxalgo-mcp-server

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

TableJSON 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.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds valuable behavioral context beyond the annotations: the stream is 'newest first as one stream split by kind', keyset pagination via cursor/nextCursor, case-insensitive filtering, and the OAuth sign-in requirement. It does not describe the exact response shape, but with no output schema and read-only semantics, the disclosed behavior is sufficient.

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

Conciseness5/5

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

The description is a single dense paragraph that front-loads the core purpose, then packs filters, pagination, and auth into a compact sequence. Every sentence earns its place; there is no filler or repetition of schema details.

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?

For a read-only search tool with 8 parameters and no output schema, the description covers the essential call semantics: result kinds, filter behavior, pagination, and auth. The only minor gap is that it doesn't describe the exact response envelope (e.g., whether results are wrapped in a data object), but the keyset-pagination mention and the read-only annotations make the tool safely callable without that detail.

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 description coverage is 88%, so the schema already documents most parameters. The description adds meaning beyond the schema by explaining the relationship between `symbol` and the two note kinds (day notes have no symbol and drop out), and by clarifying that `accounts` can be omitted for every account. It also explains the `cursor`/`nextCursor` keyset-pagination pattern, which is not fully captured in the schema.

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 opens with a specific verb and resource ('Search the notes feed'), then immediately distinguishes the two result kinds (`notes` vs `tradeNotes`) and names the sibling tools used to update each. This clearly differentiates it from journal_get_day, journal_get_trade, and journal_list_trades, which are the closest siblings.

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?

The description explicitly states when to use this tool ('Search the notes feed'), what filters are available, and that omitting every filter returns the latest notes. It also names the sibling tools for updating the two note kinds (journal_update_note, journal_update_trade), giving an agent clear routing guidance. The symbol filter caveat ('day notes have no symbol and drop out') is a precise usage condition.

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.