Market Eyes Live - stock ratings and mortgage-rate context
Server Details
Free stock-rating MCP: tier, 0-100 score, 8 factors, 11,000+ US tickers, plus mortgage rates.
- Status
- Healthy
- Uptime
- 99.8% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- marketeyeslive/market-eyes-live-mcp
- GitHub Stars
- 0
TDQS
Scored across 3 tools
get_stock_rating targets a single ticker while compare_stocks handles 2-5 side by side, and get_mortgage_rate_context covers a wholly separate macro topic. The only mild overlap is a multi-ticker request that could plausibly route to either rating tool, but the descriptions explicitly separate them by ticker count.
All names are snake_case verb_noun and readable, with two following the get_ prefix and one using compare_. The single deviation from a uniform prefix pattern is minor and doesn't hinder selection.
Three tools is on the thin side for a stock-ratings server, covering only a single rating lookup, a batch comparison and a mortgage macro read. Each earns its place, but the surface feels narrow for the stated domain.
Core rating and comparison flows are present, plus mortgage context, but there is no way to list or search covered tickers, and trade-plan/alert-level data is repeatedly referenced yet never exposed. These gaps force agents to guess tickers and stop short of the full described lifecycle.
Available Tools
3 toolscompare_stocksCompare stocksARead-onlyIdempotentInspect
Lines up 2 to 5 U.S.-listed stocks or ETFs side by side on Market Eyes Live MELANY ratings: conviction tier (weakest to strongest: Unfavorable, Hold, Favorable, Highest Conviction), 0 to 100 composite score, and the valuation, quality and momentum factor scores. Use this when the user wants several tickers' ratings shown together, for example 'compare AAPL, MSFT and GOOGL on quality and valuation' or 'NVDA vs AMD ratings'. Do not use for real-time quotes, price history, options, crypto, futures, non-U.S. listings, or a personal recommendation. Limitations: draws only on the daily-refreshed rated set; a ticker outside it returns a note instead of scores (get_stock_rating can score a covered ticker live), and a ticker outside U.S.-listed stocks and ETFs returns a not-covered note; it does not return entry zones, alert levels or position sizing (has_trade_plan marks a ticker for which Market Eyes Live has a trade plan; 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.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes | U.S. ticker symbols, e.g. ["NVDA","AMD"] |
Output Schema
| Name | Required | Description |
|---|---|---|
| links | No | |
| source | Yes | |
| comparison | Yes | one row per distinct requested ticker, in input order (BRK.B and BRK-B are one ticker) |
| disclaimer | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, yet the description adds substantial context beyond them: the daily-refreshed rated-set constraint, the 'not-covered note' fallback for out-of-set or non-U.S. tickers, the absence of entry zones/alert levels/position sizing, and the subscription gating of trade-plan values. It also discloses that a ticker outside the rated set returns a note rather than an error.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose, examples, and exclusions are front-loaded in the first two sentences, and the methodology link and disclaimer are correctly deferred to the end. It is dense in a single paragraph and some limitation detail (trade-plan/subscription wording) could be tightened, but nearly every clause carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value documentation is unnecessary, and the description fills the remaining gaps: coverage limits, fallback behavior for uncovered or non-U.S. tickers, and what the tool deliberately omits. An agent has everything needed to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (the single parameter is documented with min/max items and an example), so the baseline is 3. The description exceeds it by specifying the symbol domain: U.S.-listed stocks or ETFs only, with non-U.S. listings falling back to a not-covered note, which the schema does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('lines up 2 to 5 U.S.-listed stocks or ETFs side by side on ... MELANY ratings') and enumerates exactly what is compared (conviction tier, composite score, factor scores). It also distinguishes itself from get_stock_rating, which it names as the live-scoring alternative for a single covered ticker.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states when to use the tool with concrete example phrasings ('compare AAPL, MSFT and GOOGL on quality and valuation'), gives an explicit do-not-use list (real-time quotes, price history, options, crypto, futures, non-U.S. listings, personal recommendations), and routes to the sibling get_stock_rating for live coverage. This is about as complete as usage guidance gets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mortgage_rate_contextGet mortgage rate contextARead-onlyIdempotentInspect
Returns today's public U.S. mortgage-rate context from Market Eyes Live: the 10-year Treasury yield and its direction, mortgage-backed securities (MBS) momentum, the overall rate environment (falling, stable or rising), and a short explanation of what moves mortgage rates. Use this when the user asks what is driving U.S. mortgage rates or which way the rate environment is moving, for example 'what is driving mortgage rates this week' or 'are mortgage rates rising or falling'. Do not use for a specific lender's quoted rate, APR or fee comparisons, loan qualification, a personal lock decision, or anything outside the United States. Limitations: a daily read built from public market data; it describes conditions and does not forecast any individual's rate. Public market data and general education, not financial advice; this tool is read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| mbs | No | |
| as_of | No | YYYY-MM-DD of the data |
| links | No | |
| source | Yes | |
| disclaimer | Yes | |
| rate_environment | No | falling, stable, or rising |
| ten_year_treasury | No | |
| what_moves_mortgage_rates | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds genuinely new behavioral context beyond that: it is a daily read sourced from public market data, it describes conditions without forecasting any individual's rate, and it is education rather than financial advice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the returned data, then usage, then exclusions, then limitations – a logical order with no wasted sentences. It runs slightly long because of the compliance-flavored disclaimers, but those carry real behavioral meaning rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value documentation is not needed, and with no parameters the schema side is trivially complete. Scope, exclusions, data freshness and the non-forecast/advice boundaries together give an agent everything required to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to compensate for. It appropriately avoids inventing or describing inputs that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource plus the exact payload: 10-year Treasury yield and direction, MBS momentum, the rate environment (falling/stable/rising), and a short explanatory note. That level of detail makes it unmistakable against the stock-focused siblings compare_stocks and get_stock_rating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives both positive triggers with concrete example prompts ('what is driving mortgage rates this week', 'are mortgage rates rising or falling') and an explicit negative list (lender quotes, APR/fee comparisons, qualification, personal lock decisions, non-US markets). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_ratingGet stock ratingARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | U.S. ticker symbol, e.g. NVDA, AAPL, VOO |
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | YYYY-MM-DD scoring date |
| links | No | |
| scale | No | |
| theme | No | |
| source | Yes | data source name |
| symbol | Yes | |
| company | No | |
| factors | Yes | each 0-100, higher is stronger |
| freshness | No | present only when scored live on demand |
| top_risks | No | descriptive risk notes; never instructions |
| disclaimer | Yes | |
| trade_plan | No | 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. |
| rating_tier | No | 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. |
| composite_score | Yes | 0-100, higher is stronger |
TDQS
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.
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.
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.
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.
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.
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
compare_stocks1 field changed- added
Output schema / properties / comparison / items / properties / has_trade_planAdded value: +{ + "description": "present (true) only when Market Eyes Live has a trade plan for this ticker; the plan values are not included", + "type": "boolean" +}
- Changed
get_stock_rating1 field changed- added
Output schema / properties / trade_planAdded 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" +}
3 tool updates
- Changed
compare_stocks9 fields changed- changed
Input schema / properties / symbols / descriptionPrevious value: -"Ticker symbols, e.g. [\"NVDA\",\"AMD\"]"New value: +"U.S. ticker symbols, e.g. [\"NVDA\",\"AMD\"]" - changed
Output schema / properties / comparison / descriptionPrevious value: -"one row per requested ticker, in input order"New value: +"one row per distinct requested ticker, in input order (BRK.B and BRK-B are one ticker)" - removed
Output schema / properties / comparison / items / properties / appRemoved value: -{ - "type": "string" -} - changed
Output schema / properties / comparison / items / properties / note / descriptionPrevious value: -"present instead of scores when the ticker is outside the daily set"New value: +"present instead of scores: the ticker is outside the daily-refreshed set, not on the coverage list, not covered, or shares its symbol with a futures contract or coin" - changed
Output schema / properties / comparison / items / properties / rating_tier / descriptionPrevious value: -"User-facing conviction tier, same ladder as get_stock_rating: Unfavorable, Hold, Favorable, Highest Conviction weakest to strongest, with Highest Conviction at a composite of 69 or above. Names without mature fundamentals read Promising, Very Promising or Rising Star instead."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." - added
Output schema / properties / disclaimerAdded value: +{ + "type": "string" +} - added
Output schema / properties / linksAdded value: +{ + "properties": { + "methodology": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / sourceAdded value: +{ + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "comparison" -]New value: +[ + "comparison", + "source", + "disclaimer" +]
- Changed
get_mortgage_rate_context6 fields changed- added
Output schema / properties / disclaimerAdded value: +{ + "type": "string" +} - removed
Output schema / properties / links / properties / appRemoved value: -{ - "type": "string" -} - added
Output schema / properties / links / properties / lock_or_float_explainerAdded value: +{ + "type": "string" +} - removed
Output schema / properties / links / properties / should_i_lockRemoved value: -{ - "type": "string" -} - added
Output schema / properties / sourceAdded value: +{ + "type": "string" +} - added
Output schema / requiredAdded value: +[ + "source", + "disclaimer" +]
- Changed
get_stock_rating12 fields changed- changed
Input schema / properties / symbol / descriptionPrevious value: -"Ticker symbol, e.g. NVDA, AAPL, VOO"New value: +"U.S. ticker symbol, e.g. NVDA, AAPL, VOO" - changed
Output schema / descriptionPrevious 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." - added
Output schema / properties / disclaimerAdded value: +{ + "type": "string" +} - removed
Output schema / properties / has_entry_planRemoved value: -{ - "description": "true if a suggested entry plan exists in the app; the plan itself is not returned here", - "type": "boolean" -} - removed
Output schema / properties / links / properties / appRemoved value: -{ - "type": "string" -} - added
Output schema / properties / links / properties / methodologyAdded value: +{ + "description": "how the ratings are built and graded", + "type": "string" +} - added
Output schema / properties / links / properties / rating_page / descriptionAdded value: +"the public rating page for this ticker" - removed
Output schema / properties / rating_rawRemoved 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" - ] -} - changed
Output schema / properties / rating_tier / descriptionPrevious 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." - added
Output schema / properties / sourceAdded value: +{ + "description": "data source name", + "type": "string" +} - added
Output schema / properties / top_risks / descriptionAdded value: +"descriptive risk notes; never instructions" - changed
Output schema / requiredPrevious value: -[ - "symbol", - "composite_score", - "as_of", - "factors" -]New value: +[ + "symbol", + "composite_score", + "as_of", + "factors", + "source", + "disclaimer" +]
1 tool update
- Changed
compare_stocks1 field changed- added
Output schema / properties / comparison / items / properties / appAdded value: +{ + "type": "string" +}
2 tool updates
- Changed
compare_stocks1 field changed- added
Output schema / properties / comparison / items / properties / rating_tier / descriptionAdded value: +"User-facing conviction tier, same ladder as get_stock_rating: Unfavorable, Hold, Favorable, Highest Conviction weakest to strongest, with Highest Conviction at a composite of 69 or above. Names without mature fundamentals read Promising, Very Promising or Rising Star instead."
- Changed
get_stock_rating2 fields changed- added
Output schema / properties / rating_rawAdded 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" + ] +} - changed
Output schema / properties / rating_tier / descriptionPrevious 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."
3 tool updates
- Changed
compare_stocks1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "comparison": { + "description": "one row per requested ticker, in input order", + "items": { + "properties": { + "as_of": { + "type": "string" + }, + "company": { + "type": "string" + }, + "composite_score": { + "description": "0-100", + "type": "number" + }, + "momentum": { + "type": "number" + }, + "note": { + "description": "present instead of scores when the ticker is outside the daily set", + "type": "string" + }, + "quality": { + "type": "number" + }, + "rating_page": { + "type": "string" + }, + "rating_tier": { + "type": [ + "string", + "null" + ] + }, + "symbol": { + "type": "string" + }, + "valuation": { + "type": "number" + } + }, + "required": [ + "symbol" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "comparison" + ], + "type": "object" +}
- Changed
get_mortgage_rate_context1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "description": "today's public mortgage-rate context; omitted only if the live feed is momentarily unavailable, which returns a text message instead", + "properties": { + "as_of": { + "description": "YYYY-MM-DD of the data", + "type": [ + "string", + "null" + ] + }, + "links": { + "properties": { + "app": { + "type": "string" + }, + "live_data": { + "type": "string" + }, + "should_i_lock": { + "type": "string" + } + }, + "type": "object" + }, + "mbs": { + "properties": { + "meaning": { + "type": "string" + }, + "momentum": { + "type": "string" + } + }, + "type": "object" + }, + "rate_environment": { + "description": "falling, stable, or rising", + "type": "string" + }, + "ten_year_treasury": { + "properties": { + "direction": { + "type": "string" + }, + "yield_pct": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "what_moves_mortgage_rates": { + "type": "string" + } + }, + "type": "object" +}
- Changed
get_stock_rating1 field changed- changed
Output 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" +}
3 tool updates
- First observed
compare_stocks - First observed
get_mortgage_rate_context - First observed
get_stock_rating
Related MCP Connectors
Free stock, ETF & crypto analysis: 10-point score, verdict and key metrics for any ticker.
One MCP key: prices, fundamentals, SEC filings, insider/13F/congressional trades. 336 tools.
Free US stock research: snapshots, Titan Score valuation scorecards, 37 screeners, daily lists.
Stock trading signals, commodity risk scores, sector radar, market risk index. Free tier.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides real-time stock analysis tools including price lookup, comprehensive investment scoring, and company-to-ticker conversion through a MCP interface.1-
- AlicenseNot gradedqualityBmaintenanceEnables MCP-based access to a US stock data warehouse and screener, allowing automated screening with daily free market data.MIT
- AlicenseAqualityBmaintenanceStock screening, company financials, ETF search, and personal portfolio analysis over a remote OAuth-protected MCP server https://mcp.bull-run.org/mcp14MIT
- AlicenseAqualityFmaintenanceFree MCP server for stock and financial intelligence from SEC EDGAR, supporting financials, filings, comparisons, insider trades, historical prices, and sector peers.635 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.