Skip to main content
Glama

Data Parrot AI Revenue Analyst for HubSpot

Get Sales Forecast

get_forecast
Read-onlyIdempotent

Answer sales forecast questions for a week, month, or quarter using forecast summaries, open pipeline, and won actuals. Use it for forecast reviews and team or rep comparisons. Use get_deals for individual deals behind the totals. Won actuals follow pipeline, owner, and close-date scope; open-stage filters apply only to open pipeline.

Input Schema

NameRequiredDescriptionDefault
group_byNomonth
team_idsNoExclusive selector: non-empty exact team IDs, expanded to active owners. Use instead of owner_scope or owner_ids.
owner_idsNoExclusive selector: non-empty exact IDs from the owners catalog. Use instead of owner_scope or team_ids.
date_rangeYesRequired explicit forecast period.
owner_scopeNoExclusive selector: all owners or current authenticated user. Omitting all three owner selectors defaults to all workspace owners.
pipeline_stagesNo

Output Schema

NameRequiredDescriptionDefault
dataYes
kindYes
toolYes
summaryYes
result_idNo
limitationsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / owner_ids / description
      Previous value: -"Exclusive selector: exact IDs from the owners catalog."New value: +"Exclusive selector: non-empty exact IDs from the owners catalog. Use instead of owner_scope or team_ids."
    • changedInput schema / properties / owner_scope / description
      Previous value: -"Exclusive selector: all owners or current authenticated user."New value: +"Exclusive selector: all owners or current authenticated user. Omitting all three owner selectors defaults to all workspace owners."
    • changedInput schema / properties / team_ids / description
      Previous value: -"Exclusive selector: exact team IDs, expanded to active owners."New value: +"Exclusive selector: non-empty exact team IDs, expanded to active owners. Use instead of owner_scope or owner_ids."
  2. Changed6 schema fields changed
    • removedInput schema / properties / forecast_status
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "items": {
      -        "type": "string"
      -      },
      -      "minItems": 1,
      -      "type": "array"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • addedInput schema / properties / group_by
      Added value: +{
      +  "default": "month",
      +  "enum": [
      +    "week",
      +    "month",
      +    "quarter"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / page
      Removed value: -{
      -  "default": 1,
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • removedInput schema / properties / page_size
      Removed value: -{
      -  "default": 25,
      -  "maximum": 100,
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • removedOutput schema / properties / data / properties / pagination
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "has_more": {
      -      "type": "boolean"
      -    },
      -    "page": {
      -      "minimum": 1,
      -      "type": "integer"
      -    },
      -    "page_size": {
      -      "minimum": 1,
      -      "type": "integer"
      -    }
      -  },
      -  "required": [
      -    "page",
      -    "page_size",
      -    "has_more"
      -  ],
      -  "type": "object"
      -}
    • changedOutput schema / properties / data / required
      Previous value: -[
      -  "mode",
      -  "rows",
      -  "columns",
      -  "pagination"
      -]New value: +[
      +  "mode",
      +  "rows",
      +  "columns"
      +]
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered by structured data. The description adds genuinely non-obvious behavior: won actuals follow pipeline, owner, and close-date scope while open-stage filters apply only to open pipeline — an asymmetry an agent could not guess. It stops short of describing result shape or pagination, though an output schema exists to carry that.

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?

Four sentences, roughly 50 words, front-loaded with purpose before usage, alternative, and scoping caveat — a sensible ordering. The final sentence is dense and slightly cryptic out of context, but every clause carries real information, so nothing is padding.

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 six-parameter nested tool with an output schema, the description covers purpose, routing, and the main scoping trap. Remaining gaps — the undocumented pipeline_stages shape and return-value expectations — are partly carried by the output schema, so the definition is adequate for correct invocation.

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 67% and the schema already documents the exclusive owner selectors; the description adds meaning where the schema is silent, notably how pipeline_stages filters only bite on open pipeline and how owner scope interacts with won actuals. It reinforces group_by granularity (week/month/quarter) without restating the enum.

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 and resource — answer sales forecast questions — and names the three inputs that make up the answer (forecast summaries, open pipeline, won actuals). It also distinguishes itself from get_deals in the same breath, so an agent can route between them 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?

Gives concrete use cases (forecast reviews, team or rep comparisons) and names the explicit alternative, get_deals, for individual deal detail behind the totals. The condition that selects the sibling is clear rather than left to inference.

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.

Resources