Skip to content
Back to Ethereum Swarm Storage Agent

Card snapshot

docs.ethswarm.org · 2026-05-29 04:01:56 UTC · 8753f5a8f2b95309ecde7f49d2a98c88f709e4c68cc850735f4090e0a0eaa6e2

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "Ethereum Swarm Storage Agent",
  "description": "Decentralized storage agent powered by Ethereum Swarm. Upload, download, and manage data on the Swarm network \u2014 a censorship-resistant, decentralized storage and communication system built on Ethereum. Supports raw data, files, folders, mutable feeds, and postage stamp lifecycle management via the swarm-mcp toolset.",
  "url": "https://docs.ethswarm.org",
  "provider": {
    "organization": "Ethersphere",
    "url": "https://www.ethswarm.org"
  },
  "version": "0.1.0",
  "documentationUrl": "https://docs.ethswarm.org",
  "mcpServerUrl": "https://github.com/ethersphere/swarm-mcp",
  "llmsTxtUrl": "https://docs.ethswarm.org/llms.txt",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "upload-data",
      "name": "Upload Data",
      "description": "Upload text data to Swarm. Returns an immutable content-addressed reference hash. Optional: redundancyLevel (0-4) for fault tolerance, postageBatchId to specify a pre-purchased stamp.",
      "tags": [
        "decentralized-storage",
        "ethereum",
        "swarm",
        "upload"
      ],
      "examples": [
        "Store this text on Swarm",
        "Upload data to decentralized storage"
      ]
    },
    {
      "id": "download-data",
      "name": "Download Data",
      "description": "Download immutable data from Swarm using a content-addressed reference hash. Returns the original text data stored at that address.",
      "tags": [
        "decentralized-storage",
        "ethereum",
        "swarm",
        "download"
      ],
      "examples": [
        "Retrieve data from Swarm by reference hash",
        "Download content from decentralized storage"
      ]
    },
    {
      "id": "upload-file",
      "name": "Upload File",
      "description": "Upload a file to Swarm from base64-encoded content or a local file path. Optional: redundancyLevel (0-4) for fault tolerance, postageBatchId. Returns a Swarm reference hash.",
      "tags": [
        "decentralized-storage",
        "ethereum",
        "swarm",
        "upload",
        "files"
      ],
      "examples": [
        "Upload this file to Swarm",
        "Store a file on decentralized storage"
      ]
    },
    {
      "id": "upload-folder",
      "name": "Upload Folder",
      "description": "Upload an entire folder to Swarm. Requires a local folder path. Optional: redundancyLevel (0-4), postageBatchId. Returns a Swarm reference hash for the folder manifest.",
      "tags": [
        "decentralized-storage",
        "ethereum",
        "swarm",
        "upload",
        "files"
      ],
      "examples": [
        "Upload this directory to Swarm",
        "Store a folder on decentralized storage"
      ]
    },
    {
      "id": "download-files",
      "name": "Download Files",
      "description": "Download files or folders from Swarm using a reference hash. Prioritized over download-data for unknown data types. Optional: filePath for local destination.",
      "tags": [
        "decentralized-storage",
        "ethereum",
        "swarm",
        "download",
        "files"
      ],
      "examples": [
        "Download files from this Swarm reference",
        "Retrieve a folder from decentralized storage"
      ]
    },
    {
      "id": "update-feed",
      "name": "Update Feed",
      "description": "Update a mutable Swarm feed with new data for a given topic. Feeds provide mutable pointers to immutable content, enabling updatable resources on Swarm. Requires data and memoryTopic. Optional: postageBatchId.",
      "tags": [
        "decentralized-storage",
        "ethereum",
        "swarm",
        "feeds",
        "mutable"
      ],
      "examples": [
        "Update my Swarm feed with new content",
        "Write to a mutable feed topic"
      ]
    },
    {
      "id": "read-feed",
      "name": "Read Feed",
      "description": "Retrieve the latest data from a Swarm feed by topic. Optionally specify an owner Ethereum address to read another account's feed.",
      "tags": [
        "decentralized-storage",
        "ethereum",
        "swarm",
        "feeds"
      ],
      "examples": [
        "Read the latest data from my Swarm feed",
        "Get the current value of a feed topic"
      ]
    },
    {
      "id": "create-postage-stamp",
      "name": "Create Postage Stamp",
      "description": "Buy a postage stamp (storage voucher) based on required storage size in MB and duration (e.g. '1d', '1w', '1month'). Postage stamps are required to upload data to Swarm. Optional: label for human-readable identification.",
      "tags": [
        "decentralized-storage",
        "ethereum",
        "swarm",
        "postage",
        "payments"
      ],
      "examples": [
        "Buy a postage stamp for 100 MB lasting 1 month",
        "Create a storage voucher for Swarm uploads"
      ]
    },
    {
      "id": "get-postage-stamp",
      "name": "Get Postage Stamp",
      "description": "Retrieve details of a specific postage stamp by its batch ID, including remaining capacity and expiry information.",
      "tags": [
        "decentralized-storage",
        "ethereum",
        "swarm",
        "postage"
      ],
      "examples": [
        "Check the status of my postage stamp",
        "Get details for this batch ID"
      ]
    },
    {
      "id": "list-postage-stamps",
      "name": "List Postage Stamps",
      "description": "List available postage stamps with optional filtering. Options: leastUsed (sort order), limit (max results), minUsage/maxUsage (percentage filters).",
      "tags": [
        "decentralized-storage",
        "ethereum",
        "swarm",
        "postage"
      ],
      "examples": [
        "Show my available postage stamps",
        "List stamps with less than 50% usage"
      ]
    },
    {
      "id": "extend-postage-stamp",
      "name": "Extend Postage Stamp",
      "description": "Increase the duration or storage capacity of an existing postage stamp by batch ID. Specify additional size in MB and/or additional duration.",
      "tags": [
        "decentralized-storage",
        "ethereum",
        "swarm",
        "postage",
        "payments"
      ],
      "examples": [
        "Extend my postage stamp by 1 week",
        "Add 50 MB to this batch"
      ]
    },
    {
      "id": "query-upload-progress",
      "name": "Query Upload Progress",
      "description": "Check the upload progress of a deferred upload using a tag ID returned by upload_file or upload_folder operations. Used for monitoring large uploads that exceed the 5 MB sync threshold.",
      "tags": [
        "decentralized-storage",
        "ethereum",
        "swarm",
        "upload",
        "monitoring"
      ],
      "examples": [
        "Check the progress of my upload",
        "Query upload status by tag ID"
      ]
    }
  ],
  "supportsAuthenticatedExtendedCard": false
}