# upload_user_image

Upload one user's image from base64 data.

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

## Facts

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

## Why upload_user_image is rated Medium

This tool creates new image data in the Mealie system. While reversible (images can typically be deleted or replaced), it modifies user state. It does not execute arbitrary code, delete data irreversibly, or move money.

From the tool's own definition: "Tool description states 'Upload one user's image from base64 data.' The verb 'upload' indicates creating/adding new data. The tool accepts base64 image data and persists it, modifying the user's profile/data."

## Use case

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