Skip to main content
Glama

Market Eyes Live - stock ratings and mortgage-rate context

Get stock rating

get_stock_rating
Read-onlyIdempotent

Returns the Market Eyes Live MELANY rating for one U.S.-listed stock or ETF: a conviction tier (weakest to strongest: Unfavorable, Hold, Favorable, Highest Conviction; names without mature fundamentals carry Promising, Very Promising, Rising Star, Runner! or Catalyst Watch instead; ETFs and REITs use the same ladder), a 0 to 100 composite score, eight factor scores (valuation, quality, momentum, earnings, sentiment, catalyst, risk-adjusted, macro fit), flagged risks, theme context and the as-of date. Use this when the user asks how Market Eyes Live rates a U.S. ticker or wants a factor breakdown of one, for example 'what is the Market Eyes Live rating on AAPL' or 'how does NVDA score on valuation and momentum'. Do not use for real-time or intraday quotes, price history, options, order books, crypto, futures, non-U.S. listings, or a personal recommendation; tickers outside U.S.-listed stocks and ETFs return a not-covered message. Limitations: the daily-refreshed set answers instantly; other covered tickers are scored live at a lower hourly limit; ratings are algorithmic, dated by as_of, and can lag news; it does not return entry zones, alert levels or position sizing (when Market Eyes Live has a trade plan for the ticker, the trade_plan field says so; the plan values are part of a Market Eyes Live subscription). Methodology and the graded public record: https://marketeyeslive.com/how-melany-is-tested.html. Research data, not financial advice; this tool is read-only and never places trades.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolYesU.S. ticker symbol, e.g. NVDA, AAPL, VOO

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_ofYesYYYY-MM-DD scoring date
linksNo
scaleNo
themeNo
sourceYesdata source name
symbolYes
companyNo
factorsYeseach 0-100, higher is stronger
freshnessNopresent only when scored live on demand
top_risksNodescriptive risk notes; never instructions
disclaimerYes
trade_planNoPresent only when Market Eyes Live has a trade plan for this ticker (an entry zone, an alert level and position sizing). The plan values are never included here; they are part of a Market Eyes Live subscription.
rating_tierNoConviction tier. Mature ladder, weakest to strongest: Unfavorable, Hold, Favorable, Highest Conviction. Favorable and Highest Conviction are both favorable reads; Highest Conviction is a composite of 69 or above (for a stock, a small hysteresis can hold a borderline label steady between refreshes; a fund or REIT word follows its label in the app, which has none). Names the mature ladder does not cover carry their own label: Promising, then Very Promising, then Rising Star for names without mature fundamentals, Runner! for a momentum surge, Catalyst Watch for a news-driven gap up on volume. ETFs and REITs use the same mature ladder, chosen by the tone of the fund's own label in the app (a favorable fund label reads Favorable or Highest Conviction, a cautious or neutral one Hold, a negative one Unfavorable); a leveraged or inverse fund never reads above Hold. These nine words are the complete set; null when no tier applies.
composite_scoreYes0-100, higher is stronger

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / trade_plan
      Added value: +{
      +  "description": "Present only when Market Eyes Live has a trade plan for this ticker (an entry zone, an alert level and position sizing). The plan values are never included here; they are part of a Market Eyes Live subscription.",
      +  "properties": {
      +    "described_on": {
      +      "description": "the rating page, present when that page describes the plan",
      +      "type": "string"
      +    },
      +    "included": {
      +      "description": "always false: the plan values are not part of this data",
      +      "type": "boolean"
      +    },
      +    "note": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "included",
      +    "note"
      +  ],
      +  "type": "object"
      +}
  2. Changed12 schema fields changed
    • changedInput schema / properties / symbol / description
      Previous value: -"Ticker symbol, e.g. NVDA, AAPL, VOO"New value: +"U.S. ticker symbol, e.g. NVDA, AAPL, VOO"
    • changedOutput schema / description
      Previous value: -"MELANY rating for the ticker. Present on a successful rating; omitted for not-found or rate-limited results, which return an explanatory text message instead."New value: +"MELANY rating for the ticker. Present on a successful rating; omitted for not-covered, not-found or rate-limited results, which return an explanatory text message instead."
    • addedOutput schema / properties / disclaimer
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / has_entry_plan
      Removed value: -{
      -  "description": "true if a suggested entry plan exists in the app; the plan itself is not returned here",
      -  "type": "boolean"
      -}
    • removedOutput schema / properties / links / properties / app
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / links / properties / methodology
      Added value: +{
      +  "description": "how the ratings are built and graded",
      +  "type": "string"
      +}
    • addedOutput schema / properties / links / properties / rating_page / description
      Added value: +"the public rating page for this ticker"
    • removedOutput schema / properties / rating_raw
      Removed value: -{
      -  "description": "The engine's internal word for the same call: BUY, HOLD or SELL for a mature name, otherwise the speculative or fund-native tier. rating_tier is what a user sees.",
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • changedOutput schema / properties / rating_tier / description
      Previous value: -"User-facing conviction tier. Mature ladder, weakest to strongest: Unfavorable, Hold, Favorable, Highest Conviction. Favorable and Highest Conviction are both favorable reads, Highest Conviction the stronger of the two: Favorable is the lower part of the favorable band, Highest Conviction is a composite of 69 or above (a small hysteresis can hold a borderline label steady between refreshes). Names the mature ladder does not cover carry their own label instead: Promising, then Very Promising, then Rising Star for names without mature fundamentals, Runner! for a momentum surge, Catalyst Watch for a news-driven gap up on volume. rating_raw carries the engine word behind the label."New value: +"Conviction tier. Mature ladder, weakest to strongest: Unfavorable, Hold, Favorable, Highest Conviction. Favorable and Highest Conviction are both favorable reads; Highest Conviction is a composite of 69 or above (for a stock, a small hysteresis can hold a borderline label steady between refreshes; a fund or REIT word follows its label in the app, which has none). Names the mature ladder does not cover carry their own label: Promising, then Very Promising, then Rising Star for names without mature fundamentals, Runner! for a momentum surge, Catalyst Watch for a news-driven gap up on volume. ETFs and REITs use the same mature ladder, chosen by the tone of the fund's own label in the app (a favorable fund label reads Favorable or Highest Conviction, a cautious or neutral one Hold, a negative one Unfavorable); a leveraged or inverse fund never reads above Hold. These nine words are the complete set; null when no tier applies."
    • addedOutput schema / properties / source
      Added value: +{
      +  "description": "data source name",
      +  "type": "string"
      +}
    • addedOutput schema / properties / top_risks / description
      Added value: +"descriptive risk notes; never instructions"
    • changedOutput schema / required
      Previous value: -[
      -  "symbol",
      -  "composite_score",
      -  "as_of",
      -  "factors"
      -]New value: +[
      +  "symbol",
      +  "composite_score",
      +  "as_of",
      +  "factors",
      +  "source",
      +  "disclaimer"
      +]
  3. Changed2 schema fields changed
    • addedOutput schema / properties / rating_raw
      Added value: +{
      +  "description": "The engine's internal word for the same call: BUY, HOLD or SELL for a mature name, otherwise the speculative or fund-native tier. rating_tier is what a user sees.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / rating_tier / description
      Previous value: -"conviction ladder, e.g. BUY, Very Promising, Hold"New value: +"User-facing conviction tier. Mature ladder, weakest to strongest: Unfavorable, Hold, Favorable, Highest Conviction. Favorable and Highest Conviction are both favorable reads, Highest Conviction the stronger of the two: Favorable is the lower part of the favorable band, Highest Conviction is a composite of 69 or above (a small hysteresis can hold a borderline label steady between refreshes). Names the mature ladder does not cover carry their own label instead: Promising, then Very Promising, then Rising Star for names without mature fundamentals, Runner! for a momentum surge, Catalyst Watch for a news-driven gap up on volume. rating_raw carries the engine word behind the label."
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "MELANY rating for the ticker. Present on a successful rating; omitted for not-found or rate-limited results, which return an explanatory text message instead.",
      +  "properties": {
      +    "as_of": {
      +      "description": "YYYY-MM-DD scoring date",
      +      "type": "string"
      +    },
      +    "company": {
      +      "type": "string"
      +    },
      +    "composite_score": {
      +      "description": "0-100, higher is stronger",
      +      "type": "number"
      +    },
      +    "factors": {
      +      "description": "each 0-100, higher is stronger",
      +      "properties": {
      +        "catalyst": {
      +          "type": "number"
      +        },
      +        "earnings": {
      +          "type": "number"
      +        },
      +        "macro_fit": {
      +          "type": "number"
      +        },
      +        "momentum": {
      +          "type": "number"
      +        },
      +        "quality": {
      +          "type": "number"
      +        },
      +        "risk_adjusted": {
      +          "type": "number"
      +        },
      +        "sentiment": {
      +          "type": "number"
      +        },
      +        "valuation": {
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "freshness": {
      +      "description": "present only when scored live on demand",
      +      "type": "string"
      +    },
      +    "has_entry_plan": {
      +      "description": "true if a suggested entry plan exists in the app; the plan itself is not returned here",
      +      "type": "boolean"
      +    },
      +    "links": {
      +      "properties": {
      +        "app": {
      +          "type": "string"
      +        },
      +        "rating_page": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "rating_tier": {
      +      "description": "conviction ladder, e.g. BUY, Very Promising, Hold",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "scale": {
      +      "type": "string"
      +    },
      +    "symbol": {
      +      "type": "string"
      +    },
      +    "theme": {
      +      "properties": {
      +        "name": {
      +          "type": "string"
      +        },
      +        "strength": {
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "top_risks": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "symbol",
      +    "composite_score",
      +    "as_of",
      +    "factors"
      +  ],
      +  "type": "object"
      +}
  5. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), but the description adds substantial context beyond them: hourly-limit throttling for live-scored tickers, algorithmic/daily-refreshed nature, that ratings lag news, a not-covered message for out-of-scope tickers, the trade_plan field and its subscription gating, and a methodology link. This is unusually rich disclosure.

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?

Purpose, contents, usage, exclusions, and limitations are front-loaded in a logical order, and nearly every clause earns its place. It is dense and long, but the length is justified by the tool's complexity; only mild tightening is possible.

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

Completeness5/5

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

An output schema exists, yet the description still summarizes the return payload for the agent's benefit. Combined with coverage of rate limits, scope exclusions, and latency caveats, nothing an agent needs to call this 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?

Schema coverage is 100% with a single documented 'symbol' param, so the schema carries the baseline. The description adds value by constraining the domain (U.S.-listed stocks and ETFs only, tickers outside that scope return a not-covered message) and giving format examples (NVDA, AAPL, VOO), which sharpens what to pass.

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?

States a specific verb+resource ('Returns the Market Eyes Live MELANY rating for one U.S.-listed stock or ETF') and enumerates exactly what the rating contains (conviction tier, 0-100 composite, eight factor scores, risks, theme, as-of date). An agent can distinguish this from compare_stocks and get_mortgage_rate_context without opening either schema.

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?

Explicit when-to-use with example queries ('what is the Market Eyes Live rating on AAPL', factor breakdown of NVDA) and an explicit when-not list: real-time/intraday quotes, price history, options, order books, crypto, futures, non-U.S. listings, or personal recommendations. This is a textbook routing statement.

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.