# machine_repair

Deterministically repair an owned machine. restart_agent asks this connected watchdog agent to use Yaver's backup SSH/mesh channel to restart the target's Yaver agent, then callers should re-run machine_doctor or machine_roles_doctor.

Agent View of the PolicyLayer registry record for `machine_repair`. HTML page: https://policylayer.com/tools/io-github-kivanccakmak-yaver/machine-repair

## Facts

- Tool: `machine_repair`
- Server: Yaver (`yaver-cli`) — https://policylayer.com/tools/io-github-kivanccakmak-yaver.md
- Install: `npx -y yaver-cli`
- Homepage: https://github.com/kivanccakmak/yaver.io
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 3
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `action` | string | no | restart_agent is currently the only supported repair. |
| `device` | string | no | Alias or name for the target device. |
| `deviceId` | string | no | Target device ID, alias, or name. |

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

## Why machine_repair is rated High

This tool executes commands on a remote machine via SSH/mesh infrastructure to restart a watchdog agent. While the operation is bounded (restart only, not arbitrary code), it triggers external side effects on another system whose outcome depends on the machine's state. This is Execute rather than Write because it invokes system-level operations and remote agent restarts, not merely data creation/modification.

From the tool's own definition: "Tool description states it performs agent restart via 'backup SSH/mesh channel' and triggers repair operations. The phrase 'restart_agent' and 'restart the target's Yaver agent' indicates execution of remote operations on a connected machine."

## Use case

AI agents invoke machine_repair to trigger actions in Yaver. 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 Yaver:

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

## Other tools on Yaver (644)

- `acl_remove_peer` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/acl-remove-peer.md
- `cancel_schedule` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/cancel-schedule.md
- `cloud_destroy` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/cloud-destroy.md
- `companion_down` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/companion-down.md
- `data_delete` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/data-delete.md
- `db_push` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/db-push.md
- `db_reset` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/db-reset.md
- `db_restore` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/db-restore.md
- `dns_flush` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/dns-flush.md
- `dns_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/dns-remove.md
- `docker_prune` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/docker-prune.md
- `docker_rm` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/docker-rm.md
- `docker_rmi` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/docker-rmi.md
- `feedback_delete` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/feedback-delete.md
- `forgot_password` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/forgot-password.md
- `git_member_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/git-member-remove.md
- `git_stash` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/git-stash.md
- `guest_delete` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/guest-delete.md
- `guest_revoke` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/guest-revoke.md
- `jobs_cancel` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/jobs-cancel.md
- `machine_onboarding_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/machine-onboarding-remove.md
- `machine_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/machine-remove.md
- `migrate_rollback` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/migrate-rollback.md
- `models_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/models-remove.md
- `monitor_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/monitor-remove.md
- `phone_project_delete` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/phone-project-delete.md
- `proxy_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/proxy-remove.md
- `relay_clear_password` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/relay-clear-password.md
- `release_rollback` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/release-rollback.md
- `remote_destroy` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/remote-destroy.md
- …and 614 more: https://policylayer.com/tools/io-github-kivanccakmak-yaver.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-kivanccakmak-yaver · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-kivanccakmak-yaver
