mcpField
C
cli-anything-tigris

cli-anything-tigris

github.com/hkudsクラウド・DevOps57.6k198 回インストール5 週間前に更新
リポジトリ

cli-anything-tigris について

公式 Tigris CLI をラップする、エージェント向けのステートレスなコマンドラインツールです。バケット、オブジェクト、スナップショット、アクセスキー、IAM の操作を機械処理可能な JSON 出力で提供します。

主な機能

  1. 01バケットとオブジェクトの管理
  2. 02オブジェクトのアップロード、取得、コピー、参照
  3. 03期限付きアップロード・ダウンロード URL の作成
  4. 04バケットスナップショットの作成と一覧表示
  5. 05範囲指定アクセスキーと IAM の管理

活用シーン

  1. 01Tigris バケット間でのオブジェクト転送
  2. 02期限付きオブジェクトアクセス URL の作成
  3. 03破壊的操作の前のバケットスナップショット作成
  4. 04エージェント実行用のバケット限定認証情報の発行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hkuds/cli-anything --skill cli-anything-tigris

インストール後、Claude Code で/cli-anything-tigrisを入力して読み込まれたか確認します。

詳細

cli-anything-tigris

Tigris オブジェクトストレージ向けのステートレスなコマンドラインインターフェースです。公式の tigris CLI をラップすることで、すべての Tigris プリミティブ(スナップショット、IAM、スコープ付き資格情報、OAuth)に、あらゆる箇所で --json を備えたエージェントフレンドリーな単一のエントリポイントからアクセスできます。

スコープ

このハーネスは公式の Tigris CLI 専用です。tigris バイナリを呼び出し、tigris login または Tigris アクセスキーによる Tigris 認証を前提としています。汎用的な S3 エンドポイントツールではなく、MinIO、Cloudflare R2、AWS S3、その他任意の S3 互換エンドポイントを管理するものではありません。

インストール

# 1. Install the underlying Tigris CLI
npm install -g @tigrisdata/cli
# or:
brew install tigrisdata/tap/tigris

# 2. Authenticate (browser OAuth)
tigris login

# 3. Install this harness
pip install cli-anything-tigris

前提条件:

  • Python 3.10+
  • PATH 上の tigris CLI(バイナリのエイリアスは t3)

使い方

基本コマンド
# Show help
cli-anything-tigris --help

# Start interactive REPL
cli-anything-tigris

# Whoami (JSON output for agents)
cli-anything-tigris --json auth whoami

# List buckets
cli-anything-tigris --json bucket list

# Upload a local file
cli-anything-tigris --json object put --bucket my-bucket --key path/to/file.txt --file ./local.txt

# Download an object
cli-anything-tigris --json object get --bucket my-bucket --key path/to/file.txt --output ./out.txt

# Server-side copy
cli-anything-tigris --json object cp t3://my-bucket/src.txt t3://my-bucket/dst.txt

# Take a snapshot
cli-anything-tigris --json snapshot take my-bucket --name baseline-v1

# Delete a bucket; --yes is required
cli-anything-tigris --json bucket delete --name old-bucket --yes

# Create a scoped access key for an agent run
cli-anything-tigris --json access-key create my-agent-key
cli-anything-tigris --json access-key assign tid_AaBb --bucket my-bucket --role Editor

# Rotate or delete access keys; --yes is required
cli-anything-tigris --json access-key rotate tid_AaBb --yes
cli-anything-tigris --json access-key delete tid_AaBb --yes

# Presigned download URL (1 hour)
cli-anything-tigris --json presign get --bucket my-bucket --key path/to/file.txt --expires 3600
REPL モード

サブコマンドなしで起動すると、CLI はタブ補完と履歴を備えた対話型 REPL に入ります。

コマンドグループ

auth

OAuth ベースの認証。

コマンド説明
loginブラウザ OAuth ログイン(tigris login)
logout現在のセッションからログアウト
whoami認証済みユーザー / 組織を表示
bucket

