{"name":"io.github.RubenGlez/devicecloud","slug":"rubenglez-devicecloud","title":null,"description":"Triage failing DeviceCloud Maestro test runs: fail reasons, screenshots, flaky-flow analytics","url":"https://mcp.market/server/rubenglez-devicecloud","rating":null,"grade":"B","score":78,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":17,"stars":0,"forks":0,"downloads_week":27,"last_push_at":"2026-07-25T14:47:48.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/RubenGlez/devicecloud-mcp","website":null,"version":"0.3.2","remotes":[],"packages":[{"registryType":"npm","identifier":"devicecloud-mcp","version":"0.3.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"DeviceCloud API key — generate one at console.devicecloud.dev/settings","isRequired":true,"format":"string","isSecret":true,"name":"DEVICE_CLOUD_API_KEY"}]}],"tools":[{"name":"diagnose_run","description":"Triage one DeviceCloud run in a single call. Resolves the upload, folds retries per flow, and returns the failed flows with fail reasons, durations, and failure-screenshot paths (auto-downloaded from the HTML report), plus a passed/failed/flaky summary and suggested next steps. The highest-signal tool for debugging a red CI run — use this first, then read the screenshots and fix the flow or app co","write_action":true,"price_micros":0,"input_schema":null},{"name":"download_artifacts","description":"Download raw run artifacts (logs, screenshots, videos) as a ZIP. Use when the HTML report doesn't contain enough detail (e.g. need full logcat, video recording, or non-failure screenshots).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_flow_runs","description":"List individual runs for a specific Maestro flow file. Returns id, status, createdAt, durationSeconds, failReason, testUploadId, uploadName per run. Use to drill into the history of one flow — e.g. after list_flow_analytics surfaces a flaky or broken flow.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_html_report","description":"Download AND auto-unzip the HTML report (HTML + screenshots + logs) for an upload. Returns the local extraction directory and an inventory of files, with failure screenshots highlighted at the top — those are typically the highest-signal artifact for debugging.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_junit_report","description":"Fetch the JUnit XML report for an upload. Returns raw XML.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_results","description":"List individual flow results for an upload. Each result includes id, test_file_name, status, fail_reason, duration_seconds, retry_of. Optional client-side status filter.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_upload_status","description":"Get status summary for one upload. Returns overall status plus per-test name, status, durationSeconds, failReason. Provide either uploadId or name (most recent matching name wins).","write_action":true,"price_micros":0,"input_schema":null},{"name":"list_flow_analytics","description":"Aggregated pass-rate and run-count analytics per Maestro flow file over a lookback window. Use to identify flaky flows (low pass_rate but many passed_runs) vs. genuinely broken flows. Returns flow_name, file_name, pass_rate, passed_runs, failed_runs, total_runs, avg_duration, last_run_at, tags, daily_data per flow.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_uploads","description":"List Maestro uploads from DeviceCloud. Filter by name (supports * wildcard), date range, and pagination. Returns id, name, created_at, consoleUrl per upload.","write_action":false,"price_micros":0,"input_schema":null},{"name":"suite_health","description":"Classify every Maestro flow over a lookback window into healthy, flaky, broken, or regression, ranked worst-first, so you can tell whether a failure is worth fixing before diving in. Regressions (a flow that was passing and recently started failing) are surfaced first, since a recent change likely broke them. Use this to prioritize, then diagnose_run to fix a specific run. Filters mirror list_flow","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":78,"grade":"B","scanned_at":"2026-09-24T21:42:32.763Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T21:42:32.815Z","components":{"code":{"score":25,"max":25,"notes":["5 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 61 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"devicecloud-mcp","version":"0.3.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-07-25T14:44:35.882Z","repositoryUrl":"git+https://github.com/RubenGlez/devicecloud-mcp.git","weeklyDownloads":27}],"repo":{"found":true,"owner":"RubenGlez","repo":"devicecloud-mcp","archived":false,"pushedAt":"2026-07-25T14:47:48Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/18488239?v=4","ownerCreatedAt":"2016-04-15T17:10:28Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/18488239?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":27,"license":"MIT","lastPushAt":"2026-07-25T14:47:48.000Z","score":17}}}},"grade_history":[],"reviews":[]}