Skip to main content
Glama

Compare stocks

compare_stocks
Read-only

Review two to five stock tickers side by side to assess annual fundamentals, quality ratios, valuation context, and risk dials in one structured response with source dates and missing coverage.

Instructions

Compare two to five stock tickers in one compact structured response: annual fundamentals and growth, quality ratios, stored valuation and Bullrun model context, and measured risk dials. Reports each fiscal year, source date, native quote/reporting currency and missing coverage. No currency conversion, quarterly-to-annual substitution, buy/sell ranking or generated research. Read-only.

Input Schema

NameRequiredDescriptionDefault
includeNoSelected compact modules. Fundamentals and quality use the latest usable ANNUAL fiscal year only; valuation includes stored multiples and Bullrun model context; risk includes measured dials.
tickersYesTwo to five distinct Bullrun stock tickers, e.g. AAPL, BMW, NESN, 6324.T or 7203. Use the listing ticker returned by search_stocks. US/European examples: AAPL, BMW, NESN. Most Asian listings keep their exchange suffix (6324.T, 0700.HK); some use bare codes (005930). Native or suffixed forms resolve only when one listing matches; search by company name or ISIN if unsure. Company names are not accepted here.

Output Schema

NameRequiredDescriptionDefault
rowsYes
tickersYes
webPageNo
coverageYes
warningsYes
methodologyYes
retrievedAtYes
platformLinkNo
requestedModulesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.9.0
    • changedInput schema / properties / tickers / description
      Previous value: -"Two to five distinct Bullrun stock tickers, e.g. AAPL, BMW, NESN, 6324.T or 7203. Bullrun tickers: US and most European listings use the plain local symbol (AAPL, BMW, NESN, ABBN); most Asian and Indian listings keep their exchange suffix (Tokyo 6324.T, Hong Kong 0700.HK, Shanghai 600519.SS, Shenzhen 000001.SZ, Taiwan 2330.TW, Korea 000100.KS, Singapore D05.SI, India RELIANCE.NS), but some Japanese and Korean large caps are plain codes (Toyota 7203, Samsung 005930). Either form is resolved automatically when exactly one listing matches; use search_stocks to find a ticker by company name or ISIN. Company names are not accepted here."New value: +"Two to five distinct Bullrun stock tickers, e.g. AAPL, BMW, NESN, 6324.T or 7203. Use the listing ticker returned by search_stocks. US/European examples: AAPL, BMW, NESN. Most Asian listings keep their exchange suffix (6324.T, 0700.HK); some use bare codes (005930). Native or suffixed forms resolve only when one listing matches; search by company name or ISIN if unsure. Company names are not accepted here."
  2. Changed1 schema field changedv0.8.1
    • changedInput schema / properties / tickers / description
      Previous value: -"Two to five distinct exact Bullrun stock listing tickers, e.g. AAPL, BMW, NESN or 005930. No fuzzy company names or inferred ticker suffixes."New value: +"Two to five distinct Bullrun stock tickers, e.g. AAPL, BMW, NESN, 6324.T or 7203. Bullrun tickers: US and most European listings use the plain local symbol (AAPL, BMW, NESN, ABBN); most Asian and Indian listings keep their exchange suffix (Tokyo 6324.T, Hong Kong 0700.HK, Shanghai 600519.SS, Shenzhen 000001.SZ, Taiwan 2330.TW, Korea 000100.KS, Singapore D05.SI, India RELIANCE.NS), but some Japanese and Korean large caps are plain codes (Toyota 7203, Samsung 005930). Either form is resolved automatically when exactly one listing matches; use search_stocks to find a ticker by company name or ISIN. Company names are not accepted here."
  3. Addedv0.7.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: annual-only fiscal years, no FX conversion, native reporting currency, reported missing coverage, and no ranking or generated research. Minor gaps remain around volume/rate limits and pagination, but the disclosure is well above baseline.

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?

Two dense but front-loaded sentences: the capability and response shape come first, then the explicit exclusions. Every clause carries information, though the negation list is packed and could be split for readability. No filler.

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 two-parameter, read-only comparison tool with an output schema, the description is nearly sufficient: it defines scope, module contents, currency/period handling and exclusions. It stops short of stating anything about response size or ordering across the compared tickers, which an agent might want to know when comparing five names.

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

Parameters3/5

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

Schema description coverage is 100%, so both `tickers` and `include` are already documented in detail, including ticker format and per-module semantics. The description adds only the ticker count (2-5) and a summary of module contents, which largely restates the schema. Baseline 3 is appropriate when the schema carries the weight.

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 names a specific verb (compare), a bounded resource (two to five stock tickers), and enumerates exactly what the compact response contains (fundamentals, quality, valuation, risk). It also distinguishes itself from nearby siblings like compare_etfs and find_stock_peers by scoping to stock tickers and to a fixed module set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

It gives useful negative scoping ('No currency conversion, quarterly-to-annual substitution, buy/sell ranking or generated research'), which implicitly tells the agent when another tool is needed. However, no sibling is named as an alternative and there is no explicit 'use this when you want to compare X across 2-5 names vs. screen_stocks for discovery' guidance, leaving the choice partly to inference.

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