AgentStack
MCP unreviewed MIT Self-run

Adapto Cms Cli

mcp-adaptocms-adapto-cms-cli · by adaptocms

Command-line interface for the Adapto CMS management API. Give LLM agents full knowledge of the CLI (for MCP/tool-use scenarios).

No reviews yet
0 installs
1 views
0.0% view→install

Install

$ agentstack add mcp-adaptocms-adapto-cms-cli

Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.

Security review

⚠ Flagged

1 finding(s); flagged for manual review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures
  • high Pipes remote content directly into a shell (remote code execution).

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Adapto Cms Cli? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Adapto CMS CLI

Command-line interface for the Adapto CMS Management API.

Install

Quick install (macOS/Linux)

curl -sSL https://raw.githubusercontent.com/adaptocms/adapto-cms-cli/main/scripts/install.sh | bash

From source

go install github.com/adaptocms/adapto-cms-cli@latest

From releases

Download the binary for your platform from GitHub Releases.

Quick Start

# Login (credentials are saved automatically)
adapto auth login --email you@example.com --password yourpassword

# List articles
adapto articles list

# Get JSON output
adapto articles list --json

# Create an article (interactive prompts for missing fields)
adapto articles create

# Create with flags
adapto articles create \
  --title "My Article" \
  --content "Hello world" \
  --slug "my-article" \
  --author "Jane" \
  --language "en-US"

LLM Integration

The CLI is built to be driven by LLM agents. One command gives an agent full knowledge of every command, flag, and workflow:

adapto llm-info

Pipe it into your agent's context (Claude Code, Cursor, MCP tools) and the agent can manage content end to end. Every command supports --json for machine-readable output.

Configuration

None needed in the common case: adapto auth login stores credentials in ~/.config/adapto/credentials.json and every command reads them from there.

For scripting and overrides:

