Skip to main content
Glama

Get research changes

get_changes

Retrieves the ordered research change journal for a company, subject, case or explicitly selected released corpus. Returns dated events, citations and available before/after values, separating author revisions, distribution changes and calculated publication outcomes. Use domain=author_view for investor-view changes and revision_only=true for authored revisions only; get_brief provides a current synthesis. Preserve publication, observation and availability clocks. Drain a requested window with unchanged selectors; its continuation cursor differs from the completed next-poll checkpoint. Coverage and resynchronization gaps remain explicit. Uses account allowance or prepaid credit.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "context": "<context>",
      "llm_model": "<llm_model>"
    },
    "name": "get_changes"
  }
}

Input Schema

NameRequiredDescriptionDefault
as_ofNo
limitNo
corpusNo
cursorNo
domainNo
resyncNo
tickerNo
contextYesUser's research goal in one short sentence (max 300 characters); include relevant ticker and topic. Exclude names, contact/account/portfolio details, credentials and source text.
belief_idNo
entity_idNo
llm_modelYesYour model identifier, if known (e.g. gpt-6); otherwise leave unknown. Exclude credentials and private deployment names.
person_idNo
source_idNo
checkpointNo
event_kindNo
changed_sinceNo
revision_onlyNo
conversation_idNoPass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior3/5

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

Adds real behavior beyond the annotations: it is billed ('Uses account allowance or prepaid credit'), it separates author revisions, distribution changes and calculated outcomes, and it warns that coverage and resynchronization gaps are explicit and that the window cursor differs from the next-poll checkpoint. With annotations already declaring non-read-only, non-idempotent, non-destructive behavior, this is useful but still leaves the return shape and the credit cost magnitude unexplained.

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-loads the purpose in the first sentence and packs selection rules immediately after, with no wasted framing. Some clauses are dense to the point of being cryptic ('Preserve publication, observation and availability clocks'), which slightly undercuts clarity.

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 an 18-parameter journal tool this covers purpose, billing, and the cursor model, and an output schema exists so return values need not be described. However, the semantics of resync, as_of, limit, and the many id-based selectors are absent from both schema and description, which is a meaningful gap for correct invocation.

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 only 17% across 18 parameters, so the description must carry weight. It clarifies three or four: domain (author_view), revision_only, corpus ('explicitly selected released corpus'), and the cursor/checkpoint distinction. The other fourteen (as_of, changed_since, resync, limit, ticker, entity_id, belief_id, person_id, source_id, event_kind) get no explanation, so significant compensation is still missing.

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 ('Retrieves the ordered research change journal') plus the scope it can be scoped by (company, subject, case, or explicitly selected released corpus). It also names the sibling it is not ('get_brief provides a current synthesis'), 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 Guidelines4/5

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

Gives concrete selection rules: domain=author_view for investor-view changes, revision_only=true for authored revisions only, and get_brief as the alternative for a current snapshot. It also advises draining a window 'with unchanged selectors'. It stops short of stating explicitly when *not* to use the tool (e.g. first-time retrieval vs. incremental polling).

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.