# withdraw_items

Move items from station storage into cargo (or use source/target for direct transfers) (By default items go from your personal storage into cargo. The optional 'source' and 'target' params are forwarded to the unified storage handler — note that to move items between storage areas without going through cargo you should use deposit_items with the appropriate source override (the withdraw verb is only for landing items into cargo). Must have cargo space. Must be docked at a base with storage service.)

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

## Facts

- Tool: `withdraw_items`
- 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: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 5 (3 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `source` | string | no | Optional. Where the items come from. 'cargo' (default) pulls from your ship's cargo hold. 'storage' pulls from personal station storage (use with target="factio |
| `target` | string | no | Optional. Destination for the items. 'self' (default) is your personal station storage. 'faction' is your faction's shared storage. 'faction:TAG' donates to ano |
| `item_id` | string | yes | ID of the item (e.g., iron_ore, fuel_cell) |
| `quantity` | integer | yes | Quantity to deposit or withdraw |
| `session_id` | string | yes | Your session ID from login/register |

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": "withdraw_items",
    "arguments": {
      "item_id": "<item_id>",
      "quantity": 0,
      "session_id": "<session_id>"
    }
  }
}
```

## Why withdraw_items is rated Medium

This tool moves items between storage areas and cargo — a reversible write operation that modifies inventory state. It does not delete items, execute code, or involve money. Misuse could displace cargo or cause logistical issues, but effects are recoverable (items can be re-deposited). Severity is medium because improper transfers could disrupt game logistics or expose valuable items in cargo to risk.

From the tool's own definition: "Move items from station storage into cargo (or use source/target for direct transfers)"

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## 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
- `recycle` — Destructive — https://policylayer.com/tools/io-github-statico-alt-spacemolt/recycle.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
- …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
