# maker_save_artifact

Save a learner-produced artifact (e.g. Blockly workspace XML, drawing). Guest sessions return a friendly

Agent View of the PolicyLayer registry record for `maker_save_artifact`. HTML page: https://policylayer.com/tools/kh0pper-crow/maker-save-artifact

## Facts

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

## Why maker_save_artifact is rated Medium

This tool creates or stores user-generated artifacts (Blockly workspaces, drawings, etc.) which are reversible modifications. It does not delete data irreversibly (Destructive), execute arbitrary code (Execute), move funds (Financial), or merely read data (Read).

From the tool's own definition: "Tool name contains 'save' and description states 'Save a learner-produced artifact' indicating persistent creation/modification of data."

## Use case

AI agents use maker_save_artifact 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": {
    "maker_save_artifact": {
      "limits": [
        {
          "counter": "maker_save_artifact_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
