Skip to main content
Glama

Yellowhead Digital agent door

Get Portfolio changes

get_portfolio_changes
Read-onlyIdempotent

Lists the client workspaces whose MIDAS score moved since a date (default: the last 30 days), largest move first. A client appears when its most recent scored Diagnostic is on or after that date and its MIDAS changed, against the scored Diagnostic before it, by more than the usual run-to-run variation; smaller moves are left out, because scores for an unchanged site can move a little between runs. Each item has the client_id and client name, the previous and current MIDAS and the change, both report_ids with their dates for citing (report_id, previous_report_id and previous_report_date are null when that pair cannot be confirmed in this account), and the open items of critical or high priority (only work the account owes: items from Diagnostics classified as a competitor, research or a prospect are not counted). direction narrows the list to declines or improvements; client_id narrows it to one client. An empty list means no client moved by more than that in the window, not that nothing changed. truncated is true when more clients moved by more than that in the window than one call examines (the most recent are examined), so the list may be incomplete. Archived workspaces are not included. Included with team accounts on the Agency plans, Business Enterprise and custom plans. Fits "which of my clients got worse this month" and "who improved since our last review".

Input Schema

NameRequiredDescriptionDefault
limitNoPage size (default 10, max 25).
sinceNoStart of the window: a date (YYYY-MM-DD, read as midnight UTC) or an RFC 3339 date-time. Default: 30 days ago.
cursorNoOpaque pagination cursor (next_cursor) from a previous response.
client_idNoOne client workspace only.
directionNodeclined, improved, or any (default).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare read-only/idempotent/non-destructive; the description goes far beyond them by disclosing the noise threshold that suppresses small moves, that null report fields mean a pair could not be confirmed in the account, that competitor/research/prospect Diagnostics are excluded from open-item counts, and that archived workspaces and out-of-plan accounts are omitted. The empty-list and truncated caveats ('not that nothing changed', 'the list may be incomplete') are exactly the failure modes an agent would otherwise misreport.

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?

Front-loaded with purpose and ordering, and dense with substantive detail. It is a single long block paragraph that repeats the threshold idea twice ('more than the usual run-to-run variation' and later 'more than that in the window'), which costs some readability on a description this long.

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

Completeness5/5

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

With no output schema, the description carries the return-value burden and does so fully: item fields (client_id, name, previous/current MIDAS, change, both report_ids with dates, critical/high open items), pagination signaling via truncated plus cursor, and plan eligibility. Nothing material is missing for correct invocation or interpretation.

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, but the description adds real meaning: 'since' is tied to the client's most recent scored Diagnostic rather than being a raw filter, and 'direction' is described as narrowing to declines or improvements. limit and cursor are left to the schema, which is acceptable given their self-explanatory descriptions.

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 a specific verb and resource ('Lists the client workspaces whose MIDAS score moved since a date'), plus ordering ('largest move first'). This clearly separates it from list_portfolio (roster) and from list_diagnostics/get_diagnostic (single-report retrieval).

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?

Gives concrete use cases ('which of my clients got worse this month', 'who improved since our last review') and explains how direction and client_id narrow results. It never explicitly names list_portfolio as the alternative for a plain roster, so routing is inferred rather than stated.

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