# calls_wait

Block until a voice call ends (status changes from 'active') or timeout elapses. Returns ended=true with final state when the call has ended; ended=false on timeout (re-issue to keep waiting). The returned state includes outcome so callers can branch on pickup vs. no-answer (answered/no_answer/busy/declined/failed/unknown). Default timeout 90s; cap 110s — bounded by nginx proxy_read_timeout 120s on /mcp.

Agent View of the PolicyLayer registry record for `calls_wait`. HTML page: https://policylayer.com/tools/io-github-saloprj-dialogbrain/calls-wait

## Facts

- Tool: `calls_wait`
- Server: Dialogbrain (`https://api.dialogbrain.com/mcp`) — https://policylayer.com/tools/io-github-saloprj-dialogbrain.md
- Homepage: https://github.com/saloprj/dialogbrain-mcp
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 2 (1 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `call_id` | string | yes | Call ID returned by calls.make in _meta.call_id. |
| `timeout_seconds` | integer | no | Max seconds to wait. Default 90, cap 110 (bounded below nginx 120s proxy_read_timeout). On expiry returns ended=False with status='active' so the caller can re- |

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": "calls_wait",
    "arguments": {
      "call_id": "<call_id>"
    }
  }
}
```

## Why calls_wait is rated High

This tool executes a blocking operation on an external system (voice call infrastructure) and monitors state changes. While it doesn't directly make calls, it actively engages with and controls the timing of voice call operations, making it an Execute action rather than a passive Read.

From the tool's own definition: "Tool blocks execution until a voice call ends and returns call state/outcome. It triggers external operations (voice call monitoring) whose effects depend on call arguments and state."

## Use case

AI agents invoke calls_wait to trigger actions in Dialogbrain. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "calls_wait": {
      "limits": [
        {
          "counter": "calls_wait_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Dialogbrain (224)

- `agents_delete` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/agents-delete.md
- `agents_trigger_delete` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/agents-trigger-delete.md
- `ai_filters_delete` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/ai-filters-delete.md
- `ai_tags_delete` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/ai-tags-delete.md
- `calendar_delete_event` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/calendar-delete-event.md
- `collections_delete` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/collections-delete.md
- `files_delete` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/files-delete.md
- `folders_delete` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/folders-delete.md
- `integrations_remove_endpoints` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/integrations-remove-endpoints.md
- `messages_delete` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/messages-delete.md
- `notes_delete` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/notes-delete.md
- `reminder_cancel` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/reminder-cancel.md
- `tasks_delete` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/tasks-delete.md
- `threads_delete` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/threads-delete.md
- `widgets_delete` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/widgets-delete.md
- `youtube_delete_comment` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/youtube-delete-comment.md
- `youtube_delete_video` — Destructive — https://policylayer.com/tools/io-github-saloprj-dialogbrain/youtube-delete-video.md
- `agent_handoff` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/agent-handoff.md
- `agents_simulate_inbound` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/agents-simulate-inbound.md
- `android_launch_app` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/android-launch-app.md
- `android_shell` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/android-shell.md
- `android_ui_dump` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/android-ui-dump.md
- `background_run` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/background-run.md
- `browser_attach_meet` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/browser-attach-meet.md
- `browser_click` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/browser-click.md
- `browser_close` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/browser-close.md
- `browser_drag` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/browser-drag.md
- `browser_evaluate` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/browser-evaluate.md
- `browser_fill` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/browser-fill.md
- `browser_fill_form` — Execute — https://policylayer.com/tools/io-github-saloprj-dialogbrain/browser-fill-form.md
- …and 194 more: https://policylayer.com/tools/io-github-saloprj-dialogbrain.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=io-github-saloprj-dialogbrain · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-saloprj-dialogbrain
