Skip to main content
Glama
danielbres

massive-mcp

by danielbres

get_top_movers

Retrieve top US stock gainers or losers for the current trading day. Specify direction to get either gainers or losers.

Instructions

Top US stock gainers or losers for the current trading day.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
directionYes"gainers" or "losers".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The tool handler function that fetches top gainers/losers by calling the API endpoint /v2/snapshot/locale/us/markets/stocks/{direction}
    @mcp.tool()
    async def get_top_movers(direction: Literal["gainers", "losers"]) -> dict[str, Any]:
        """Top US stock gainers or losers for the current trading day.
    
        Args:
            direction: "gainers" or "losers".
        """
        return await client.get(f"/v2/snapshot/locale/us/markets/stocks/{direction}")
  • Input schema: direction is Literal["gainers", "losers"]; returns dict[str, Any]
    async def get_top_movers(direction: Literal["gainers", "losers"]) -> dict[str, Any]:
  • Registration: server.py calls snapshots.register(mcp, client) which registers get_top_movers via @mcp.tool() decorator
    for module in (
        aggregates,
        quotes,
        snapshots,
        tickers,
        news,
        reference,
        indicators,
        corporate,
        financials,
    ):
        module.register(mcp, client)
  • Uses MassiveClient from the client module as the helper to make API calls
    from ..client import MassiveClient
    
    
    def register(mcp: FastMCP, client: MassiveClient) -> None:
Behavior2/5

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

With no annotations, the description carries full burden but only restates the purpose. It does not disclose behavioral traits such as data freshness, number of results, or whether after-hours data is included.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that is front-loaded and contains no redundant information. It efficiently conveys the core functionality.

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

Completeness3/5

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

For a simple tool with one enum parameter and an output schema, the description is adequate but lacks expected details like the number of movers returned or time range. The output schema may compensate, but the description itself is minimal.

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?

The input schema has 100% coverage with an enum description. The tool description adds no new meaning beyond the schema, so baseline score of 3 is appropriate.

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 clearly specifies the tool retrieves top US stock gainers or losers for the current trading day. The verb 'get' is implied, and the resource ('top movers') is distinct from siblings like get_snapshot or get_quotes.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., get_aggregates or get_snapshot). The description lacks explicit use cases or exclusions.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danielbres/Massive-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server