Skip to main content
Glama
nelladath

EndpointRead-MCP

by nelladath

manage_tenant_admin

Perform tenant administration tasks: retrieve org info, check service health, manage directory roles, subscriptions, and terms of use.

Instructions

Tenant administration — org info, service health, directory roles, subscriptions, terms of use.

action values: get_org_info — Get organization/tenant information get_domains — List tenant domains get_service_health — M365 service health status overview get_service_issues — Current/recent service issues get_message_center — Message center posts/advisories get_planned_maintenance — Planned maintenance events list_directory_roles — List active directory roles get_role_members — List members of a directory role (role_id) get_global_admins — List Global Administrator members assign_directory_role — Assign directory role to user/group (role_id, body) remove_directory_role_member — Remove member from role (role_id, member_id, confirm=True) get_subscriptions — List subscribed license SKUs get_security_defaults — Check security defaults status list_terms_of_use — List Terms of Use agreements create_terms_of_use — Create a Terms of Use agreement (body) get_cross_tenant_policy — Get cross-tenant access (B2B) policy

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topNo
bodyNo
actionYes
confirmNo
role_idNo
member_idNo
agreement_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and it mostly lists one-line action summaries without revealing consequences. It does hint at safety semantics for 'remove_directory_role_member — Remove member from role (role_id, member_id, confirm=True)', implying confirmation is needed, but it never states whether writes are destructive, reversible, permission-gated, or what side effects occur. Read vs. write actions are identifiable only through verbs (get/list vs. assign/remove/create), not explicit disclosure.

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 long (16 lines) but every line earns its place by naming a distinct action with a terse, scannable format. The front-loaded overview sentence orients the reader, and the bulleted action list is well-structured for an agent to parse. It is arguably the minimum viable length for a dispatcher with this many operations, though it could be tightened with grouped headers (e.g., 'Read actions' vs. 'Write actions').

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?

Despite having an output schema, the tool has zero schema parameter descriptions, no annotations, and 16 actions, placing a heavy burden on the description. The description omits critical context such as which actions are read-only versus mutating (beyond verb inference), required permissions, what top controls, what body should contain, and what agreement_id refers to. It also makes no cross-references to sibling tools where overlapping functionality (e.g., directory roles vs. manage_entra_users) might cause confusion.

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 0%, so the description must compensate, and it partially does by mapping parameters to actions: role_id appears in get_role_members and assign_directory_role, member_id/confirm in remove_directory_role_member, and body in assign_directory_role and create_terms_of_use. However, top, body, and agreement_id remain unexplained in general, and the description does not clarify formats, defaults, or constraints for these parameters. This is meaningful but incomplete compensation for a schema with zero descriptions.

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?

The description clearly identifies the tool as 'Tenant administration' covering org info, service health, directory roles, subscriptions, and terms of use, with 16 distinct action values each containing a specific verb+resource (e.g., 'list_directory_roles', 'assign_directory_role'). This distinguishes it from sibling tools like manage_entra_users or manage_entra_groups by focusing on tenant-wide administrative domains. However, the top-level phrasing 'Tenant administration' is somewhat broad, and the full scope only emerges from reading the action list.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to choose this tool over alternatives, no exclusions, and no references to sibling tools. Usage context must be inferred from the action names and the high-level phrase 'Tenant administration' — e.g., an agent must guess that directory role management belongs here rather than in manage_entra_users or manage_entra_groups. This absence of when/when-not guidance is a clear gap for a 16-action dispatcher.

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/nelladath/EndpointRead-MCP'

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