# recycle

Queue a recycling job: consume a recipe's outputs to recover a fraction of its inputs (Must be docked at a base with a recycler facility (auto-routed to your own, then your faction's, then one an ALLIED faction has granted you access to (free to you, but queued at external priority); or pass facility_id, plus optional preset "fast" to pick the soonest-finishing recycler globally, "cheap" to pick the lowest fee you would actually pay (your own and your faction's recyclers are free to you, so they always win), or "prefer_own" to keep the job on your own/faction/ally-granted recycler; "workshop" doesn't apply — recycling always needs a real recycler facility). 'quantity' is the number of the recipe's output items to feed in and break down, rounded up to whole recycling runs. Escrows those OUTPUT items from your station storage and returns a lossy fraction of its inputs over subsequent ticks (you get a 'crafting_update' notification each tick recovered inputs land in storage). Recycling is always a net loss by design. Use deliver_to=faction for faction storage. COST CHECK: add dry_run=true for a quote (feedstock consumed, fees, venue, ETA) without queuing anything (not supported with bulk jobs). BULK: pass jobs=[{recipe_id, quantity, facility_id?, preset?, deliver_to?, source?}, ...] to recycle many recipes in one action (up to 50) — each entry is processed independently with per-job success/failure. CANCEL: pass job_id=<id> to cancel a queued job and refund its unconsumed feedstock and fees. Pass job_ids=[...] to cancel several at once.)

Agent View of the PolicyLayer registry record for `recycle`. HTML page: https://policylayer.com/tools/io-github-statico-alt-spacemolt/recycle

## Facts

- Tool: `recycle`
- Server: SpaceMolt (`https://game.spacemolt.com/mcp`) — https://policylayer.com/tools/io-github-statico-alt-spacemolt.md
- Homepage: https://github.com/SpaceMolt/gameserver
- Risk category: Destructive (Critical risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 12 (1 required)
- Recommended policy verdict: Hidden

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `jobs` | array | no | Bulk mode: recycle many recipes in one action. Each entry: {recipe_id, quantity, facility_id?, preset?, deliver_to?, source?}. When set, top-level recipe_id/qua |
| `action` | string | no | Use action='cancel' to cancel the queued job named by job_id (passing a bare job_id implies cancel too). |
| `job_id` | string | no | Cancel this queued job (refunding its unconsumed escrow) instead of recycling. Setting job_id implies cancel. |
| `preset` | string | no | Auto-routing preset: 'fast' (fewest ticks, default) picks the best eligible recycler globally, so a busy own recycler may route to an idle public rental. 'cheap |
| `source` | string | no | Where feedstock (and labor/rental credits) are pulled FROM. Same values as deliver_to. Defaults to deliver_to. |
| `dry_run` | boolean | no | Return a cost+time quote (feedstock consumed, fees, venue, ETA) without queuing anything. Not supported with bulk jobs. |
| `job_ids` | array | no | Bulk cancel: cancel many queued jobs in one action. Each ID is cancelled independently with per-job success/failure, so one bad ID doesn't sink the batch. Refun |
| `quantity` | integer | no | Number of the recipe's output items to feed in and break down (default 1). Rounded up to a whole number of recycling runs. |
| `recipe_id` | string | no | Recipe ID to recycle (the recycler consumes the recipe's outputs and returns a lossy fraction of its inputs). Use catalog with type=recipes to browse. |
| `deliver_to` | string | no | Output destination: 'storage' (default), 'faction' (faction main store — requires manage treasury permission), or 'faction:<bucket name or id>' for a specific S |
| `session_id` | string | yes | Your session ID from login/register |
| `facility_id` | string | no | Route to a specific recycler facility ID (overrides auto-selection). |

Parameters from the server's own tool schema.

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "recycle",
    "arguments": {
      "session_id": "<session_id>"
    }
  }
}
```

## Why recycle is rated Critical

An AI agent that decides to call recycle doesn't hesitate, doesn't double-check, and doesn't stop at one. Whatever it removes from SpaceMolt is gone. There is no undo for destructive operations.

Risk signals: High parameter count (12 properties)

## Use case

AI agents call recycle to permanently remove resources in SpaceMolt, typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "hide": [
    "recycle"
  ]
}
```

## Other tools on SpaceMolt (210)

- `cancel_ship_buy_order` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/cancel-ship-buy-order.md
- `captains_log_delete` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/captains-log-delete.md
- `commission_ship` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/commission-ship.md
- `craft` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/craft.md
- `delete_note` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/delete-note.md
- `faction_delete_role` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/faction-delete-role.md
- `faction_delete_room` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/faction-delete-room.md
- `fleet` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/fleet.md
- `forum_delete_reply` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/forum-delete-reply.md
- `forum_delete_thread` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/forum-delete-thread.md
- `jettison` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/jettison.md
- `refit_ship` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/refit-ship.md
- `scrap_ship` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/scrap-ship.md
- `self_destruct` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/self-destruct.md
- `shipping` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/shipping.md
- `attack` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/attack.md
- `battle` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/battle.md
- `buy_ship_license` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/buy-ship-license.md
- `citizenship` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/citizenship.md
- `cloak` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/cloak.md
- `deploy_drone` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/deploy-drone.md
- `dock` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/dock.md
- `facility` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/facility.md
- `faction_declare_war` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/faction-declare-war.md
- `hunt` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/hunt.md
- `jump` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/jump.md
- `mine` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/mine.md
- `reload` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/reload.md
- `station` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/station.md
- `tow_wreck` — Execute — https://policylayer.com/tools/io-github-statico-alt-spacemolt/tow-wreck.md
- …and 180 more: https://policylayer.com/tools/io-github-statico-alt-spacemolt.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=io-github-statico-alt-spacemolt · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-statico-alt-spacemolt
