Skip to content
Back to skills

Ops

ASecurity

Use this skill when working with CIPP operational tooling — GDAP role and invite management, scheduled tasks, server health checks, version reporting, and CIPP application logs. Covers the meta-layer: keeping CIPP itself healthy and properly delegated to managed tenants.

  • 48 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 27, 2026
data-aigitapifrontendbackend

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add wyre-technology/msp-claude-plugins --skill ops --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ops?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ops
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wyre-technology-ops/badge)](https://www.skillsdirectory.com/skills/wyre-technology-ops)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "cipp-ops"
description: "Use this skill when working with CIPP operational tooling — GDAP role and invite management, scheduled tasks, server health checks, version reporting, and CIPP application logs. Covers the meta-layer: keeping CIPP itself healthy and properly delegated to managed tenants."
when_to_use: "When checking GDAP delegation status, managing scheduled CIPP tasks, verifying CIPP server health, or reading CIPP application logs"
triggers:
  - gdap
  - granular delegated admin
  - delegated admin
  - cipp scheduled
  - schedule task cipp
  - cipp ping
  - cipp version
  - cipp logs
  - cipp health
---

# CIPP Operations

The meta-layer — tools for managing CIPP itself rather than the tenants it manages. GDAP for the delegation chain, scheduler for recurring jobs, and health/version/log endpoints for verifying CIPP is reachable and functioning.

## GDAP

### `cipp_list_gdap_roles`

```
cipp_list_gdap_roles()
```

Returns the GDAP (Granular Delegated Admin Privileges) role definitions available — the AAD roles your CSP relationship can grant to your MSP technicians per-tenant.

### `cipp_list_gdap_invites`

```
cipp_list_gdap_invites()
```

Returns pending GDAP relationship invites that customers have not yet accepted. Stale invites > 14 days are usually customers who lost the email — re-send via the CIPP UI.

GDAP is the modern replacement for AOBO/DAP. Each invite grants the MSP partner tenant a specific set of AAD roles in the customer tenant for a fixed duration. CIPP relies on active GDAP relationships for nearly every multi-tenant operation; broken GDAP = silent failures across the rest of the toolkit.

## Scheduler

### `cipp_list_scheduled_items`

```
cipp_list_scheduled_items()
```

Lists CIPP's scheduled tasks: recurring standards checks, BPA refreshes, alert evaluations, custom user-defined schedules.

### `cipp_add_scheduled_item`

```
cipp_add_scheduled_item(name, command, parameters?, recurrence?, scheduledTime?)
```

Creates a new scheduled task in CIPP. Use cases:

- Schedule a daily BPA refresh for a high-risk tenant
- Schedule an end-of-quarter offboarding cleanup
- Run a recurring CSP license reconciliation

Pick `recurrence` deliberately — CIPP doesn't dedupe scheduled items, so re-running this tool with the same name creates a duplicate.

## Health & diagnostics

### `cipp_ping`

```
cipp_ping()
```

Liveness probe for the CIPP API. Returns immediately if CIPP is reachable. First call when troubleshooting "tools aren't working" — separates "MCP can't reach CIPP" from "CIPP can't reach Microsoft."

### `cipp_get_version`

```
cipp_get_version()
```

Returns the deployed CIPP version (frontend + backend). Useful when reporting an issue to CIPP maintainers or comparing against the [release notes](https://github.com/KelvinTegelaar/CIPP/releases) for known regressions.

### `cipp_list_logs`

```
cipp_list_logs(severity?, count?)
```

Application logs from the CIPP backend. Use for diagnosing failed background jobs, GDAP errors, or rate-limit hits against the Graph API.

## Workflow patterns

### Pre-flight check (before bulk operations)

```
ping = cipp_ping()
version = cipp_get_version()
gdap_invites = cipp_list_gdap_invites()
```

If any are unhealthy, halt the bulk operation. Bulk standards deployments or user creation against a CIPP with stale GDAP will silently fail or partially apply.

### GDAP hygiene

Run weekly:

1. `cipp_list_gdap_invites` — chase pending > 14 days
2. Compare `cipp_list_tenants` against expected onboarded list — gaps usually mean revoked GDAP
3. `cipp_list_gdap_roles` — verify the MSP role template hasn't been altered (drift here breaks fine-grained access)

### Diagnosing a failing tool call

When any other CIPP tool returns an error:

1. `cipp_ping` — is CIPP reachable at all?
2. `cipp_get_version` — is it the version you think it is?
3. `cipp_list_logs(severity='error', count=50)` — what does CIPP itself report?
4. Check `cipp_list_gdap_invites` and the affected tenant in `cipp_list_tenants` — broken GDAP is the #1 cause of partial failures.

## Caveats

- `cipp_add_scheduled_item` doesn't validate the `command` parameter against CIPP's known job types — typos create scheduled items that fail silently. Verify with `cipp_list_scheduled_items` after creation.
- `cipp_list_logs` is bounded by what CIPP itself retains — for long-term log retention, ship CIPP logs to an external SIEM via the CIPP integrations panel.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…