Skip to main content
Glama

visualize_schema_graph

Visualize Microsoft Graph schema as an interactive graph: search nodes, expand connections, and pivot by entity, permission, or role to inspect relationships and recent changes.

Instructions

Open the interactive Graph Atlas visualizer — a force-directed schema graph the user can search, expand node-by-node, and pivot across views. Pick the view that puts the pivot object in the right place for the question: "entity" for the Graph schema (nodes = entity types, colored by distance from the focus, with recent-change activity badges; edges = navigation properties/inheritance) — focus_object = an entity like "group". "permission" for a permission scope and the entities it touches plus the roles granting it — focus_object = a permission like "User.Invite.All". "role" for an Entra role, the permissions it grants, and the entities those touch — focus_object = a role like "User Administrator". Omit focus_object for an overview of the most consequential nodes. The user can continue exploring in the UI (expand_schema_node powers that); use schema_change_report for the same data without rendering.

Input Schema

NameRequiredDescriptionDefault
viewNoentity
sinceNoChange-activity window — ISO date or day count (e.g. "30"); defaults to 30 days ago
endpointNoOnly applies to view=entityv1.0
focus_objectNoFocus node — an entity type, permission name, or role name depending on view

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

A4.5/5.0
Behavior4/5

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

No annotations, so the description carries the burden, and it does disclose the key behavioral trait: this opens/renders a visual artifact for the user rather than returning structured data, and the user continues interactively in the UI. It also discloses what the visualization encodes (color by distance from focus, recent-change activity badges, edge semantics). It doesn't say what the tool returns to the agent itself or whether an existing session is reused, which keeps it from 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.

Conciseness4/5

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

Front-loaded with purpose, then organized view-by-view so an agent can scan to the relevant case. It is on the long side, but nearly every clause carries decision-relevant information (view semantics, examples, alternatives). The nested quoting makes it slightly dense but not padded.

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?

No output schema exists, yet the description covers the rendering behavior, all three view modes, the focus-object mapping, and the no-focus overview. The main remaining gap is what the tool hands back to the agent (URL, handle, or confirmation) versus the visual side, which matters for a UI-launching tool.

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 75%, and the description compensates for the gaps well: it explains the meaning of each view value and what focus_object should be per view (entity type, permission name, role name) with concrete examples, and clarifies the overview case when it is omitted. It adds nothing for 'since' or 'endpoint' (endpoint scoping is only in the schema description), so it earns a 4 rather than 5.

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 concrete verb and resource (open the interactive Graph Atlas visualizer) plus exactly what the artifact is: a force-directed schema graph with search, node expansion, and view pivots. Distinguishes itself from siblings explicitly (expand_schema_node for in-UI expansion, schema_change_report for the same data unrendered), so an agent can separate it from the string of get_* and search_* tools.

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 per-view selection criteria with worked examples ('entity' for Graph schema nodes like "group"; 'permission' for a scope like "User.Invite.All"; 'role' for a role like "User Administrator") and states the omission case (omit focus_object for an overview). It also names alternatives: continue exploring via expand_schema_node, use schema_change_report for the same data without rendering.

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