| Variable | Description | | ---------------------- | -------------------------------------------------------------- | | ADAPTO_CLI_TOKEN | Bearer token (overrides stored credentials) | | ADAPTO_CLI_API_URL | Management API base URL (default: https://api.adaptocms.com) | | ADAPTO_CLI_TENANT_ID | Tenant ID (overrides stored credentials) |

All variables can also be passed as flags: --token, --api-url, --tenant-id.

> Two APIs. The CLI talks only to the Management API (api.adaptocms.com). The ADAPTO_API_URL / ADAPTO_API_KEY variables found in client site .env files configure the read-only Public API and are ignored by the CLI. Never point ADAPTO_CLI_API_URL at public-api.adaptocms.com.

Commands

adapto
├── articles                          Manage articles
│   ├── archive                 Archive an article
│   ├── categories              List categories of an article
│   ├── create                      Create an article
│   ├── create-translation   Create an article translation
│   ├── delete                  Delete an article
│   ├── get                     Get an article by ID
│   ├── get-by-slug           Get an article by slug
│   ├── list                        List articles
│   ├── publish                 Publish an article
│   ├── translations            List translations of an article
│   └── update                  Update an article
├── auth                              Authentication commands
│   ├── activate                    Activate account with token
│   ├── callback-github             Complete GitHub OAuth callback
│   ├── change-password             Change your password
│   ├── login                       Login with email and password
│   ├── login-github                Login via GitHub OAuth
│   ├── login-google                Login via Google credential
│   ├── logout                      Logout (revoke refresh token)
│   ├── me                          Get current user info
│   ├── orgs                        List your organizations and their tenants
│   ├── refresh                     Refresh access token
│   ├── register                    Register a new account
│   ├── request-password-reset      Request a password reset email
│   ├── resend-activation           Resend activation email
│   ├── reset-password              Reset password with token
│   └── switch-tenant               Switch active tenant/organization
├── categories                        Manage categories
│   ├── add-article    Add an article to a category
│   ├── articles       List articles in a category
│   ├── create                      Create a category
│   ├── create-translation   Create a category translation
│   ├── delete                  Delete a category
│   ├── get                     Get a category by ID
│   ├── get-by-slug           Get a category by slug
│   ├── list                        List categories
│   ├── remove-article    Remove an article from a category
│   ├── subcategories           List subcategories
│   ├── translations            List translations of a category
│   └── update                  Update a category
├── collections                       Manage custom collections
│   ├── create                      Create a collection
│   ├── delete                  Delete a collection
│   ├── get                     Get a collection by ID
│   ├── get-by-slug           Get a collection by slug
│   ├── items                       Manage collection items
│   │   ├── archive    Archive a collection item
│   │   ├── create   Create a collection item
│   │   ├── create-batch   Create multiple items in batch
│   │   ├── create-translation    Create an item translation
│   │   ├── delete    Delete a collection item
│   │   ├── get    Get a collection item
│   │   ├── get-by-slug    Get a collection item by slug
│   │   ├── list   List items in a collection
│   │   ├── publish    Publish a collection item
│   │   ├── translations    List translations of an item
│   │   └── update    Update a collection item
│   ├── list                        List collections
│   └── update                  Update a collection
├── files                             Manage files
│   ├── create-metadata             Create file metadata (before upload)
│   ├── delete                  Delete a file
│   ├── get                     Get file info by ID
│   ├── list                        List files
│   ├── multipart-abort    Abort a multipart upload
│   ├── multipart-complete    Complete a multipart upload
│   ├── multipart-init     Initialize a multipart upload
│   ├── multipart-upload      Upload a part of a multipart upload
│   ├── update                  Update file metadata
│   ├── upload            Upload a file
│   └── upload-by-id    Upload file content for an existing file record
├── llm-info                          Print full CLI reference for LLM consumption
├── microcopy                         Manage micro copy entries
│   ├── count                       Count micro copy entries
│   ├── create                      Create a micro copy entry
│   ├── create-translation   Create a micro copy translation
│   ├── delete                  Delete a micro copy entry
│   ├── get                     Get micro copy by ID
│   ├── get-by-key             Get micro copy by key
│   ├── get-by-language   Get all micro copy for a language
│   ├── list                        List micro copy entries
│   ├── translations            List translations of a micro copy entry
│   └── update                  Update a micro copy entry
├── pages                             Manage pages
│   ├── archive                 Archive a page
│   ├── create                      Create a page
│   ├── create-translation   Create a page translation
│   ├── delete                  Delete a page
│   ├── get                     Get a page by ID
│   ├── get-by-slug           Get a page by slug
│   ├── list                        List pages
│   ├── publish                 Publish a page
│   ├── translations            List translations of a page
│   └── update                  Update a page
├── status                            API status commands
│   └── version                     Get API version info
└── version                           Print the CLI version

Output

By default, commands output formatted tables. Use --json for JSON output:

adapto articles list --json
adapto articles get abc123 --json

Interactive Mode

When running in a terminal (TTY), missing required parameters will be prompted interactively. When piped or in scripts, missing parameters produce an error with usage hints.

File Upload

# Single-step upload (creates metadata + uploads content)
adapto files upload ./photo.jpg

# Two-step: create metadata first, then upload by ID
adapto files create-metadata --filename photo.jpg --content-type image/jpeg
adapto files upload-by-id FILE_ID ./photo.jpg

Media Objects

Articles, pages, and collection items support attaching media (images, videos, embeds) via the --media-json flag on create, update, and create-translation commands:

adapto articles create \
  --title "My Post" \
  --content "Hello" \
  --slug my-post \
  --author "Jane" \
  --language en-US \
  --media-json '[{
    "placement_key": "hero_image",
    "media_object": {
      "id": "m1",
      "file_id": "FILE_ID",
      "url": "https://cdn.example.com/photo.jpg",
      "type": "image"
    },
    "alt_text": "Hero image"
  }]'

Each placement object supports:

  • placement_key: where the media goes (e.g. hero_image, body_image_1)
  • media_object: id, file_id, url, type (image/video/audio/document/other/youtube/vimeo/tiktok/instagramreel/instagrampost), title, description
  • caption, alt_text, meta_data: optional metadata

The same --media-json flag works on adapto pages create/update and adapto collections items create/update.

Development

Building, testing, and releasing: see [DEVELOPMENT.md](DEVELOPMENT.md).

License

MIT, see [LICENSE](LICENSE).

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.