IronShard Object Storage Sandbox
Create a free sandbox object storage bucket; upload, download, list, inspect, and delete objects.
使うべきか
品質と安全性
検出事項(4)
- LOWget_bucket_permissions 内
- LOWget_bucket 内
- LOWupload_object 内
- LOWget_object_metadata 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"agent-storage-sandbox": {
"url": "https://agents-mcp.ironshard.ai/mcp"
}
}
}リモートエンドポイント
https://agents-mcp.ironshard.ai/mcpstreamable-httpできること
ツール一覧
ツール(8)
🟡create_bucket
Creates a 30-day bucket and its secret bearer token.
入力スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"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."
}推奨プロンプト
get_bucket_permissionsget_bucket_permissionslist_objectslist_objectslist_objectsget_bucket_permissionsコミュニティ
エビデンス