IronShard Object Storage Sandbox

Create a free sandbox object storage bucket; upload, download, list, inspect, and delete objects.

Should I use this

Quality & Safety

A
Description quality
80%
Schema completeness
90%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (4)

  • LOWTool 'get_bucket_permissions' description lacks action verbin get_bucket_permissions
  • LOWTool 'get_bucket' description lacks action verbin get_bucket
  • LOWTool 'upload_object' description lacks action verbin upload_object
  • LOWTool 'get_object_metadata' description lacks action verbin get_object_metadata

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,600Tokens (tool definitions)
~3.7 KBTypical response size
Significant attention impact (2.03% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "agent-storage-sandbox": {
      "url": "https://agents-mcp.ironshard.ai/mcp"
    }
  }
}

Remote endpoints

https://agents-mcp.ironshard.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡create_bucket

Creates a 30-day bucket and its secret bearer token.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "bucket_name": {
      "description": "Name of the newly created bucket.",
      "minLength": 1,
      "type": "string"
    },
    "bucket_token": {
      "description": "Bearer credential required with the bucket name for all other operations.",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "bucket_name",
    "bucket_token"
  ],
  "description": "Credentials for a newly created sandbox bucket."
}
🟢get_bucket_permissions(bucket_name, bucket_token)

Return currently permitted buckets and operations.

Input Schema

