Skip to main content
Glama

Price an identity pull

identity_estimate
Read-only

What identity_expand would cost before it runs, read from the price list and what the graph holds, never a vendor: estimateUsd, capUsd (the most it can spend at these settings), and for posts what the range already holds (alreadyHeld, coveredFrom, coveredTo) so only the gaps are paid for, its cadenceHours and nextRefreshAt, and sources: the vendor the pull asks first and every fallback behind it, each with its unit price and whether it reaches the range; for creators the priced steps. Engine USD: a paid plan is charged 3x, the free plan 1x. Free. Needs the read scope.

Input Schema

NameRequiredDescriptionDefault
nodeYesA node id: person:<uuid>, account:<uuid>, organization:<uuid> or asset:<platform>:<postId>. identity_search finds one; a resolve's anchor is one.
forceNoPull even when fresh (profiles for a day, posts by the account's own posting rhythm, sponsors, ads, creators and labels for a week), and the whole posts range rather than only the unread gaps.
sinceNoposts only: oldest publish day, YYYY-MM-DD (default now minus sinceMonths).
untilNoposts only: newest publish day, YYYY-MM-DD (default now).
maxItemsNoposts only: the most posts one pull lands, 25 to 1000, default 300.
budgetUsdNoThe budget the pull would run with, 0.01 to 2.
expansionYesprofile: an account's profile, a person's accounts' profiles, an organization's site, accounts and logo. posts: an account's posts with metrics (since/until/sinceMonths/maxItems apply). sponsors: brands that paid an account. ads: an organization's ads from the ad libraries. creators: an organization's creators (paid, partners, and the ones its accounts feature), cheapest evidence first. metrics: a fresh snapshot of one post (asset). labels: what a person or organization is (category, niches), read by a model; also what identity_similar ranks by.
sinceMonthsNoposts only: 1 to 36 months back, default 12.

Output Schema

NameRequiredDescriptionDefault
nodeYes
noteYes
capUsdYes
vendorNo
sourcesNo
coveredToNo
expansionYes
alreadyHeldNo
coveredFromNo
estimateUsdYes
reachesRangeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / sources
      Added value: +{
      +  "items": {
      +    "additionalProperties": true,
      +    "properties": {
      +      "endpoint": {
      +        "type": "string"
      +      },
      +      "perUnitUsd": {
      +        "type": "number"
      +      },
      +      "reachNote": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "reachesRange": {
      +        "type": "boolean"
      +      },
      +      "unit": {
      +        "type": "string"
      +      },
      +      "vendor": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "vendor",
      +      "endpoint",
      +      "unit",
      +      "perUnitUsd",
      +      "reachesRange"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / expansion / description
      Previous value: -"profile: an account's profile, a person's accounts' profiles, an organization's site, accounts and logo. posts: an account's posts with metrics (since/until/sinceMonths/maxItems apply). sponsors: brands that paid an account. ads: an organization's ads from the ad libraries. creators: every creator an organization paid. metrics: a fresh snapshot of one post (asset). labels: what a person or organization is (category, niches), read by a model; also what identity_similar ranks by."New value: +"profile: an account's profile, a person's accounts' profiles, an organization's site, accounts and logo. posts: an account's posts with metrics (since/until/sinceMonths/maxItems apply). sponsors: brands that paid an account. ads: an organization's ads from the ad libraries. creators: an organization's creators (paid, partners, and the ones its accounts feature), cheapest evidence first. metrics: a fresh snapshot of one post (asset). labels: what a person or organization is (category, niches), read by a model; also what identity_similar ranks by."
    • changedInput schema / properties / force / description
      Previous value: -"Pull even when fresh (profiles and posts are fresh for a day, sponsors, ads, creators and labels for a week), and the whole posts range rather than only the unread gaps."New value: +"Pull even when fresh (profiles for a day, posts by the account's own posting rhythm, sponsors, ads, creators and labels for a week), and the whole posts range rather than only the unread gaps."
  3. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), yet the description still adds real behavior: the call is free, it requires the read scope, and paid plans are billed at 3x versus 1x on the free plan. It also explains that already-held coverage means only gaps are paid for, which is genuinely non-obvious. No rate limits or cache lifetimes are mentioned, keeping it off 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.

Conciseness3/5

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

Purpose is front-loaded, but the body is a single comma-spliced run-on that stacks five output concepts and a pricing multiplier into one sentence. Every clause is substantive, yet the lack of separation makes it slow to parse.

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?

With an output schema present, return values did not need spelling out, but the description covers them anyway and adds the auth requirement plus the pricing multiplier. For an 8-parameter estimator with a sibling dependency, that is sufficient to call it correctly.

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%, so the baseline is 3. The description nevertheless adds interpretation: capUsd is 'the most it can spend at these settings', which ties budgetUsd to the returned cap, and it flags that posts estimates report coveredFrom/coveredTo so the agent understands range versus gaps. It does not walk the remaining parameters (force, sinceMonths, maxItems) beyond what the schema already says.

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?

Opens with the exact role: it prices what identity_expand would cost before it runs, which separates it cleanly from the sibling it estimates for. The noun set (estimateUsd, capUsd, alreadyHeld, sources) makes clear it is a read-only estimator rather than a puller.

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

Usage Guidelines4/5

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

The phrase 'before it runs' tells the agent this is the pre-flight step for identity_expand, and 'Free' removes any cost hesitation about calling it. It never states when not to bother (e.g. if a recent estimate exists) or names any other alternative, so it falls short of a full when/when-not treatment.

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.