# crow_identity_attest

Create a signed attestation linking a per-app handle (e.g., @alice@m.example on Mastodon) to this Crow root identity. The signature can be verified by remote parties via /.well-known/crow-identity.json. OFF BY DEFAULT — opt-in per-handle; publication is permanent and can only be retracted via signed revocation (which itself is public).

Agent View of the PolicyLayer registry record for `crow_identity_attest`. HTML page: https://policylayer.com/tools/kh0pper-crow/crow-identity-attest

## Facts

- Tool: `crow_identity_attest`
- Server: Crow (`kh0pper/crow`) — https://policylayer.com/tools/kh0pper-crow.md
- Homepage: https://github.com/kh0pper/crow
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "crow_identity_attest",
    "arguments": {}
  }
}
```

## Why crow_identity_attest is rated Medium

This tool writes persistent, publicly visible identity attestations. While not technically destructive (retraction is possible via signed revocation), the primary action is creating and publishing data that becomes part of a permanent public record.

From the tool's own definition: "Tool creates a 'signed attestation' that links an identity handle to a root identity and publishes it publicly via /.well-known/crow-identity.json."

Risk signals: Admin/system-level operation

## Use case

AI agents use crow_identity_attest to create or update resources in Crow, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Crow environment.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "crow_identity_attest": {
      "limits": [
        {
          "counter": "crow_identity_attest_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Crow (586)

- `caddy_remove_site` — Destructive — https://policylayer.com/tools/kh0pper-crow/caddy-remove-site.md
- `crow_bookstack_delete` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-bookstack-delete.md
- `crow_campaign_delete` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-campaign-delete.md
- `crow_data_write` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-data-write.md
- `crow_deactivate_server` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-deactivate-server.md
- `crow_delete_bot_schedule` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-delete-bot-schedule.md
- `crow_delete_context_section` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-delete-context-section.md
- `crow_delete_file` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-delete-file.md
- `crow_delete_memory` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-delete-memory.md
- `crow_delete_post` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-delete-post.md
- `crow_delete_setlist` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-delete-setlist.md
- `crow_frigate_set_detect` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-frigate-set-detect.md
- `crow_glasses_undo_last_append` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-glasses-undo-last-append.md
- `crow_identity_revoke` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-identity-revoke.md
- `crow_kb_delete_article` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-kb-delete-article.md
- `crow_linkding_delete` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-linkding-delete.md
- `crow_media_playlist` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-media-playlist.md
- `crow_media_remove_source` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-media-remove-source.md
- `crow_miniflux_remove_feed` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-miniflux-remove-feed.md
- `crow_remove_backend` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-remove-backend.md
- `crow_remove_from_setlist` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-remove-from-setlist.md
- `crow_revoke_access` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-revoke-access.md
- `crow_revoke_instance` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-revoke-instance.md
- `crow_shiori_delete` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-shiori-delete.md
- `crow_tax_purge_return` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-tax-purge-return.md
- `crow_trilium_delete_note` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-trilium-delete-note.md
- `crow_vikunja_delete_task` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-vikunja-delete-task.md
- `crow_wallabag_delete` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-wallabag-delete.md
- `crowdsec_delete_decision` — Destructive — https://policylayer.com/tools/kh0pper-crow/crowdsec-delete-decision.md
- `fw_defederate` — Destructive — https://policylayer.com/tools/kh0pper-crow/fw-defederate.md
- …and 556 more: https://policylayer.com/tools/kh0pper-crow.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=kh0pper-crow · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/kh0pper-crow