バケットの CRUD。

コマンド説明
listすべてのバケットを一覧表示
create --name NAMEバケットを作成
delete --name NAME --yes空のバケットを削除(--yes が必要)
info NAMEバケット情報を取得
object

オブジェクト操作(tigris ls/cp/rm/stat をラップ)。

コマンド説明
list --bucket B [--prefix P] [--limit N]オブジェクトを一覧表示
put --bucket B --key K (--file F | --text T)オブジェクトをアップロード
get --bucket B --key K --output Fオブジェクトをダウンロード
delete --bucket B --key Kオブジェクトを削除
info --bucket B --key Kオブジェクトのメタデータ(HEAD / stat)
cp SRC DST [-r]コピー。t3:// または tigris:// URI を受け付けます。
presign

有効期限付き URL。

コマンド説明
get --bucket B --key K [--expires SEC]署名付きダウンロード URL
put --bucket B --key K [--expires SEC]署名付きアップロード URL
snapshot

ポイントインタイムのバケットスナップショット — Tigris 固有のプリミティブです。

コマンド説明
list BUCKETバケットのスナップショットを一覧表示
take BUCKET [--name N]スナップショットを取得
access-key

スコープ付きのプログラム用資格情報 — snapshot と組み合わせることでエージェントごとの分離が可能になります。

コマンド説明
listすべてのアクセスキーを一覧表示
create NAME新しいアクセスキーを作成(シークレットは 1 回だけ表示)
get KEY_IDキーの詳細を表示
delete KEY_ID --yesキーを完全に削除(--yes が必要)
assign KEY_ID --bucket B --role Rキーをバケット + ロールにスコープ
rotate KEY_ID --yesキーのシークレットをローテーション(--yes が必要)
iam

ポリシーと組織ユーザー。

コマンド説明
policy listIAM ポリシーを一覧表示
policy create NAME --document FILEJSON ファイルからポリシーを作成
user list組織のユーザーを一覧表示
user invite EMAIL [--role R]ユーザーを招待

出力形式

すべてのコマンドは二重の出力モードをサポートしています:

  • 人間が読みやすい形式(デフォルト): テーブル、色、整形されたテキスト
  • 機械可読形式(--json): JSON エンベロープ(またはアップストリーム CLI の --format json 出力をそのままエコー)

AI エージェント向け

この CLI をプログラムから利用する場合:

  1. 解析可能な出力を得るには、常に --json を指定してください。
  2. リターンコードを確認してください — 成功時は 0、エラー時は非ゼロです。
  3. エラーメッセージは stderr から読み取ってください。
  4. object cp は t3://bucket/key または tigris://bucket/key 形式の URI を受け付けます。 サーバー側コピー(t3 → t3)はラウンドトリップを完全に省略します。
  5. presign はヒューマンモードでは URL を stdout に出力し、JSON モードでは url フィールドに格納されます。
  6. 破壊的な操作について: バケットの削除、アクセスキーの削除、および アクセスキーのローテーションには明示的な --yes が必要です。まず対象 バケットの snapshot を取得し、その後で操作を実行し、最後にスナップショットを 保持するか破棄するかを選んでください。
  7. エージェントごとの分離について: access-key create と access-key assign --bucket B --role Editor を使って、1 つのバケットにスコープされたキーを発行します。 エージェントの実行が終了したら access-key delete で失効させてください。

Tigris を選ぶ理由

  • グローバルに分散。 データは読み取られる場所の近くに配置されます。
  • エグレス料金がかかりません。 エージェントがどこからでもアーティファクトを 取得しても、リージョンごとの帯域幅料金は発生しません。
  • スナップショット + スコープ付き認証情報。 一般的な S3 互換プロバイダーには ないプリミティブであり、エージェントごとの分離を実現する基盤です。
  • S3 互換。 S3 対応ツールと併用できますが、このハーネス自体は汎用的な S3/MinIO/R2/AWS エンドポイントマネージャーではありません。

バージョン

1.0.0

コメント