Skip to main content
Glama

OptimistFi

Investment thesis

get_thesis
Read-only

The investment case for a stock, and how it is holding up. view selects which; response_mode="plain" (with reading_level 5 | 10 | 13) renders the case or the review in plain words: - "case" (default): the reason to own it — a one-sentence thesis plus the specific, testable claims it depends on, each grounded in a real filing figure and each stating the condition that would prove it wrong, with the bear case and catalysts. - "review" (aliases: holding_up, check): re-checks the standing case against the freshest filings, pulling each claim's latest value and recent move plus what would strengthen or weaken it. - "story" (aliases: narrative, story_check): a forensic check of whether the company's own narrative in its releases matches its reported numbers, with a HOLDS_UP / MIXED / CRACKING verdict and receipts.

This is the interpretive lens for a company: it gives every other data point something to be
measured against. Pre-computed per company and cited to its filings. When no case has been built
for a name yet, it says so plainly instead of inventing one. (To score one specific new figure
against the case, use get_thesis_impact.)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viewNocase
entityYes
reading_levelNo
response_modeNostandard

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations provide only readOnlyHint=true, so the description carries nearly the full behavioral burden — and it delivers: it discloses each view's output style, aliases (holding_up, check; narrative, story_check), the HOLDS_UP / MIXED / CRACKING verdict with 'receipts,' and the honest behavior when no case exists. No contradiction with readOnlyHint. Minor gap: exact response structure is not described, but content is well covered.

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 summary sentence is front-loaded and the three views are presented as clean labeled bullets, each adding genuinely useful detail. The routing sentence closes the entry. It is long, but the length is justified by three modes and zero schema coverage; nearly every sentence earns its place.

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 complex three-mode interpretive tool with no output schema, the description is thorough: it covers all modes, aliases, rendering options, empty-case behavior, and sibling routing. The minor gaps are unelaborated `entity` semantics and no description of the standard response format across modes, but nothing an agent needs to select and invoke it correctly is missing.

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?

With 0% schema coverage, the description must explain the parameters and does: it defines the three `view` values including defaults and aliases, and explains the response_mode='plain' interaction with reading_level 5|10|13. `entity` is not elaborated, but its meaning is inferable from tool context. Strong compensation for the schema gap.

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 opening line states a specific resource and purpose: 'The investment case for a stock, and how it is holding up.' It positions itself as 'the interpretive lens for a company' that 'gives every other data point something to be measured against,' and explicitly names the sibling it is not (get_thesis_impact). With 38 sibling tools, this sharp identity makes selection unambiguous.

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 clear context for when to use it ('the interpretive lens... pre-computed per company') and ends with an explicit routing rule: 'To score one specific new figure against the case, use get_thesis_impact.' It also states the empty-case behavior (says so plainly instead of inventing one). It lacks exclusionary guidance beyond the impact case, so it stops short of a 5.

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.

Resources