# CIPP

Даёт ИИ-ассистенту доступ к CIPP: тенанты, пользователи, почта, политики и лицензии Microsoft 365 в одном интерфейсе.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 11
- Автор: WYRE-AI
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/WYRE-AI/cipp-mcp
- Обновлён: 2026-10-21
- HTML: https://affpapa.org/nevibecode/mcp/cipp

## Что делает

CIPP — это CyberDrain Improved Partner Portal, портал для управления множеством клиентских тенантов Microsoft 365. MCP-сервер открывает его возможности ассистенту: 49 инструментов в 12 категориях. Через них можно смотреть тенанты, пользователей, группы и почтовые ящики, выгружать отчёты о размерах ящиков и онлайн-архивов, читать журналы входов Entra ID с данными о статусе, местоположении, Conditional Access и MFA.

Есть разделы по безопасности и соответствию: политики Conditional Access, именованные расположения, Microsoft Secure Score, BPA, здоровье доменов, обнаружение расхождений. Отдельно — отчёты по лицензиям, алерты, журналы аудита, запланированные задачи и управление ролями GDAP с приглашениями. Транспорт работает в двух режимах: stdio и HTTP, есть совместимость с MCP Gateway.

Перед запуском понадобится Node.js 18+, развёрнутый CIPP и ключ API из раздела API Client Management в настройках CIPP. В переменной `CIPP_BASE_URL` указывайте адрес Azure Function App, а не фронтенд Static Web App: встроенная авторизация SWA перехватывает токены и уводит запросы на страницу входа, из-за чего каждый вызов API падает. Для HTTP-режима нужен ещё `CONDUIT_S2S_SECRET` — без него процесс завершается с ошибкой.

## Требования
- Нужно: Docker
- Переменные окружения: `CIPP_API_URL`, `CIPP_CLIENT_ID`, `CIPP_CLIENT_SECRET`, `CIPP_TENANT_ID`, `MCP_TRANSPORT`, `AUTH_MODE`, `LOG_LEVEL` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env CIPP_API_URL=<CIPP_API_URL> --env CIPP_CLIENT_ID=<CIPP_CLIENT_ID> --env CIPP_CLIENT_SECRET=<CIPP_CLIENT_SECRET> --env CIPP_TENANT_ID=<CIPP_TENANT_ID> --env MCP_TRANSPORT=<MCP_TRANSPORT> --transport stdio cipp -- docker run -i --rm -e CIPP_API_URL -e CIPP_CLIENT_ID -e CIPP_CLIENT_SECRET -e CIPP_TENANT_ID -e MCP_TRANSPORT ghcr.io/wyre-ai/cipp-mcp:v1.11.1
```
Вместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add cipp --env CIPP_API_URL=<CIPP_API_URL> --env CIPP_CLIENT_ID=<CIPP_CLIENT_ID> --env CIPP_CLIENT_SECRET=<CIPP_CLIENT_SECRET> --env CIPP_TENANT_ID=<CIPP_TENANT_ID> --env MCP_TRANSPORT=<MCP_TRANSPORT> -- docker run -i --rm -e CIPP_API_URL -e CIPP_CLIENT_ID -e CIPP_CLIENT_SECRET -e CIPP_TENANT_ID -e MCP_TRANSPORT ghcr.io/wyre-ai/cipp-mcp:v1.11.1
```
Вместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "cipp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "CIPP_API_URL",
                "-e",
                "CIPP_CLIENT_ID",
                "-e",
                "CIPP_CLIENT_SECRET",
                "-e",
                "CIPP_TENANT_ID",
                "-e",
                "MCP_TRANSPORT",
                "ghcr.io/wyre-ai/cipp-mcp:v1.11.1"
            ],
            "env": {
                "CIPP_API_URL": "<CIPP_API_URL>",
                "CIPP_CLIENT_ID": "<CIPP_CLIENT_ID>",
                "CIPP_CLIENT_SECRET": "<CIPP_CLIENT_SECRET>",
                "CIPP_TENANT_ID": "<CIPP_TENANT_ID>",
                "MCP_TRANSPORT": "<MCP_TRANSPORT>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "cipp": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "CIPP_API_URL",
                "-e",
                "CIPP_CLIENT_ID",
                "-e",
                "CIPP_CLIENT_SECRET",
                "-e",
                "CIPP_TENANT_ID",
                "-e",
                "MCP_TRANSPORT",
                "ghcr.io/wyre-ai/cipp-mcp:v1.11.1"
            ],
            "env": {
                "CIPP_API_URL": "<CIPP_API_URL>",
                "CIPP_CLIENT_ID": "<CIPP_CLIENT_ID>",
                "CIPP_CLIENT_SECRET": "<CIPP_CLIENT_SECRET>",
                "CIPP_TENANT_ID": "<CIPP_TENANT_ID>",
                "MCP_TRANSPORT": "<MCP_TRANSPORT>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e CIPP_API_URL=<CIPP_API_URL> -e CIPP_CLIENT_ID=<CIPP_CLIENT_ID> -e CIPP_CLIENT_SECRET=<CIPP_CLIENT_SECRET> -e CIPP_TENANT_ID=<CIPP_TENANT_ID> -e MCP_TRANSPORT=<MCP_TRANSPORT> cipp docker run -i --rm -e CIPP_API_URL -e CIPP_CLIENT_ID -e CIPP_CLIENT_SECRET -e CIPP_TENANT_ID -e MCP_TRANSPORT ghcr.io/wyre-ai/cipp-mcp:v1.11.1
```
Вместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера

## Когда брать
- посмотреть список клиентских тенантов и их состояние
- выгрузить отчёт о размере почтовых ящиков по тенанту
- проверить журналы входов пользователя в Entra ID
- собрать данные по лицензиям и Secure Score
- разобраться с ролями GDAP и приглашениями

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
