Skip to main content
Glama

get_object_history

Retrieve the full change history for a Microsoft Graph object type, oldest to newest, to see what has happened to a specific object over time.

Instructions

Full change history for a specific Graph object type, oldest to newest — "what has happened to X over time?"

Input Schema

NameRequiredDescriptionDefault
sinceNoISO date (YYYY-MM-DD)
endpointNo
object_nameYese.g. group, application, accessPackage, conditionalAccessPolicy

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2026.10.23
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observedv0.1.0

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries full behavioral burden. It does add the 'oldest to newest' ordering, but says nothing about whether results are truncated, whether 'since' limits the window or the word 'Full' conflicts with it, or what the response looks like. A mutation-history read tool needs more than one ordering clause.

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?

A single front-loaded sentence plus a clarifying gloss, with no filler. Every phrase (full, specific object type, oldest to newest) contributes.

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

Completeness2/5

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

No output schema and no annotations, so the description had to explain scope, result size, and the effect of 'since'/'endpoint'. It leaves the return shape and the interaction between 'Full' and 'since' unresolved, which is a real gap for a 3-parameter history tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is a middling 67% and the description mentions no parameters. It never explains what 'object_name' identifies at the type-vs-instance level or what 'since' and 'endpoint' do, leaving the description to add zero meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

It states a specific verb and resource (full change history for a Graph object type) plus an ordering guarantee and a plain-language gloss. It does not name or contrast with the obvious siblings (get_recent_changes, get_node_timeline, search_changes), so an agent must infer the split.

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

Usage Guidelines3/5

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

Usage is only implied through the quoted question 'what has happened to X over time?', which suggests investigating a single object type's past. There is no explicit when-to-use, when-not-to-use, or routing to get_recent_changes / search_changes / get_change_detail.

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