Skip to main content
Glama

trading_journal

Read or write your private trading journal. Write: log an outcome (win/loss P&L) after a trade closes — the agent learns from every entry. Read: get your full trade history with summary stats (total P&L, win rate, trade count). Every proposal, approval, rejection, and outcome is logged. After 20 executed paper trades, live trading unlocks. WRITE FORMAT: trading_journal({journal_id: 'jrn_abc123', action: 'outcome', pnl_usd: 47.50}) READ FORMAT: trading_journal({read: true, strategy_id: 'strat_abc123', limit: 10})

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
readNoSet true to read journal history instead of writing.
emailNoYour email — identifies your journal entries.
limitNoNumber of entries to return (max 100). Default: 20.
actionNoAction to log: 'outcome', 'cancelled', 'live_executed'. Required for write.
outcomeNoText description of outcome.
pnl_usdNoRealized P&L in USD (positive=win, negative=loss). Log after position closes.
tx_hashNoOn-chain transaction hash (live trades).
journal_idNoThe journal_id from trading_propose (required for write).
strategy_idNoFilter read history by strategy_id.

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description bears full responsibility. It explains both read and write behaviors, mentions that all proposals/approvals/rejections/outcomes are logged, and notes the unlock condition. However, it omits details about the return format of read operations and any required authentication or prerequisites.

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?

The description is well-structured with separate sections for read and write, front-loads the core purpose, and uses clear formatting. It is slightly wordy but still efficient, with every sentence contributing useful information.

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

Completeness3/5

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

Given the tool's complexity (9 parameters, no output schema, no annotations), the description covers both modes and provides examples and a usage condition. However, it lacks details about the output format for reads and the necessity of the 'email' parameter, leaving some gaps.

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 is 3. The description adds value by providing concrete example calls for both read and write, clarifying parameter combinations beyond the schema descriptions, and mentioning the live trading unlock condition that relates to usage.

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

Purpose4/5

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

The description clearly states the tool's dual read/write purpose and details each mode: logging outcomes and retrieving trade history with summary stats. It implicitly differentiates from sibling tools like trading_propose by focusing on journaling, but does not explicitly compare.

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 provides explicit formats for read and write operations, includes example calls, and mentions the precondition that live trading unlocks after 20 paper trades. It does not explicitly state when not to use it or name alternatives, but the context is clear.

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.

TDQS

A3.5/5.0
Disambiguation3/5

Many tools have distinct purposes, but there are several overlapping or redundant tools (e.g., leadsignal vs leadsignal_generate, multiple code audit tools, multiple trading proposal/journal tools, and several 'universal' entry points like zambo_help, zambo_ask, zambo_universal). Descriptions help, but the volume creates ambiguity.

Naming Consistency3/5

Naming conventions vary across prefixes (zambo_, zambot_, axis_, presence_, trading_, etc.), with some tools using single words (weather, translate) and others using verb_noun patterns. Aliases like leadsignal_generate for leadsignal break consistency. While prefixes provide some grouping, the overall pattern is mixed.

Tool Count2/5

125 tools is excessive for a single MCP server, even if the server aims to be a universal stack. This makes it overwhelming for agents to navigate and increases the likelihood of misselection. Many tools could be split into domain-specific servers.

Completeness5/5

The tool surface is extraordinarily comprehensive, covering agent identity, cross-layer orchestration, code analysis, content generation, legal scanning, lead generation, trading, on-chain data, and more. Nearly any common agent task is supported with multiple tools, leaving few obvious gaps.

Resources