devicecloud-mcp
Advanced tools
+1
-1
| { | ||
| "name": "devicecloud-mcp", | ||
| "version": "0.2.0", | ||
| "version": "0.2.1", | ||
| "mcpName": "io.github.RubenGlez/devicecloud", | ||
@@ -5,0 +5,0 @@ "description": "Triage failing DeviceCloud Maestro test runs from your AI assistant — fail reasons, failure screenshots, and flaky-flow analytics, without opening the web console", |
+13
-13
| # devicecloud-mcp | ||
| **Triage failing DeviceCloud runs so your agent can fix them — without opening the console.** | ||
| **Triage failing DeviceCloud runs so your agent can fix them, without opening the console.** | ||
| An MCP server that pulls a red [DeviceCloud](https://console.devicecloud.dev) run straight into your editor — fail reasons, failure screenshots, logs, and flow history — so your AI assistant (Claude Code, Cursor, Claude Desktop, etc.) can find the root cause and fix the flow. You commit; CI re-runs. The console stays closed. | ||
| An MCP server that pulls a red [DeviceCloud](https://console.devicecloud.dev) run straight into your editor (fail reasons, failure screenshots, logs, and flow history) so your AI assistant (Claude Code, Cursor, Claude Desktop, etc.) can find the root cause and fix the flow. You commit; CI re-runs. The console stays closed. | ||
@@ -11,3 +11,3 @@ DeviceCloud is a platform for running Maestro flows on real devices. Your CI triggers the runs; this server is how you debug the ones that fail. | ||
| - **diagnose a run in one call** — failed flows, fail reasons, failure-screenshot paths, and a passed/failed/flaky summary, ready to act on | ||
| - **diagnose a run in one call**: failed flows, fail reasons, failure-screenshot paths, and a passed/failed/flaky summary, ready to act on | ||
| - list recent uploads, filter by name (commit message + short SHA) or date | ||
@@ -21,3 +21,3 @@ - read per-flow status and `failReason` for any upload | ||
| The server is **read-only** against the DeviceCloud REST API — no `dcd` CLI dependency, and nothing an agent does can trigger billable runs. Triggering and re-running tests stay with your CI; cancelling a run stays in the console. | ||
| The server is **read-only** against the DeviceCloud REST API: no `dcd` CLI dependency, and nothing an agent does can trigger billable runs. Triggering and re-running tests stay with your CI; cancelling a run stays in the console. | ||
@@ -46,3 +46,3 @@ ## Install | ||
| The config block above is the same for every client — only the file location differs. | ||
| The config block above is the same for every client; only the file location differs. | ||
@@ -74,3 +74,3 @@ ### Claude Code (project-scoped, `.mcp.json`) | ||
| > Setting it only in an interactive shell isn't enough — Claude Code spawns the MCP from its own environment, so the variable needs to be in the profile. | ||
| > Setting it only in an interactive shell isn't enough; Claude Code spawns the MCP from its own environment, so the variable needs to be in the profile. | ||
@@ -83,3 +83,3 @@ ### Claude Code (user-scoped, `~/.claude.json`) | ||
| Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows). Restart Claude Desktop after saving — a tools icon appears in the chat input once the server connects. | ||
| Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows). Restart Claude Desktop after saving; a tools icon appears in the chat input once the server connects. | ||
@@ -108,3 +108,3 @@ ### Cursor | ||
| You should see a JSON-shaped response with an `uploads` array. If instead you get `DEVICE_CLOUD_API_KEY env var is required`, the variable isn't reaching the spawned process — re-check that it's exported from your shell profile (not just the current shell). | ||
| You should see a JSON-shaped response with an `uploads` array. If instead you get `DEVICE_CLOUD_API_KEY env var is required`, the variable isn't reaching the spawned process; re-check that it's exported from your shell profile (not just the current shell). | ||
@@ -137,9 +137,9 @@ ## Available tools | ||
| DeviceCloud uploads are created when you trigger a run — via the CLI, a CI step, the GitHub Action, or the API directly. Whether a given commit has an upload depends entirely on your CI setup. If `list_uploads` returns nothing for a SHA you expect, the run probably wasn't triggered for that commit. | ||
| DeviceCloud uploads are created when you trigger a run, via the CLI, a CI step, the GitHub Action, or the API directly. Whether a given commit has an upload depends entirely on your CI setup. If `list_uploads` returns nothing for a SHA you expect, the run probably wasn't triggered for that commit. | ||
| ## Troubleshooting | ||
| - **`DEVICE_CLOUD_API_KEY env var is required`** — the variable isn't visible to the spawned MCP. Export it from `~/.zshrc` / `~/.bashrc`, restart your assistant. | ||
| - **`unzip failed`** (from `get_html_report`) — the `unzip` binary is missing or crashed. Install with `brew install unzip` (macOS ships with it; Linux usually does too). | ||
| - **HTTP 401 / 403** — the API key is wrong or revoked. Regenerate it at [console.devicecloud.dev/settings](https://console.devicecloud.dev/settings). | ||
| - **Empty `list_uploads` for your SHA** — a run probably wasn't triggered for that commit. See "When uploads do and don't exist" above. | ||
| - **`DEVICE_CLOUD_API_KEY env var is required`**: the variable isn't visible to the spawned MCP. Export it from `~/.zshrc` / `~/.bashrc`, restart your assistant. | ||
| - **`unzip failed`** (from `get_html_report`): the `unzip` binary is missing or crashed. Install with `brew install unzip` (macOS ships with it; Linux usually does too). | ||
| - **HTTP 401 / 403**: the API key is wrong or revoked. Regenerate it at [console.devicecloud.dev/settings](https://console.devicecloud.dev/settings). | ||
| - **Empty `list_uploads` for your SHA**: a run probably wasn't triggered for that commit. See "When uploads do and don't exist" above. |
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
38069
-0.11%