# happ_test_case_create

Создаёт тест-кейс. mode=script — фиксированные реплики клиента (1-3, для точечных проверок формулировок); mode=scenario — описание клиента для AI-симулятора (для многоходовых флоу). Сценарий ОБЯЗАН заканчиваться строками «Мета досягнута, коли …» и «Не погоджуйся на додаткові пропозиції…» — иначе диалог тянется до капа 12 ходов и жжёт токены. Фото клиента: сначала happ_test_media_upload, затем передай attachments с mediaId. seedMessages — переписка, которая была ДО теста (постоянный клиент, чей адрес и товар уже известны из прошлых заказов). (POST /assistants/:assistantId/test-cases)

Agent View of the PolicyLayer registry record for `happ_test_case_create`. HTML page: https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-case-create

## Facts

- Tool: `happ_test_case_create`
- Server: Platform (`@happ-ai/platform-mcp`) — https://policylayer.com/tools/happ-ai-platform-mcp.md
- Install: `npx -y @happ-ai/platform-mcp`
- Homepage: https://www.npmjs.com/package/@happ-ai/platform-mcp
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 12 (3 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `mode` | string | yes | Режим кейса |
| `name` | string | yes | Короткое название кейса |
| `enabled` | boolean | no | Участвует ли в «прогнать все» (по умолчанию true) |
| `scenario` | string | no | Сценарий клиента с целью (только для scenario) |
| `toolMocks` | array | no | Моки инструментов ЭТОГО кейса: инструмент не вызывает реальную систему, а возвращает мок. Побеждают над общими моками ассистента по имени инструмента |
| `maxCostUsd` | object | no | Лимит в долларах: оборвать прогон при превышении оценочной стоимости кейса (null — снять лимит) |
| `assistantId` | string | yes | ID ассистента |
| `attachments` | array | no | Фото, которые клиент отправит в диалоге (mediaId из happ_test_media_upload) |
| `maxMessages` | object | no | Лимит: оборвать прогон, когда общее число сообщений в диалоге превысит это значение (null — снять лимит) |
| `seedMessages` | array | no | Переписка, которая БЫЛА до теста: она пишется в чат перед диалогом, и ассистент читает её как настоящую историю. Так проверяется постоянный клиент, который пише |
| `userMessages` | array | no | Реплики клиента (только для script) |
| `dynamicVariables` | object | no | Значения {{плейсхолдеров}} промпта на время прогона (имя -> значение) |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "happ_test_case_create",
    "arguments": {
      "mode": "<mode>",
      "name": "<name>",
      "assistantId": "<assistantId>"
    }
  }
}
```

## Why happ_test_case_create is rated Low

Even though happ_test_case_create only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.

Risk signals: High parameter count (25 properties)

## Use case

AI agents call happ_test_case_create to retrieve information from Platform without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Platform:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "happ_test_case_create": {}
  }
}
```

## Other tools on Platform (274)

- `happ_access_token_revoke` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-access-token-revoke.md
- `happ_assistant_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-delete.md
- `happ_assistant_integration_unbind` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-integration-unbind.md
- `happ_call_queue_cancel` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-cancel.md
- `happ_call_queue_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-delete.md
- `happ_call_reply_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-reply-delete.md
- `happ_chat_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-chat-delete.md
- `happ_company_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-company-delete.md
- `happ_company_leave` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-company-leave.md
- `happ_company_remove_user` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-company-remove-user.md
- `happ_crm_pull_source_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-pull-source-delete.md
- `happ_folder_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-folder-delete.md
- `happ_integration_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-integration-delete.md
- `happ_invitation_revoke` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-invitation-revoke.md
- `happ_knowledge_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-knowledge-delete.md
- `happ_message_style_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-message-style-delete.md
- `happ_notification_channel_mute` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-notification-channel-mute.md
- `happ_phone_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-phone-delete.md
- `happ_playground_reset` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-playground-reset.md
- `happ_quick_reply_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-quick-reply-delete.md
- `happ_report_cancel` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-report-cancel.md
- `happ_sheets_pull_source_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-sheets-pull-source-delete.md
- `happ_test_case_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-case-delete.md
- `happ_text_campaign_cancel` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-campaign-cancel.md
- `happ_tool_delete` — Destructive — https://policylayer.com/tools/happ-ai-platform-mcp/happ-tool-delete.md
- `happ_analysis_run` — Execute — https://policylayer.com/tools/happ-ai-platform-mcp/happ-analysis-run.md
- `happ_call_queue_start` — Execute — https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-start.md
- `happ_crm_call_trigger_create` — Execute — https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-call-trigger-create.md
- `happ_crm_call_trigger_delete` — Execute — https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-call-trigger-delete.md
- `happ_crm_call_trigger_setup` — Execute — https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-call-trigger-setup.md
- …and 244 more: https://policylayer.com/tools/happ-ai-platform-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=happ-ai-platform-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/happ-ai-platform-mcp
