Skip to main content
Glama
nathanmcnulty

mcp-entrascopes

Search Entra applications and scopes

search_entra_applications
Read-onlyIdempotent

Search Microsoft first-party applications by name, ID, scope, resource, FOCI, or public-client status to retrieve published permission metadata. This excludes tenant consent state.

Instructions

Search Microsoft first-party applications by app name/ID, published scope, resource name/ID, FOCI status, or public-client status. This is not tenant consent state.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fociNoFilter family-of-client-IDs applications.
limitNo
queryNoPartial application name or app ID.
scopeNoOAuth scope name to match.
resourceNoPartial resource display name or resource app ID.
scope_matchNoexact
public_clientNoFilter public client applications.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by limiting the search to 'Microsoft first-party applications' and explicitly stating it is not tenant consent state, which prevents misuse. It does not mention rate limits, pagination, or result-set behavior, but given the strong annotation coverage, the added context justifies a 4.

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?

The description is two sentences: the first front-loads the verb and resource with an efficient list of filter dimensions; the second adds a crucial distinction without fluff. Every sentence earns its place, and there is zero redundancy.

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?

For a search tool with 7 optional parameters and no output schema, the description clearly states the search scope and a key exclusion, which is the core information an agent needs. It does not explicitly describe the return format (list of applications) or how filters combine (AND vs OR), but the tool's name and sibling context imply a list result. The omission of result semantics and filter combination logic keeps it from a 5.

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 coverage is 71%, and the description maps the search dimensions to most parameters (query, scope, resource, foci, public_client), reinforcing their purpose. However, it adds little beyond the schema's own parameter descriptions, and it does not clarify the 'limit' parameter or the meaning of 'scope_match' (exact vs contains). The description partially compensates but leaves gaps.

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 opens with a specific verb ('Search') and resource (Microsoft first-party applications), then enumerates the search dimensions: app name/ID, published scope, resource name/ID, FOCI status, and public-client status. The closing sentence ('This is not tenant consent state') distinguishes the tool from what it does not do, making it easy to differentiate from the sibling get_entrascapes_data_status.

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

Usage Guidelines4/5

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

The description clearly states what the tool searches and lists the filter dimensions, giving an agent a solid sense of when to invoke it. It also calls out a critical exclusion ('This is not tenant consent state'), but it does not explicitly name sibling tools or say 'use get_entra_application instead when you need a specific app's details.' This is clear context but lacks explicit alternative routing.

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