entrapulse-polyarchy
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLIENT_ID | No | Your own app registration client ID for interactive or app-only authentication. | |
| TENANT_ID | No | Your tenant ID (GUID) to pin sign-in to a specific tenant or for app-only/own app registration. | |
| ACCESS_TOKEN | No | Optional bearer token for client-provided token mode (overridden by set-access-token tool). | |
| CLIENT_SECRET | No | Client secret for app-only authentication (requires TENANT_ID and CLIENT_ID). | |
| USE_DEVICE_CODE | No | Set to 'true' to use device code authentication (headless/SSH). | |
| USE_CLIENT_TOKEN | No | Set to 'true' to use a client-provided token (via set-access-token tool). | |
| POLYARCHY_AUTH_RECORD | No | Path to the persisted sign-in record file (default ~/.entrapulse-polyarchy/auth-record.json). | |
| POLYARCHY_DISABLE_TOKEN_CACHE | No | Set to 'true' to disable OS keychain token persistence. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| visualize-identityA | 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. |
| polyarchy-expandA | Fetch one node's relationships from Microsoft Graph as a nodes/edges delta. Dimensions for a user node: org (manager chain + direct reports), groups (memberships), access (directory roles + app assignments), attributes (pivot hub for attr). For nodeType group/role, returns members. For nodeType attribute pass attr+value to load the whole cohort. The delta is returned to the caller only — it does not update an open polyarchy canvas (the UI fetches its own data when the user interacts with it). |
| polyarchy-searchA | Search Entra ID users by name or UPN (top 15 matches with core attributes). |
| polyarchy-reportA | Structured JSON report of one user's identity relationships — no UI needed, works headless. Dimensions: org (full manager chain to the root + direct reports), groups (direct memberships with group type — Security / Microsoft 365 / Distribution list / Mail-enabled security — and assigned vs dynamic membership), roles (directory roles), applications (app assignments), attributes (core profile values), or all (default). Use when the user wants analysis, a summary or the underlying data — after exploring the polyarchy visually, or instead of opening it. With no person argument it reports on the signed-in user (delegated modes only). Ambiguous names return candidates — re-call with userId. |
| get-photoA | Photo for a user as a data: URI (48x48), or null. |
| get-managerB | A user's manager (core attributes), or null at the top of the chain. |
| set-access-tokenA | Provide/refresh a Microsoft Graph bearer token when the server runs with USE_CLIENT_TOKEN=true (e.g. EntraPulse passing its own token for seamless SSO). expiresOn is ISO 8601; defaults to the token's exp claim or 1 hour. |
| get-auth-statusA | Current auth mode, signed-in account, client app id, decoded token scopes/roles, and token expiry (expiresOn + tokenExpiresInMinutes; renewal is silent) — use to diagnose 401/403s and missing consent. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| open-polyarchy | Open the interactive Entra ID identity relationship visualization |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| polyarchy-app | Interactive Entra ID identity relationship graph |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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