Skip to main content
Glama
johnamcruz

projectx-mcp

by johnamcruz

Read trading journal

journal_read
Read-only

Retrieve past journal entries by kind, tag, or date to review lessons and recent decisions before trading, helping avoid repeated mistakes.

Instructions

Read past journal entries (newest last). Start each session with journal_read({kind:"lesson"}) and recent reviews so you do not repeat mistakes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagNo
kindNo
limitNo
sinceNo
contractIdNoContract ID, e.g. "CON.F.US.MNQ.Z25". Get it from search_contracts.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful behavioral detail about ordering and a recommended workflow, but it does not disclose return format, pagination behavior, or what happens when no entries match. No contradiction with annotations.

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?

Two sentences with no filler. The core action and ordering are front-loaded, and the second sentence provides actionable workflow guidance. Every word earns its place.

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

Completeness2/5

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

There is no output schema, so the description should explain what the tool returns, but it does not. It also omits most parameter semantics and filtering behavior, leaving the agent to infer how tag, limit, since, and contractId affect results. The workflow tip is helpful but not sufficient for a 5-parameter tool.

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

Parameters2/5

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

Schema description coverage is only 20% (only contractId is described). The description mentions kind values 'lesson' and 'review' but leaves tag, limit, and since largely unexplained. With such low schema coverage, the description needed to compensate and did not.

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 states a specific verb ('Read'), a clear resource ('past journal entries'), and an ordering guarantee ('newest last'). It also distinguishes itself from the sibling journal_add by framing this as the read counterpart.

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?

The description gives explicit guidance to start each session with journal_read({kind:'lesson'}) and recent reviews, which is a concrete when-to-use instruction. It does not mention exclusions or alternatives, but there is no other read-journal sibling, so the context is sufficient.

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