プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Cldsh Cloudinary Shell

作者:Sheldon1999バージョン 2.0.1i★ –iパソコンで動く
レジストリ名io.github.Sheldon1999/cldsh-Cloudinary-Shell

インストール

概要

作者による説明(英語の原文)

Unix-style shell, scriptable CLI and MCP server for Cloudinary asset management.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "cldsh-cloudinary-shell": {
      "command": "npx",
      "args": [
        "-y",
        "cloudinary-shell"
      ]
    }
  }
}

ターミナルでこれを実行します

claude mcp add cldsh-cloudinary-shell -- npx -y cloudinary-shell

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "cldsh-cloudinary-shell": {
      "command": "npx",
      "args": [
        "-y",
        "cloudinary-shell"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "cldsh-cloudinary-shell": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "cloudinary-shell"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント Sheldon1999 で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32403件のうち0%よりスターが多い
  • このカテゴリのほかの32403件のうち79%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32403件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Cldsh Cloudinary Shellは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(2.0.1)がレジストリに届いたのは9 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, LickityClick

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211昨日更新
インストール

LickityClick

作者:lickity.click

Create, edit and track LickityClick short links, campaigns and click stats from your AI assistant.

パソコンでもクラウドでも今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Cloudinary Shell (cldsh)

MCP server, interactive shell and scriptable CLI for Cloudinary

cldsh lets you work with a Cloudinary account like a file system:

  • AI agents (Claude Desktop, Claude Code, Cursor) get Cloudinary tools through the Model Context Protocol (MCP), with previews and confirmation before anything is deleted or replaced.
  • Developers get an interactive shell with folders, tab completion, history and inline image previews.
  • Scripts and CI get single commands with JSON output and meaningful exit codes.

It works with both Cloudinary folder modes: dynamic folders (every account created since June 2024) and the older fixed folders. The mode is detected automatically.

Working on a project that uses Cloudinary? Give INTEGRATION.md to your AI agent or team: integration patterns (Next.js, React, Node.js, Python), transformation recipes and cldsh workflows.


How cldsh compares

Cloudinary also publishes an official CLI (cloudinary-cli, Python) and official MCP packages (@cloudinary/*). cldsh is a separate, independent project built for a different workflow: one Node binary that is a shell, a scriptable CLI and an MCP server together, authenticated with your existing API key — no Python runtime, no OAuth browser flow, no hosted service required.

cldshcloudinary-cli (official)@cloudinary/* MCP (official)community MCP servers
RuntimeNode, npxPython, pipx/DockerNode, npx per packageNode, npx
AuthAPI key / .envOAuth loginOAuth (hosted) or API keyAPI key
Interactive shell (cd, ls, tab completion)✅❌ one-shot flags❌ not a CLI❌ not a CLI
MCP server✅ same binary❌✅ (5 separate packages)✅
Confirm before delete/move/overwrite✅ two-step token, --dry-run❌—❌
Fixed/dynamic folder mode✅ auto-detectednot documentednot documentednot documented

Pick cldsh for one local tool, API-key auth and a safety net on AI-driven changes. Pick the official packages for Cloudinary-maintained, domain-split MCP servers with OAuth and enterprise support.


Quick start

Requires Node.js 20 or newer and a Cloudinary account (cloud name, API key and API secret, or a CLOUDINARY_URL).

# AI agents: add the MCP server to Claude Code

claude mcp add cloudinary npx -y cloudinary-shell --mcp

Developers: open the interactive shell

npx cloudinary-shell

Scripts: run one command

npx cloudinary-shell ls products --json

Install globally to get the shorter cldsh command: npm install -g cloudinary-shell.


MCP server (for AI agents)

cldsh --mcp runs an MCP server over stdio (JSON-RPC 2.0). It supports protocol versions 2025-06-18, 2025-03-26 and 2024-11-05.

Client setup

Claude Desktop (claude_desktop_config.json):

{

"mcpServers": { "cloudinary": { "command": "npx", "args": ["-y", "cloudinary-shell", "--mcp"] } } }

Claude Code: claude mcp add cloudinary npx -y cloudinary-shell --mcp

Cursor: Settings → MCP → Add new MCP server, type command, command npx -y cloudinary-shell --mcp.

Check the setup with cldsh mcp: it runs the handshake, lists the tools and makes a live call on your account.

Tools
ToolWhat it doesMain arguments
cloudinary_listList folders and assets (wildcards allowed)path, resource_type, delivery_type, max
cloudinary_treeFolder treefolder, depth, resource_type, max_files
cloudinary_infoFull metadata of one assetpublic_id, resource_type, delivery_type
cloudinary_get_urlDelivery URL, optionally transformed or signedpublic_id, transformation, signed, resource_type
cloudinary_uploadUpload a local file or directorylocal_path, name, folder, recursive, overwrite, resource_type, dry_run
cloudinary_downloadDownload assets to the local diskpublic_id, destination, overwrite, dry_run
cloudinary_moveMove or rename an asset or foldersource, target, overwrite, change_public_id, dry_run
cloudinary_deleteDelete assets, or folders with recursivetarget, recursive, resource_type, dry_run
cloudinary_mkdirCreate a folderfolder
cloudinary_rename_folderRename or move a folder (dynamic folder mode)from, to
cloudinary_accountCloud name, folder mode, credential source, remaining API budget—

Every tool carries MCP annotations (read-only, destructive, idempotent), so clients can decide when to ask you.

Safety
  • Two-step changes. cloudinary_delete, cloudinary_move, cloudinary_rename_folder, and uploads that would replace existing assets first return a preview with a confirm_token. Nothing changes until the agent calls again with the same arguments and that token. Tokens are single-use, expire after 5 minutes and stop working if the account changes. dry_run: true only previews.
  • Local files. Uploads and downloads can only reach the folder the server was started in, the folders your MCP client shares as roots, and folders added with --allow-path. The cldsh credentials folder, ~/.ssh and hidden files (unless named explicitly) are always refused. Downloads never overwrite a local file unless overwrite: true.
  • Server options:
  • --read-only: only the read-only tools (list, tree, info, get_url, account).
  • --allow-path : allow another local folder (repeatable).
  • --no-confirm: run changes in one call, as in cldsh 1.x. Use only for trusted automation.
"args": ["-y", "cloudinary-shell", "--mcp", "--read-only"]

Command line (for scripts and CI)

Run any command directly: cldsh [arguments] [options].

  • Results go to stdout; progress, warnings and errors go to stderr.
  • --json prints machine-readable JSON on stdout (errors are printed as JSON on stderr).
  • Exit codes: 0 success, 1 error, 2 wrong usage, 3 partly failed (for example 2 of 50 uploads failed), 4 needs confirmation (add --yes) or was cancelled.
  • --profile uses a saved profile for one command.
# Upload a build folder with subfolders

cldsh upload ./dist/assets -r --to site/assets

CDN URLs of every asset in a folder

cldsh ls portfolio --json | jq -r '.files[].secure_url'

Assets larger than 100 KB

cldsh ls portfolio --json | jq -r '.files[] | select(.bytes > 100000) | .public_id'

Preview a delete, then run it without the question

cldsh rm 'old-*' --dry-run cldsh rm -r archive/2023 --yes

Quote wildcards. Your shell expands an unquoted cld* into local file names before cldsh sees it. Write cldsh rm 'cld*'. If every name given to rm exists in the local directory, cldsh refuses and reminds you.


Interactive shell

Run cldsh with no arguments.

Connected to Cloudinary account: my-cloud (global credentials profile (default))

[my-cloud]$~ cd products [my-cloud]$~/products ls -l

SIZE(KB) DIMENSIONS(px) NAME FORMAT TYPE ──────── ────────────── ──────── ────── ───── 245 1200x630 hero png image 15 512x512 logo svg image 1830 1920x1080 promo mp4 video

  • The prompt shows the account (and profile) and the current folder.
  • Tab completes commands, options, folder paths (cd apps/ ) and asset names.
  • History is kept across sessions in ~/.cldsh_history (private file; lines with credentials are never saved).
  • Paths are relative to the current folder; / or ~ is the root, .. goes up, cd - goes back.
  • help lists all commands; help lists all options of one command.

Commands

CommandWhat it does
login [profile] [URL] [--stdin]Connect an account and save it as a profile (checked with Cloudinary first)
`config [ls \use \rm ]`Show the active account and which sources it overrides; list, switch or remove profiles
`ls [path\pattern] [-l]`List folders and assets
cd, pwdChange and show the current Cloudinary folder (shell only)
lcd, lpwdChange and show the local directory
mkdir ...Create folders (parents included)
upload [name] [--to folder] [-r]Upload a file or a directory
download ... [destination] [-f]Download assets
mv [-o] [--public-id]Move or rename an asset or folder
info Asset metadata (-v for the full API response)
url ... [--t=...] [--signed]Delivery URLs
view (alias preview)Show an image or video thumbnail in the terminal
open Open an asset in the browser
rm [-r] ... [-y]Delete assets, or folders with -r
tree [folder] [-d N]Folder tree
quotaRemaining Admin API requests this hour and the folder mode
mcpCheck the MCP server

Options shared by many commands:

OptionMeaning
`--rt=image\video\raw\all`Resource type. Listings show all types by default.
`--type=upload\private\authenticated`Delivery type
--dry-runShow what would happen without changing anything
-y, --yesDon't ask for confirmation
--jsonJSON output

Assets can be named by their name in the current folder, by path (products/hero), by public ID, or as asset_id: . If a name matches several assets (for example an image and a video called intro), cldsh lists them; add --rt or use the public ID.

Uploading
[my-cloud]$~/products upload ~/Pictures/hero.png

Uploaded (created): https://res.cloudinary.com/my-cloud/image/upload/v1730000000/products/hero.png

[my-cloud]$~ upload ./media -r --to campaigns/fall [1/3] created https://res.cloudinary.com/my-cloud/image/upload/.../campaigns/fall/banner.png [2/3] created https://res.cloudinary.com/my-cloud/video/upload/.../campaigns/fall/teaser.mp4 [3/3] created https://res.cloudinary.com/my-cloud/raw/upload/.../campaigns/fall/notes.txt

  • The resource type comes from the file extension: images (including PDF and SVG) → image, video and audio → video, everything else → raw. --rt overrides it.
  • Images and videos get a public ID without extension; raw files keep it (notes.txt).
  • -r includes subdirectories as subfolders. Dotfiles are skipped.
  • Existing assets are overwritten and reported as overwritten; --no-overwrite keeps them (skipped).
  • When two files would get the same public ID (photo.jpg, photo.png), both get their extension as suffix (photo_jpg, photo_png).
  • Files over 20 MB are uploaded in chunks with progress; temporary failures are retried.
  • --dry-run shows the planned public IDs and works without credentials.
Deleting
[my-cloud]$~/products rm hero

deleted products/hero Deleted 1 · not found 0 · failed 0

[my-cloud]$~ rm -r campaigns/fall Delete 3 assets (1 image, 1 video, 1 raw, 2.1 MB) and 1 folder in cloud my-cloud: ... Proceed? [y/N]

  • rm -r deletes everything in the folder and its subfolders (all resource and delivery types), then the folder.
  • Recursive deletes,

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く