# upload_recipe_asset_file

A write tool on the Mealie MCP Server MCP server.

Agent View of the PolicyLayer registry record for `upload_recipe_asset_file`. HTML page: https://policylayer.com/tools/graysoncadams-mealie-mcp/upload-recipe-asset-file

## Facts

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

## Why upload_recipe_asset_file is rated Medium

File upload is a Write operation—it creates or modifies data (recipe assets) reversibly. Not Destructive (no deletion), not Execute (no arbitrary code), not Financial. Severity is medium because file uploads can bloat storage, introduce unwanted media, or overwrite existing assets, but impact is typically scoped to recipe metadata rather than critical system data.

From the tool's own definition: "Tool name 'upload_recipe_asset_file' indicates file upload operation. Empty description limits specificity. Sibling tools show this server manages recipes and related data (add_recipe_to_shopping_list, create_recipe context)."

## Use case

AI agents use upload_recipe_asset_file 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_asset_file": {
      "limits": [
        {
          "counter": "upload_recipe_asset_file_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Mealie MCP Server (92)

- `delete_category` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-category.md
- `delete_comment` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-comment.md
- `delete_cookbook` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-cookbook.md
- `delete_food` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-food.md
- `delete_label` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-label.md
- `delete_mealplan` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-mealplan.md
- `delete_recipe` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-recipe.md
- `delete_shopping_list` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-shopping-list.md
- `delete_shopping_list_item` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-shopping-list-item.md
- `delete_shopping_list_items_bulk` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-shopping-list-items-bulk.md
- `delete_tag` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-tag.md
- `delete_tool` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-tool.md
- `delete_unit` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/delete-unit.md
- `remove_recipe_from_shopping_list` — Destructive — https://policylayer.com/tools/graysoncadams-mealie-mcp/remove-recipe-from-shopping-list.md
- `parse_ingredient` — Execute — https://policylayer.com/tools/graysoncadams-mealie-mcp/parse-ingredient.md
- `parse_ingredients` — Execute — https://policylayer.com/tools/graysoncadams-mealie-mcp/parse-ingredients.md
- `get_all_mealplans` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-all-mealplans.md
- `get_categories` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-categories.md
- `get_category` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-category.md
- `get_category_by_slug` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-category-by-slug.md
- `get_cookbook` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-cookbook.md
- `get_cookbooks` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-cookbooks.md
- `get_current_user` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-current-user.md
- `get_empty_categories` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-empty-categories.md
- `get_empty_tags` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-empty-tags.md
- `get_food` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-food.md
- `get_foods` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-foods.md
- `get_household_statistics` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-household-statistics.md
- `get_label` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-label.md
- `get_labels` — Read — https://policylayer.com/tools/graysoncadams-mealie-mcp/get-labels.md
- …and 62 more: https://policylayer.com/tools/graysoncadams-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=graysoncadams-mealie-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/graysoncadams-mealie-mcp
