Skip to main content
Glama

Get Recommendation Trends

get_recommendation_trends
Read-onlyIdempotent

Analyst recommendation trends for a company — counts of Strong Buy / Buy / Hold / Sell / Strong Sell, by month, for the last several months. Example: get_recommendation_trends({ symbol: "AAPL" })

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "symbol": "AAPL"
    },
    "name": "get_recommendation_trends"
  }
}

Input Schema

NameRequiredDescriptionDefault
symbolYesStock ticker symbol, e.g. "AAPL", "MSFT", "TSLA"
_apiKeyYesFinnhub API key (get one free at finnhub.io)

Output Schema

NameRequiredDescriptionDefault
sourceYesData source attribution
symbolYesStock ticker symbol
periodsYesMonthly analyst recommendation counts, most recent period first
data_as_ofYesDate the data was retrieved (YYYY-MM-DD)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: the result is a monthly time series of five discrete rating buckets over a bounded recent window, which tells the agent the shape and horizon of the response. It omits any note on API-key/rate-limit behavior, which keeps it from a 5.

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 sentences, front-loaded with what the tool returns, followed by a compact call example. The example largely duplicates the schema's own examples array, so it is mildly redundant, but nothing is wasted or padded.

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?

An output schema exists, so return-value documentation is not required, and both parameters are fully described in the schema. For a simple two-parameter read tool this is complete; only the missing explicit routing versus adjacent tools keeps it short of full marks.

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%, including the _apiKey explanation and symbol examples, so the schema carries the parameter burden. The description only restates the symbol via an example call and adds nothing about format, casing, or multi-symbol support.

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 resource and verb: analyst recommendation trends for a company, with the exact breakdown (Strong Buy / Buy / Hold / Sell / Strong Sell) and granularity (by month). This clearly separates it from siblings like get_price_target, get_quote, or get_company_news without needing to open any schema.

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?

Usage is implied by the resource name — an agent would infer this is the tool for rating-distribution history — but there is no explicit when-to-use/when-not guidance and no named alternative (e.g. get_price_target for price targets versus this for rating counts). The time window ('last several months') is the only scoping signal.

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.