# upload_recipe_image

Upload or replace a recipe image from base64-encoded image data.

Agent View of the PolicyLayer registry record for `upload_recipe_image`. HTML page: https://policylayer.com/tools/nikopol666-mealie-mcp/upload-recipe-image

## Facts

- Tool: `upload_recipe_image`
- Server: Mealie MCP Server (`nikopol666/mealie-mcp`) — https://policylayer.com/tools/nikopol666-mealie-mcp.md
- Homepage: https://github.com/nikopol666/mealie-mcp
- 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": "upload_recipe_image",
    "arguments": {}
  }
}
```

## Why upload_recipe_image is rated Medium

This is a Write operation because it modifies recipe data by uploading or replacing an image resource. The severity is medium because misuse could result in unwanted recipe image modifications or potential abuse of storage/bandwidth, but the action is reversible (images can be re-uploaded or deleted).

From the tool's own definition: "Tool description states 'Upload or replace a recipe image' — this creates or modifies data (image attachment to a recipe) in a reversible manner."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Mealie MCP Server (242)

- `bulk_delete_recipes` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/bulk-delete-recipes.md
- `delete_admin_backup` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-admin-backup.md
- `delete_admin_group` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-admin-group.md
- `delete_admin_household` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-admin-household.md
- `delete_admin_user` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-admin-user.md
- `delete_category` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-category.md
- `delete_comment` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-comment.md
- `delete_cookbook` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-cookbook.md
- `delete_food` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-food.md
- `delete_group_label` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-group-label.md
- `delete_group_report` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-group-report.md
- `delete_household_notification` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-household-notification.md
- `delete_household_webhook` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-household-webhook.md
- `delete_meal_plan_entry` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-meal-plan-entry.md
- `delete_meal_plan_rule` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-meal-plan-rule.md
- `delete_recipe` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-recipe.md
- `delete_recipe_action` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-recipe-action.md
- `delete_recipe_image` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-recipe-image.md
- `delete_recipe_timeline_event` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-recipe-timeline-event.md
- `delete_recipe_tool` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-recipe-tool.md
- `delete_shared_recipe_record` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-shared-recipe-record.md
- `delete_shopping_item` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-shopping-item.md
- `delete_shopping_items` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-shopping-items.md
- `delete_shopping_list` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-shopping-list.md
- `delete_tag` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-tag.md
- `delete_unit` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-unit.md
- `delete_user_api_token` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-user-api-token.md
- `delete_user_favorite` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-user-favorite.md
- `purge_recipe_exports` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/purge-recipe-exports.md
- `remove_recipe_from_shopping_list` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/remove-recipe-from-shopping-list.md
- …and 212 more: https://policylayer.com/tools/nikopol666-mealie-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=nikopol666-mealie-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/nikopol666-mealie-mcp
