Odel
Magento Cloud MCP Server

Magento Cloud MCP Server

Local
@juan-cinto-infracommerceJavaScriptMITUpdated 1mo ago

MCP server for Adobe Commerce Cloud — REST API + SSH, no PHP CLI required

mcp-magento-cloud

MCP (Model Context Protocol) server for Adobe Commerce Cloud. Allows AI agents to interact with Magento Cloud projects — query databases, read logs, list environments, inspect activities, and more.

No PHP CLI required — uses the REST API and SSH directly.

Versions

VersionDescriptionRequirements
v2.x (latest)REST API + SSH directly. Browser login or API token.Node.js 20+, ssh binary
v1.xWraps the magento-cloud PHP CLI.Node.js 20+, magento-cloud CLI installed

Using a specific version

# Latest (v2.x)
npx -y mcp-magento-cloud

# v1.x (requires magento-cloud CLI)
npx -y mcp-magento-cloud@1.0.1

Prerequisites (v2.x)

  • Node.js 20+
  • ssh binary — Available by default on Linux/macOS

Quick Start

Authentication

Automatic browser login (recommended)

No setup required. The first time you use any tool, a browser window will open automatically for OAuth2 login via your Adobe/Magento account. Credentials are stored locally in ~/.config/mcp-magento-cloud/credentials.json and refreshed automatically.

You can also login manually:

npx -y -p mcp-magento-cloud mcp-magento-cloud-login

API token (alternative)

If you prefer using an API token (e.g. for CI/CD), create one at https://accounts.magento.cloud/user/api-tokens and pass it as an environment variable (MAGENTO_CLOUD_CLI_TOKEN). When a token is set, browser login is skipped.

Security note: API tokens grant full access to all projects your account has access to. Treat them as sensitive secrets. If a token is compromised, revoke it immediately at the URL above.

Configure your MCP client

Kilo

In ~/.config/kilo/kilo.json:

{
  "mcp": {
    "magento-cloud": {
      "type": "local",
      "command": ["npx", "-y", "mcp-magento-cloud"]
    }
  }
}

If using an API token instead of browser login, add the environment key:

{
  "mcp": {
    "magento-cloud": {
      "type": "local",
      "command": ["npx", "-y", "mcp-magento-cloud"],
      "environment": {
        "MAGENTO_CLOUD_CLI_TOKEN": "your-api-token-here"
      }
    }
  }
}

Claude Desktop

In claude_desktop_config.json:

{
  "mcpServers": {
    "magento-cloud": {
      "command": "npx",
      "args": ["-y", "mcp-magento-cloud"]
    }
  }
}

Gemini CLI

In ~/.gemini/settings.json:

{
  "mcpServers": {
    "magento-cloud": {
      "command": "npx",
      "args": ["-y", "mcp-magento-cloud"]
    }
  }
}

Available Tools

REST API Tools

ToolDescription
list_projectsList all projects available to the current user
list_environmentsList all environments for a project
get_environment_infoGet detailed info about an environment
get_environment_urlsGet the public URLs of an environment
list_activitiesList recent activities with filters
get_activity_logDisplay the full log for an activity
list_variablesList project or environment variables
list_servicesList services with versions and disk allocation

SSH Tools

ToolDescription
execute_sqlExecute a read-only SQL query on the remote database
get_environment_logsRead server logs (deploy, error, cron, etc.)
get_environment_relationshipsGet service connection details (host, port, credentials)
list_log_typesList available log types

Write Tools

ToolDescription
set_cloud_configSet a Magento config value via bin/magento config:set over SSH (supports scope/scope_code and encrypted values). Blocked on the production environment.
create_branchCreate a new environment branch cloned from integration
push_branchPush a local git branch to the project using SSH certificate auth

Security

  • SQL queries are validated — only SELECT, SHOW, DESCRIBE, and EXPLAIN are allowed
  • SQL comments are stripped and multiple statements are blocked to prevent injection
  • Production is protectedset_cloud_config refuses to run against the production environment; such changes must be made manually
  • SSH authentication uses temporary Ed25519 certificates signed by the Magento Cloud API
  • Browser login stores refresh tokens locally with 0600 permissions
  • API tokens should be treated as sensitive secrets — they grant full access to all projects

Testing with MCP Inspector

# Browser login will open automatically on first tool use
npx @modelcontextprotocol/inspector node dist/main.js

# Or with API token
MAGENTO_CLOUD_CLI_TOKEN=your-token npx @modelcontextprotocol/inspector node dist/main.js

Development

git clone https://github.com/juan-cinto-infracommerce/mcp-magento-cloud.git
cd mcp-magento-cloud
npm install
npm run build
npm start

License

MIT