Skip to main content
Glama
WYRE-AI

cipp-mcp

by WYRE-AI

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNoerror, warn, info (default), or debug
CIPP_API_KEYNoStatic Bearer token (use this OR the OAuth trio)
CIPP_BASE_URLNoYour CIPP deployment URL (e.g. https://cipp.yourdomain.com)
MCP_HTTP_PORTNoPort for HTTP mode (default: 8080)
MCP_TRANSPORTNostdio (default) or http
CIPP_CLIENT_IDNoOAuth client ID issued by CIPP's API Client Management page
CIPP_TENANT_IDNoEntra tenant ID that owns the CIPP API-client app registration
CIPP_TOKEN_URLNoOverride OAuth token endpoint (sovereign clouds only)
CIPP_TOKEN_SCOPENoOverride OAuth scope (default: <clientId>/.default)
CIPP_CLIENT_SECRETNoOAuth client secret paired with CIPP_CLIENT_ID

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
cipp_list_tenantsB

List all tenants managed in CIPP

cipp_get_tenant_detailsC

Get detailed information about a specific tenant

cipp_list_usersC

List users in a tenant

cipp_create_userA

⚠ HIGH-IMPACT. Creates a new user account in the tenant, which grants directory presence and may include initial credentials and license/role eligibility. Reversible by deleting or disabling the user. Confirm with the user before invoking.

cipp_edit_userA

⚠ HIGH-IMPACT. Edits an existing user's properties, which can include directory attributes, usage location, and may grant or revoke roles or license eligibility. Reversible by editing again. Confirm with the user before invoking.

cipp_disable_userA

⚠ HIGH-IMPACT. Disables a user account, blocking sign-in. Reversible by re-enabling the account. Confirm with the user before invoking.

cipp_reset_passwordA

⚠ HIGH-IMPACT. Resets a user's password, invalidating their current password. Reversible by setting a new password. Confirm with the user before invoking.

cipp_reset_mfaA

⚠ HIGH-IMPACT. Resets all MFA methods for a user, requiring them to re-register their authentication methods. Reversible by re-enabling MFA. Confirm with the user before invoking.

cipp_revoke_sessionsA

⚠ HIGH-IMPACT. Revokes all active sessions for a user, forcing them to re-authenticate. Reversible by the user signing in again. Confirm with the user before invoking.

cipp_offboard_userA

⚠ DESTRUCTIVE — IRREVERSIBLE. Queues CIPP's offboarding job for a user. Every action is opt-in: at least one must be enabled or the call is rejected. Returns once the job is QUEUED — CIPP reports success on task creation, not completion, so confirm the outcome in CIPP's Offboarding view before reporting the account as offboarded. Confirm with the user before invoking.

cipp_bec_checkB

Run a Business Email Compromise check on a user

cipp_list_mfa_usersB

List users and their MFA status in a tenant

cipp_list_user_devicesB

List devices enrolled by a user

cipp_list_user_groupsC

List groups a user is a member of

cipp_list_groupsC

List groups in a tenant

cipp_create_groupA

⚠ HIGH-IMPACT. Creates a new group in the tenant, which can be used for security policy assignments (RBAC, Conditional Access) or mail distribution. Reversible by deleting the group. Confirm with the user before invoking.

cipp_list_mailboxesC

List mailboxes in a tenant

cipp_list_mailbox_permissionsB

List permissions on a specific mailbox

cipp_list_mailbox_usageA

Report mailbox and online-archive sizes across a tenant, largest first, with tenant-wide totals. Each mailbox reports bytes used, a human-readable size, item count, quota and percent-of-quota, for both the primary store and the archive. Answers 'who is near quota', 'which mailboxes need archiving', and 'how much Exchange storage does this tenant use'. Sizes come from CIPP's reporting database, which must have been synced — the live Exchange query carries no size data at all. For one mailbox, or when the cache is unavailable, use cipp_get_mailbox_usage.

cipp_get_mailbox_usageA

Report the primary mailbox size and online-archive size for a single mailbox, with item counts, quotas and percent-of-quota. Reads live from Exchange, so unlike cipp_list_mailbox_usage it needs no CIPP report-cache sync and still returns real sizes for a tenant that conceals names in its Microsoft 365 usage reports.

cipp_set_out_of_officeA

⚠ HIGH-IMPACT. Configures the out-of-office / auto-reply for a mailbox, which causes automated messages to be sent to internal and/or external senders. Reversible by disabling the auto-reply. Confirm with the user before invoking.

cipp_set_email_forwardingA

⚠ HIGH-IMPACT. Configures email forwarding on a mailbox, silently redirecting the user's incoming mail to another address. This is a common data-exfiltration vector. Reversible by removing the forwarding rule. Confirm with the user before invoking.

cipp_list_conditional_access_policiesB

List Conditional Access policies for a tenant

cipp_list_named_locationsA

List named locations (trusted IPs) for a tenant

cipp_list_enterprise_appsA

List enterprise applications (service principals) in a tenant — including third-party SaaS apps that customers have integrated via OAuth (Slack, Salesforce, Zoom, etc.). Returns appId, displayName, publisher, owner-org, signInAudience, tags, and creation date. Use tenantFilter='allTenants' for cross-tenant fan-out — CIPP handles per-tenant errors inline, so a 403 from one opt-out tenant returns as an error row rather than failing the call. Excludes Microsoft-built-in apps by default (owner org f8cdef31-…); pass includeBuiltIn=true to include them.

cipp_list_standardsB

List compliance standards configured for a tenant

cipp_run_standards_checkC

Trigger a standards compliance check for a tenant

cipp_list_standard_templatesA

List the CIPP Standards Templates configured across the partner tenant.

cipp_get_tenant_driftA

Report standards drift — settings that deviate from a tenant's assigned Standards Template. Omit tenantFilter to report drift across all tenants.

cipp_get_tenant_alignmentA

Report each tenant's alignment percentage against its assigned Standards Templates — the key signal for deciding which standards are safe to promote to Remediate. Omit tenantFilter to report on all tenants.

cipp_create_standard_templateA

⚠ HIGH-IMPACT. Creates or updates a CIPP Standards Template (upsert by GUID). A template assigned to tenants with any Remediate-action standard WILL modify those tenants on the next standards run. Confirm with the user before invoking.

cipp_delete_standard_templateA

⚠ HIGH-IMPACT. Permanently deletes a CIPP Standards Template by ID. Tenants assigned to it lose the standards it enforced. Confirm with the user before invoking.

cipp_list_bpaC

Get Best Practice Analyser results for a tenant

cipp_list_domain_healthB

Check domain health (DMARC, DKIM, SPF) for a tenant

cipp_list_licensesB

List license assignments and usage for a tenant

cipp_list_csp_licensesB

List all CSP licenses across tenants

cipp_list_audit_logsC

List audit log entries for a tenant

cipp_list_alert_queueA

List queued alerts across all tenants

cipp_list_gdap_rolesB

List available GDAP (Granular Delegated Admin Privileges) roles

cipp_list_gdap_invitesA

List pending GDAP relationship invites

cipp_list_scheduled_itemsC

List scheduled tasks in CIPP

cipp_add_scheduled_itemC

Create a new scheduled task

cipp_pingA

Check CIPP API connectivity

cipp_get_versionA

Get CIPP version information

cipp_list_logsC

List CIPP application logs

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 45 tools

Disambiguation4/5

Most tools follow a clear resource/action mapping, so list_tenants, create_user, reset_mfa, and get_tenant_drift are easy to tell apart. A few pairs require reading the descriptions to distinguish—notably list_mailbox_usage vs get_mailbox_usage, list_groups vs list_user_groups, and the standards/alignment/drift cluster—but the descriptions resolve the ambiguity.

Naming Consistency4/5

The cipp_ prefix plus lowercase snake_case verbs is consistent throughout, and most names use a verb_noun pattern. Minor deviations such as cipp_bec_check instead of cipp_run_bec_check and cipp_add_scheduled_item alongside cipp_create_group prevent a perfect score.

Tool Count2/5

45 tools is well above the 25+ threshold that makes a tool set heavy to navigate. The broad Microsoft 365/CIPP domain justifies some size, but the count will still burden an agent's selection and context window.

Completeness3/5

The surface covers many important CIPP workflows: user lifecycle, mailbox diagnostics, standards/BPA, security checks, licensing, and tenant details. However, there are notable gaps such as no group deletion/member management, no delete or edit for scheduled items, no GDAP invite creation, and no mailbox permission changes, which agents cannot work around without leaving the server.

Maintenance

ActivityActive
ResponsivenessResponsive