{
  "type": "object",
  "properties": {
    "bucket_name": {
      "description": "Bucket to operate on.",
      "examples": [
        "photos"
      ],
      "minLength": 1,
      "type": "string"
    },
    "bucket_token": {
      "description": "Secret bearer token returned with the public bucket.",
      "examples": [
        "<bucket-token>"
      ],
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "bucket_name",
    "bucket_token"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "buckets": {
      "items": {
        "properties": {
          "bucketRef": {
            "anyOf": [
              {
                "description": "An existing bucket owned by the grantee's team.",
                "properties": {
                  "type": {
                    "const": "existing",
                    "type": "string"
                  },
                  "bucketName": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "bucketName"
                ],
                "type": "object"
              },
              {
                "description": "A named bucket to create while installing the policy.",
                "properties": {
                  "type": {
                    "const": "provisioned",
                    "type": "string"
                  },
                  "bucketName": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "bucketName"
                ],
                "type": "object"
              },
              {
                "description": "Buckets the credential holder may create while using the policy.",
                "properties": {
                  "type": {
                    "const": "__new__",
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object"
              }
            ]
          },
          "permissions": {
            "items": {
              "enum": [
                "read",
                "write",
                "delete"
              ],
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "bucketRef",
          "permissions"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "buckets"
  ],
  "description": "What operations are allowed on which buckets"
}
🟢get_bucket(bucket_name, bucket_token)

Return bucket details with storage and egress usage.

Input Schema

{
  "type": "object",
  "properties": {
    "bucket_name": {
      "description": "Bucket to operate on.",
      "examples": [
        "photos"
      ],
      "minLength": 1,
      "type": "string"
    },
    "bucket_token": {
      "description": "Secret bearer token returned with the public bucket.",
      "examples": [
        "<bucket-token>"
      ],
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "bucket_name",
    "bucket_token"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "bucket_name": {
      "description": "Bucket to operate on.",
      "examples": [
        "photos"
      ],
      "minLength": 1,
      "type": "string"
    },
    "created_at": {
      "description": "UTC creation time",
      "format": "date-time",
      "type": "string"
    },
    "object_count": {
      "description": "Number of objects",
      "minimum": 0,
      "type": "integer"
    },
    "versioning_enabled": {
      "description": "Whether object versioning is enabled.",
      "type": "boolean"
    },
    "storage": {
      "description": "Storage quota and current usage in bytes.",
      "properties": {
        "quota": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "usage": {
          "type": "integer"
        }
      },
      "required": [
        "quota",
        "usage"
      ],
      "type": "object"
    },
    "egress": {
      "description": "Monthly egress quota and current UTC-calendar-month usage in bytes.",
      "properties": {
        "quota": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "usage": {
          "type": "integer"
        }
      },
      "required": [
        "quota",
        "usage"
      ],
      "type": "object"
    }
  },
  "required": [
    "bucket_name",
    "created_at",
    "object_count",
    "versioning_enabled",
    "storage",
    "egress"
  ],
  "description": "Public bucket details including its bucket-scoped quota and usage."
}
🟡upload_object(bucket_name, object_key, bucket_token)

Return a secret, short-lived PUT URL for an object up to 5 GB.

Input Schema

{
  "type": "object",
  "properties": {
    "bucket_name": {
      "description": "Bucket to operate on.",
      "examples": [
        "photos"
      ],
      "minLength": 1,
      "type": "string"
    },
    "object_key": {
      "description": "Complete object key, including path-like prefixes.",
      "examples": [
        "data.parquet",
        "reports/summary.json"
      ],
      "minLength": 1,
      "type": "string"
    },
    "bucket_token": {
      "description": "Secret bearer token returned with the public bucket.",
      "examples": [
        "<bucket-token>"
      ],
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "bucket_name",
    "object_key",
    "bucket_token"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Short-lived presigned HTTPS URL containing all authorization information.",
      "type": "string"
    },
    "http_method": {
      "description": "HTTP method that must be used with the presigned URL.",
      "enum": [
        "GET",
        "PUT"
      ],
      "type": "string"
    }
  },
  "required": [
    "url",
    "http_method"
  ],
  "description": "A short-lived URL and the HTTP method required to use it."
}
🟢download_object(bucket_name, object_key, bucket_token)

Return a secret, short-lived GET URL for an object's bytes.

Input Schema

{
  "type": "object",
  "properties": {
    "bucket_name": {
      "description": "Bucket to operate on.",
      "examples": [
        "photos"
      ],
      "minLength": 1,
      "type": "string"
    },
    "object_key": {
      "description": "Complete object key, including path-like prefixes.",
      "examples": [
        "data.parquet",
        "reports/summary.json"
      ],
      "minLength": 1,
      "type": "string"
    },
    "bucket_token": {
      "description": "Secret bearer token returned with the public bucket.",
      "examples": [
        "<bucket-token>"
      ],
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "bucket_name",
    "object_key",
    "bucket_token"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Short-lived presigned HTTPS URL containing all authorization information.",
      "type": "string"
    },
    "http_method": {
      "description": "HTTP method that must be used with the presigned URL.",
      "enum": [
        "GET",
        "PUT"
      ],
      "type": "string"
    }
  },
  "required": [
    "url",
    "http_method"
  ],
  "description": "A short-lived URL and the HTTP method required to use it."
}
🟢list_objects(bucket_name, bucket_token, prefix, recursive, page_size, ...)

List one page of objects and path-like prefixes, ordered by key.

Input Schema

{
  "type": "object",
  "properties": {
    "bucket_name": {
      "description": "Bucket to operate on.",
      "examples": [
        "photos"
      ],
      "minLength": 1,
      "type": "string"
    },
    "bucket_token": {
      "description": "Secret bearer token returned with the public bucket.",
      "examples": [
        "<bucket-token>"
      ],
      "minLength": 1,
      "type": "string"
    },
    "prefix": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Only return keys beginning with this prefix.",
      "examples": [
        "reports/"
      ]
    },
    "recursive": {
      "default": false,
      "description": "True for a flat listing; false for immediate children.",
      "examples": [
        false
      ],
      "type": "boolean"
    },
    "page_size": {
      "default": 100,
      "description": "Maximum objects to return, from 1 to 1000.",
      "examples": [
        100
      ],
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    },
    "page_token": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Opaque continuation token from the preceding page.",
      "examples": [
        "<next-page-token>"
      ]
    }
  },
  "required": [
    "bucket_name",
    "bucket_token"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "bucket_name": {
      "description": "Bucket to operate on.",
      "examples": [
        "photos"
      ],
      "minLength": 1,
      "type": "string"
    },
    "objects": {
      "items": {
        "description": "Compact information about an object returned by a listing.",
        "properties": {
          "object_key": {
            "description": "Complete object key, including path-like prefixes.",
            "examples": [
              "data.parquet",
              "reports/summary.json"
            ],
            "minLength": 1,
            "type": "string"
          },
          "size_bytes": {
            "description": "Object size in bytes.",
            "minimum": 0,
            "type": "integer"
          },
          "last_modified": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "UTC time of the most recent modification."
          },
          "etag": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Storage entity tag; it is not always a content checksum."
          },
          "version_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "content_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "object_key",
          "size_bytes"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "common_prefixes": {
      "description": "Immediate child prefixes when recursive is false. They behave like directories, although object storage has no real directories.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "next_page_token": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Opaque token for the next page. Pass it unchanged as page_token; null means there are no more results."
    }
  },
  "required": [
    "bucket_name"
  ],
  "description": "One page of objects and the token needed to retrieve the next page."
}
🔴delete_object(bucket_name, object_key, bucket_token)

Delete an object; versioned buckets may retain older versions.

Input Schema

{
  "type": "object",
  "properties": {
    "bucket_name": {
      "description": "Bucket to operate on.",
      "examples": [
        "photos"
      ],
      "minLength": 1,
      "type": "string"
    },
    "object_key": {
      "description": "Complete object key, including path-like prefixes.",
      "examples": [
        "data.parquet",
        "reports/summary.json"
      ],
      "minLength": 1,
      "type": "string"
    },
    "bucket_token": {
      "description": "Secret bearer token returned with the public bucket.",
      "examples": [
        "<bucket-token>"
      ],
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "bucket_name",
    "object_key",
    "bucket_token"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "bucket_name": {
      "description": "Bucket to operate on.",
      "examples": [
        "photos"
      ],
      "minLength": 1,
      "type": "string"
    },
    "object_key": {
      "description": "Complete object key, including path-like prefixes.",
      "examples": [
        "data.parquet",
        "reports/summary.json"
      ],
      "minLength": 1,
      "type": "string"
    },
    "deleted": {
      "description": "True when the object was deleted.",
      "type": "boolean"
    },
    "version_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "bucket_name",
    "object_key",
    "deleted"
  ],
  "description": "Confirmation that an object was deleted."
}
🟢get_object_metadata(bucket_name, object_key, bucket_token)

Return an object's size, timestamps, ETag, content type, metadata, and tags.

Input Schema

{
  "type": "object",
  "properties": {
    "bucket_name": {
      "description": "Bucket to operate on.",
      "examples": [
        "photos"
      ],
      "minLength": 1,
      "type": "string"
    },
    "object_key": {
      "description": "Complete object key, including path-like prefixes.",
      "examples": [
        "data.parquet",
        "reports/summary.json"
      ],
      "minLength": 1,
      "type": "string"
    },
    "bucket_token": {
      "description": "Secret bearer token returned with the public bucket.",
      "examples": [
        "<bucket-token>"
      ],
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "bucket_name",
    "object_key",
    "bucket_token"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "object_key": {
      "description": "Complete object key, including path-like prefixes.",
      "examples": [
        "data.parquet",
        "reports/summary.json"
      ],
      "minLength": 1,
      "type": "string"
    },
    "size_bytes": {
      "description": "Object size in bytes.",
      "minimum": 0,
      "type": "integer"
    },
    "last_modified": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "UTC time of the most recent modification."
    },
    "etag": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Storage entity tag; it is not always a content checksum."
    },
    "version_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "content_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "bucket_name": {
      "description": "Bucket to operate on.",
      "examples": [
        "photos"
      ],
      "minLength": 1,
      "type": "string"
    },
    "metadata": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "User-defined object metadata.",
      "type": "object"
    },
    "tags": {
      "additionalProperties": {
        "type": "string"
      },
      "type": "object"
    }
  },
  "required": [
    "object_key",
    "size_bytes",
    "bucket_name"
  ],
  "description": "Detailed metadata for one object."
}

Recommended Prompts

retrieve_data
Get details about [item] from IronShard Object Storage Sandbox
Expected tools: get_bucket_permissions
fetch_info
Fetch [information type] using IronShard Object Storage Sandbox
Expected tools: get_bucket_permissions
list_items
List all [items] available in IronShard Object Storage Sandbox
Expected tools: list_objects
browse_collection
Show me the [collection] from IronShard Object Storage Sandbox
Expected tools: list_objects
explore_workflow
List available [items], then get details for each one using IronShard Object Storage Sandbox
Expected tools: list_objectsget_bucket_permissions

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools