Skip to main content
Glama
darrenjrobinson

entrapulse-polyarchy

EntraPulse Polyarchy

visualize-identity

Visualize Microsoft Entra ID identity relationships through an interactive graph mapping org hierarchy, groups, shared attributes, roles, and app assignments.

Instructions

Open the interactive Identity Polyarchy — a live relationship graph over Microsoft Entra ID (org hierarchy, groups, shared attributes, roles and app assignments). Call when the user asks to visualize, explore or map identity relationships, or says "open the polyarchy" / "show me the polyarchy around ". With no arguments it opens focused on the signed-in user (delegated modes only — in app-only mode pass search or userId). If search matches several people the tool returns the candidates instead of opening — ask the user which one they mean and call again with that userId (or use polyarchy-search first for names you suspect are common). Once opened the UI is interactive; no further action is needed unless the user asks for something new.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
searchNoName or UPN to find and focus
userIdNoExact Entra object id to focus
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses several important behaviors: no-argument behavior (signed-in user in delegated mode), mode requirements (app-only needs search or userId), and the disambiguation behavior when search matches multiple people (returns candidates instead of opening). It also sets expectations that no further action is needed after opening. While it doesn't cover error cases like invalid userId, the described behaviors go well beyond a generic 'opens a visualization' statement.

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?

The description is a single paragraph of about 100 words, front-loaded with the primary purpose and trigger phrase. Each sentence adds necessary detail: use cases, mode constraints, disambiguation, and post-open behavior. It is slightly longer than ideal but remains efficient given the tool's complexity. Structuring as bullets could improve readability but is not required.

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?

Given the absence of annotations and output schema, the description covers the essential context: what the tool does, how to invoke it (with/without args), mode requirements, ambiguous search behavior, and follow-up expectations. It could mention what happens when a supplied userId does not exist, but for a UI-opening tool, the provided context is sufficiently complete for an agent to decide when and how to call it.

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 description coverage is 100%, providing baseline meaning for both parameters. The description adds significant semantic context beyond the schema by explaining the no-argument case, when each parameter is appropriate (delegated vs app-only), and how ambiguous search results are handled. This helps the agent understand the practical usage of the parameters, not just their literal meaning.

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?

The description clearly states the tool's purpose with a specific verb and resource: 'Open the interactive Identity Polyarchy — a live relationship graph over Microsoft Entra ID'. It also distinguishes itself from siblings by noting that it opens the visualization, while polyarchy-search is for finding names and polyarchy-expand/report handle other actions. The trigger phrases ('open the polyarchy', 'show me the polyarchy around <name>') further clarify scope.

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?

The description provides explicit when-to-use guidance: 'Call when the user asks to visualize, explore or map identity relationships'. It also gives concrete alternatives: 'use polyarchy-search first for names you suspect are common' and explains when to pass search vs userId. The delegated vs app-only mode distinction offers clear contextual prerequisites.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/darrenjrobinson/entrapulse-polyarchy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server