mcpField
M
mcloud-logs

mcloud-logs

github.com/medusajsCloud & DevOps2341.3k installsUpdated 1w ago
Repository

About mcloud-logs

A skill for fetching runtime logs from a Cloud environment's backend or storefront with `mcloud logs`. It supports streaming, time windows, and filters for investigating issues or preparing logs for analysis.

Key features

  1. 01Fetch backend or storefront logs
  2. 02Stream logs continuously
  3. 03Filter by time, search text, or deployment
  4. 04Filter by source and metadata
  5. 05Output structured JSON

Use cases

  1. 01Investigate recent runtime errors
  2. 02Review logs for a deployment
  3. 03Analyze logs within a time window
  4. 04Find entries matching metadata

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/medusajs/medusa-agent-skills --skill mcloud-logs

After installing, type/mcloud-logsin Claude Code to confirm it loaded.

Details

From the project README

Cloud CLI: Logs Command

Execute mcloud logs to fetch runtime logs for a Cloud environment's backend or storefront.

Constraints

  • --follow and --json are incompatible. For programmatic log analysis, use bounded time windows with --from/--to and --json.
  • --follow streams until interrupted with Ctrl+C — do not use in scripts or pipelines.
  • Default retrieves the last 500 log lines from the past 15 minutes.

Command

mcloud logs \
  --organization <org-id> \
  --project <project-id-or-handle> \
  --environment <environment-handle> \
  [options]

Options

OptionDescriptionDefault
-o/--organization <id>Organization IDActive context
-p/--project <id-or-handle>Project ID or handleActive context
-e/--environment <handle>Environment handleActive context
-f/--followStream logs continuously (incompatible with --json)false
--limit <1-5000>Max log lines (non-follow mode only)500
--from <ISO8601>Start of time range (e.g. 2026-04-22T10:00:00Z)15 minutes ago
--to <ISO8601>End of time range; if >15 min ago, must also pass --fromnow
--search <string>Filter by substring (same as dashboard search bar)—
--deployment <id>Filter by deployment or build ID—
--source <string>Filter by source (repeatable)—
--metadata <key=value>Filter by metadata field (repeatable; same key merges values)—
--type <backend|storefront>Log stream to querybackend
--jsonOutput as JSON (incompatible with --follow)false

Examples

# Basic log fetch (last 500 lines, last 15 min)
mcloud logs --json

# Search for errors
mcloud logs --search error --limit 1000 --json

# Filter for HTTP 500 errors via metadata
mcloud logs --metadata status=500 --limit 1000 --json

# Logs for a specific deployment (build or deployment ID)
mcloud logs --deployment bld_01ABC123 --json

# Structured output for agent analysis
mcloud logs --search error --json | jq '.[] | {timestamp, source, message}'

# Storefront logs
mcloud logs --type storefront --json

# Stream live logs (human-readable, not for scripts)
mcloud logs --follow

# Logs within a specific time range
mcloud logs --from 2026-04-22T10:00:00Z --to 2026-04-22T11:00:00Z --limit 1000 --json

# Logs from a time until now
mcloud logs --from 2026-04-22T10:00:00Z --json

# Multiple source filters
mcloud logs --source api --source worker --json

# Multiple metadata filters (HTTP 4xx and 5xx)
mcloud logs --metadata status=400 --metadata status=500 --limit 500 --json

Time Range Notes

  • Default window is the past 15 minutes.
  • Pass --from without --to to fetch from a time until now.
  • Pass --to without --from only if --to is within the last 15 minutes; otherwise also pass --from.
  • Both --from and --to accept ISO 8601 timestamps.

Comments

Markdown supported