{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github-chromedevtools--chrome-devtools-mcp","slug":"chromedevtools--chrome-devtools-mcp","name":"chrome-devtools-mcp","type":"mcp","url":"https://npmjs.org/package/chrome-devtools-mcp","page_url":"https://unfragile.ai/chromedevtools--chrome-devtools-mcp","categories":["mcp-servers"],"tags":["browser","chrome","chrome-devtools","debugging","devtools","mcp","mcp-server","puppeteer"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github-chromedevtools--chrome-devtools-mcp__cap_0","uri":"capability://tool.use.integration.mcp.standardized.browser.control.via.stdio.transport","name":"mcp-standardized browser control via stdio transport","description":"Exposes Chrome DevTools capabilities through the Model Context Protocol (MCP) using STDIO transport, enabling AI agents to invoke browser operations as structured tool calls. The server implements a single-threaded execution model with Mutex-based synchronization to prevent race conditions during concurrent tool invocations, ensuring deterministic browser state transitions. Requests flow through a standardized MCP schema that maps natural language intents to typed tool parameters, with responses formatted as token-optimized JSON for LLM consumption.","intents":["Connect an AI agent (Claude, Gemini, Cursor) to a live Chrome instance for automated testing","Enable agents to perform browser actions without custom integration code","Standardize browser automation across multiple AI platforms via a single MCP server"],"best_for":["AI agent developers building multi-step browser automation workflows","Teams integrating Chrome automation into Claude/Gemini/Cursor-based agents","Developers needing agent-agnostic browser control without platform-specific SDKs"],"limitations":["Single-threaded execution model means only one tool action processes at a time per server instance, limiting parallelism","STDIO transport adds latency for high-frequency tool calls compared to direct WebSocket connections","Requires MCP client support — not compatible with REST-only agent frameworks"],"requires":["Node.js 18+","Chrome/Chromium 144+ (for auto-connect mode) or manual --browserUrl configuration","MCP-compatible client (Claude, Gemini, Cursor, VS Code Copilot, or custom MCP client)"],"input_types":["structured MCP tool call with typed parameters (JSON schema)"],"output_types":["JSON-formatted tool results with accessibility snapshots, network data, performance traces"],"categories":["tool-use-integration","mcp-server"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_1","uri":"capability://automation.workflow.multi.strategy.browser.connection.and.lifecycle.management","name":"multi-strategy browser connection and lifecycle management","description":"Supports three distinct browser connection strategies (launch new instance, auto-connect to existing, HTTP debug protocol) configured via CLI arguments, with automatic lifecycle management including headless mode, isolated profiles, and custom user data directories. The system implements ensureBrowserLaunched() and ensureBrowserConnected() methods that handle connection establishment, validation, and recovery without requiring manual browser startup. Connection strategy is determined at server initialization and persists for the server's lifetime, enabling both managed and unmanaged browser scenarios.","intents":["Launch a fresh isolated Chrome instance for each agent session without manual browser management","Connect to an existing Chrome instance running locally via user data directory discovery","Attach to a remote Chrome instance via HTTP debug protocol URL for distributed testing"],"best_for":["Developers building isolated test environments where each agent session needs a fresh browser","Teams running agents against existing Chrome instances (e.g., user's local browser)","Distributed testing scenarios where Chrome runs on a different machine than the MCP server"],"limitations":["Auto-connect mode requires Chrome 144+ and relies on user data directory discovery, which may fail if Chrome is launched with non-standard profiles","Headless mode (--headless) disables visual debugging and some browser features that require a display","Isolated profiles (--isolated) create separate user data directories, preventing credential/cookie sharing across sessions"],"requires":["Chrome/Chromium binary (auto-detected or specified via PUPPETEER_EXECUTABLE_PATH)","Chrome 144+ for auto-connect mode, or explicit --browserUrl for HTTP debug protocol","Write permissions to user data directory (default: ~/.config/google-chrome or platform equivalent)"],"input_types":["CLI arguments: --headless, --isolated, --userDataDir, --autoConnect, --browserUrl"],"output_types":["Browser connection handle (CDP WebSocket URL), validation status"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_10","uri":"capability://data.processing.analysis.cookie.and.storage.management","name":"cookie and storage management","description":"Reads, sets, and deletes cookies, localStorage, and sessionStorage across the page and domain. The system uses Chrome DevTools Protocol's Storage domain to access persistent storage and the Runtime domain to access in-memory storage (localStorage, sessionStorage). Storage operations are scoped to the current page's origin, preventing cross-origin access. This enables agents to manage authentication state, test storage-dependent behavior, and clear state between test cases.","intents":["Set authentication cookies to simulate logged-in state without performing login flow","Clear cookies and storage between test cases to ensure clean state","Extract stored data (tokens, preferences) for verification or debugging"],"best_for":["Testing workflows that need to simulate authenticated sessions without login","Agents that need to manage session state across multiple pages","Debugging workflows that need to inspect stored data"],"limitations":["Storage operations are origin-scoped, cannot access cookies from other domains","Setting cookies requires the page to be loaded first (cookies are bound to domain)","localStorage and sessionStorage are cleared when the browser context is closed, requiring re-setup for new sessions"],"requires":["Active page load in Chrome browser (for origin-scoped storage)","Valid cookie attributes (name, value, domain, path, expiration)"],"input_types":["operation (string: get, set, delete)","storage type (string: cookies, localStorage, sessionStorage)","key/value pairs (for set operation)"],"output_types":["storage contents (JSON object with key-value pairs), success/failure status"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_11","uri":"capability://automation.workflow.viewport.and.scroll.management","name":"viewport and scroll management","description":"Manages viewport size, scroll position, and page dimensions. The system uses Chrome DevTools Protocol's Emulation domain to set viewport size and the Runtime domain to control scroll position via window.scrollTo(). Viewport changes trigger page reflow and may affect responsive design behavior. Scroll operations enable agents to access content below the fold and verify lazy-loading behavior.","intents":["Resize viewport to test responsive design at different breakpoints","Scroll to specific elements or positions to access content below the fold","Verify lazy-loading behavior by scrolling and capturing new content"],"best_for":["Responsive design testing workflows that need to test multiple viewport sizes","Agents that need to access content below the fold without full-page screenshots","Lazy-loading testing that requires scrolling to trigger content loading"],"limitations":["Viewport changes trigger page reflow and may cause layout shifts, affecting performance metrics","Scroll position is lost on page navigation, requiring re-scroll after navigation","Some pages use fixed positioning or viewport-relative layouts that may break with viewport changes"],"requires":["Active page load in Chrome browser","Valid viewport dimensions (width, height in pixels)"],"input_types":["viewport (object: {width, height})","scroll position (object: {x, y} or element selector)"],"output_types":["confirmation of viewport/scroll change, updated accessibility snapshot"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_12","uri":"capability://automation.workflow.wait.and.synchronization.primitives","name":"wait and synchronization primitives","description":"Provides blocking wait operations for page state changes (navigation, element visibility, network idle, custom conditions). The system uses Chrome DevTools Protocol's Page and Network domains to detect state changes, with configurable timeouts and polling intervals. Wait operations block the agent until the condition is met or timeout is exceeded, enabling agents to synchronize with asynchronous page behavior without explicit polling logic.","intents":["Wait for page navigation to complete before proceeding with interactions","Wait for specific elements to appear (e.g., loading spinners to disappear)","Wait for network requests to complete before verifying API responses"],"best_for":["Agents performing multi-step workflows with asynchronous page behavior","Testing workflows that need to synchronize with dynamic content loading","Debugging workflows that need to wait for specific conditions before proceeding"],"limitations":["Wait operations are blocking and consume server resources, limiting concurrency","Timeout handling may be imprecise if conditions are checked via polling (default 100ms interval)","Custom wait conditions (JavaScript expressions) may not be reliable if page state changes rapidly"],"requires":["Active page load in Chrome browser","Valid wait condition (navigation, element selector, network idle, custom expression)","Timeout value (default 30s)"],"input_types":["condition (string: navigation, element, networkIdle, custom expression)","timeout (number: milliseconds)"],"output_types":["success/failure status, time waited, updated page state"],"categories":["automation-workflow","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_13","uri":"capability://automation.workflow.error.handling.and.state.recovery","name":"error handling and state recovery","description":"Implements graceful error handling for failed operations (selector resolution, navigation timeouts, network errors) with detailed error messages and recovery suggestions. The system catches exceptions from Chrome DevTools Protocol operations and returns structured error responses with error type, message, and context. Failed operations do not crash the server or corrupt browser state, enabling agents to handle errors and retry with different approaches.","intents":["Handle selector resolution failures when elements are not found or have changed","Recover from navigation timeouts by retrying or navigating to alternative URLs","Detect and report network errors (connection refused, DNS resolution failure)"],"best_for":["Agents performing long-running workflows that need to handle transient failures","Testing workflows that need to verify error handling behavior","Debugging workflows that need detailed error information"],"limitations":["Error recovery is passive (returns error details) rather than active (automatic retry), requiring agent-level retry logic","Some errors (browser crash, connection loss) may not be recoverable without restarting the server","Error messages may be verbose or technical, requiring agent-level interpretation"],"requires":["Active page load in Chrome browser (for most operations)"],"input_types":["any tool invocation (errors are caught and returned)"],"output_types":["error response with type, message, context, and recovery suggestions"],"categories":["automation-workflow","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_2","uri":"capability://data.processing.analysis.accessibility.snapshot.capture.and.dom.state.extraction","name":"accessibility snapshot capture and dom state extraction","description":"Captures structured accessibility trees and DOM snapshots from the current page, extracting semantic information about interactive elements, text content, and page structure in a format optimized for LLM reasoning. The system uses Chrome DevTools Protocol's accessibility domain to build a tree representation of the page, filtering for user-visible elements and computing bounding boxes for spatial reasoning. Snapshots are serialized as JSON with element IDs, roles, labels, and coordinates, enabling agents to understand page structure without visual rendering.","intents":["Enable agents to understand page structure and interactive elements without screenshots","Extract semantic information about buttons, forms, and links for automated interaction","Provide spatial coordinates for click-based automation without visual analysis"],"best_for":["Agents performing form filling, navigation, and UI interaction without visual perception","Accessibility testing workflows that need to verify semantic correctness","Text-based agents that cannot process images but need to understand page layout"],"limitations":["Accessibility snapshots miss visual styling, colors, and layout information that may be important for user intent","Dynamic content loaded after initial page render may not be captured unless explicitly waited for","Snapshots can be large for complex pages (100+ elements), consuming significant token budget in LLM context"],"requires":["Active page load in Chrome browser","JavaScript enabled (accessibility tree requires DOM traversal)"],"input_types":["none (captures current page state)"],"output_types":["JSON accessibility tree with element IDs, roles, labels, bounding boxes, and text content"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_3","uri":"capability://data.processing.analysis.performance.tracing.and.metrics.analysis.with.devtools.integration","name":"performance tracing and metrics analysis with devtools integration","description":"Captures Chrome DevTools performance traces (CPU, memory, network, rendering) and analyzes them using chrome-devtools-frontend components to extract high-level metrics like Largest Contentful Paint (LCP), First Input Delay (FID), and memory usage. The system records traces during page load or user interactions, then parses the trace data to compute performance insights without requiring external APM tools. Traces are formatted as structured JSON with timeline events, metric summaries, and bottleneck identification for agent-driven performance optimization.","intents":["Measure page load performance and identify rendering bottlenecks during automated testing","Detect memory leaks or excessive memory consumption during agent-driven user flows","Analyze network waterfall and identify slow requests blocking page interactivity"],"best_for":["Performance testing agents that need to validate Core Web Vitals during automated workflows","Developers debugging LCP issues or memory leaks in production-like environments","CI/CD pipelines that need to fail builds if performance regressions exceed thresholds"],"limitations":["Trace collection adds overhead (5-15% CPU/memory impact during recording) that may skew results for performance-sensitive code","Trace files can be large (10-50MB for complex pages), requiring significant disk I/O and parsing time","DevTools trace analysis is synchronous and blocking, potentially adding 500ms-2s latency per trace analysis"],"requires":["Chrome DevTools Protocol with Tracing domain support","Sufficient disk space for trace files (temporary storage during analysis)","chrome-devtools-frontend library for trace parsing"],"input_types":["trace configuration (duration, categories, buffer size)"],"output_types":["JSON trace data with timeline events, performance metrics (LCP, FID, CLS), memory snapshots, network waterfall"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_4","uri":"capability://data.processing.analysis.network.inspection.and.request.response.capture","name":"network inspection and request/response capture","description":"Intercepts and logs HTTP/HTTPS requests and responses during page navigation and user interactions, capturing headers, body content, status codes, and timing information. The system uses Chrome DevTools Protocol's Network domain to monitor traffic without modifying requests, enabling agents to verify API calls, detect failed requests, and analyze network behavior. Network logs are formatted as structured JSON with request/response metadata, enabling agents to reason about API interactions and network issues.","intents":["Verify that expected API calls are made during automated user flows","Detect failed requests (4xx, 5xx) and network errors during agent-driven testing","Analyze request/response payloads to validate data flow and API contract compliance"],"best_for":["Integration testing agents that need to verify API interactions without mocking","Developers debugging network issues in production-like environments","Security testing workflows that need to inspect request/response payloads"],"limitations":["Network logs can be very large for high-traffic pages (100+ requests), consuming significant token budget","Request/response bodies are captured in full, which may expose sensitive data (credentials, PII) in logs","Network interception adds latency (10-50ms per request) due to CDP round-trips"],"requires":["Chrome DevTools Protocol with Network domain support","Page must be navigated or interactions performed to capture network traffic"],"input_types":["none (captures all network traffic automatically)"],"output_types":["JSON array of network requests with method, URL, headers, status code, response body, timing information"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_5","uri":"capability://automation.workflow.input.automation.with.element.targeting.and.interaction","name":"input automation with element targeting and interaction","description":"Automates user input (clicks, typing, keyboard events) by targeting elements via accessibility selectors, CSS selectors, or XPath expressions. The system resolves selectors to DOM elements, computes bounding boxes, and simulates native browser events (mousedown, mouseup, keydown, keyup) to trigger event handlers. Input automation respects element state (disabled, hidden) and validates that elements are interactable before executing actions, preventing errors from stale or invalid selectors.","intents":["Click buttons, links, and interactive elements identified by accessibility snapshots","Type text into form fields with proper event sequencing (focus, keydown, input, keyup)","Simulate keyboard shortcuts and complex interactions (drag-and-drop, multi-select)"],"best_for":["Agents performing form filling and navigation workflows","Automated testing of interactive UIs without visual perception","Accessibility testing that needs to simulate user interactions"],"limitations":["Selector resolution can fail if elements are dynamically created or removed between snapshot capture and interaction","Simulated events may not trigger all event handlers (e.g., custom drag-and-drop implementations may require specific event sequences)","Input automation cannot interact with elements outside the viewport without scrolling"],"requires":["Active page load in Chrome browser","Valid selector (accessibility ID, CSS selector, or XPath) that resolves to a single element","Element must be visible and interactable (not disabled, hidden, or covered)"],"input_types":["selector (string: accessibility ID, CSS selector, or XPath)","action (string: click, type, press, scroll)","text (string, for type action)"],"output_types":["success/failure status, updated accessibility snapshot after interaction"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_6","uri":"capability://automation.workflow.page.navigation.and.url.management","name":"page navigation and url management","description":"Navigates to URLs, handles page load completion, and manages browser history (back, forward, reload). The system uses Chrome DevTools Protocol's Page domain to initiate navigation, wait for load events (domContentLoaded, loadEventFired), and handle navigation timeouts. Navigation is synchronous from the agent's perspective, blocking until the page reaches a stable state (configurable via waitUntil parameter: load, domContentLoaded, networkIdle).","intents":["Navigate to URLs and wait for page load before proceeding with interactions","Reload pages to reset state or verify idempotency","Navigate back/forward through browser history during multi-step workflows"],"best_for":["Agents performing multi-page workflows (login → dashboard → settings)","Testing workflows that need to verify page load behavior","Agents that need to reset page state between test cases"],"limitations":["Navigation waits for specified load event, which may timeout if page has infinite loading spinners or network issues","Back/forward navigation may not work if history is empty or if pages use client-side routing without history API","Reload clears all in-memory state (JavaScript variables, timers) but preserves cookies and local storage"],"requires":["Valid URL (http/https)","Network connectivity to target URL","Navigation timeout (default 30s, configurable)"],"input_types":["url (string: http/https URL)","waitUntil (string: load, domContentLoaded, networkIdle)"],"output_types":["success/failure status, final URL, HTTP status code, updated accessibility snapshot"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_7","uri":"capability://automation.workflow.console.execution.and.javascript.evaluation","name":"console execution and javascript evaluation","description":"Executes arbitrary JavaScript code in the page context and captures console output (logs, errors, warnings). The system uses Chrome DevTools Protocol's Runtime domain to evaluate expressions, with support for async/await and promise resolution. Console messages are captured via the Console domain and formatted as structured JSON with message type, text, and source location. This enables agents to extract computed values, trigger page logic, and debug JavaScript errors.","intents":["Extract computed values from the page (e.g., current user ID, API response data stored in window)","Trigger page logic or event handlers that aren't exposed via UI interactions","Capture console errors and warnings to detect JavaScript issues during automated workflows"],"best_for":["Agents that need to extract data from page state (window variables, localStorage, sessionStorage)","Debugging workflows that need to inspect JavaScript errors and console output","Complex interactions that require triggering page logic directly"],"limitations":["JavaScript execution is sandboxed to the page context and cannot access browser APIs outside the page (e.g., file system)","Async code execution may timeout if promises never resolve, requiring explicit timeout handling","Console output is captured asynchronously and may be incomplete if page is navigated immediately after execution"],"requires":["Active page load in Chrome browser","JavaScript enabled in the page","Valid JavaScript code (syntax errors will be caught and returned)"],"input_types":["code (string: JavaScript expression or statement)"],"output_types":["execution result (JSON-serializable value), console messages (array of {type, text, location}), error details"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_8","uri":"capability://automation.workflow.emulation.and.device.simulation","name":"emulation and device simulation","description":"Simulates different device types (mobile, tablet, desktop) with specific viewport sizes, user agents, and device capabilities (touch, accelerometer). The system uses Chrome DevTools Protocol's Emulation domain to set device metrics, user agent strings, and feature flags before page load. Emulation is configured at server startup and persists for the server's lifetime, enabling consistent testing across different device profiles without restarting the browser.","intents":["Test responsive design by simulating mobile and tablet viewports","Verify mobile-specific behavior (touch events, mobile user agent detection)","Test device-specific features (geolocation, camera, microphone permissions)"],"best_for":["Agents testing responsive web design across device types","Mobile app testing workflows that need to simulate device capabilities","Accessibility testing that needs to verify mobile-specific interactions"],"limitations":["Emulation is set at server startup and cannot be changed per-request, requiring separate server instances for different device profiles","Some device features (camera, microphone) are simulated but not fully functional, may not trigger all device-specific code paths","Emulation adds latency (50-100ms per page load) due to additional CDP configuration"],"requires":["Chrome DevTools Protocol with Emulation domain support","Device profile configuration (viewport size, user agent, device capabilities)"],"input_types":["device profile (predefined: iPhone, iPad, Pixel, etc., or custom viewport/user agent)"],"output_types":["confirmation of emulation settings, updated accessibility snapshot reflecting device-specific layout"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chromedevtools--chrome-devtools-mcp__cap_9","uri":"capability://image.visual.screenshot.and.visual.capture","name":"screenshot and visual capture","description":"Captures full-page or viewport screenshots in PNG or JPEG format, with support for clipping specific regions and capturing elements in different states (normal, hover, focus). The system uses Chrome DevTools Protocol's Page domain to render the page and encode screenshots, with options for full-page capture (scrolls entire page) or viewport-only capture. Screenshots are returned as base64-encoded image data, enabling agents to perform visual analysis or store snapshots for comparison.","intents":["Capture visual state of the page for debugging or documentation","Perform visual regression testing by comparing screenshots across versions","Extract visual information for agents with image analysis capabilities"],"best_for":["Visual regression testing workflows that need to compare screenshots","Agents with image analysis capabilities (Claude Vision, GPT-4V) that need visual context","Debugging workflows that need visual snapshots of page state"],"limitations":["Screenshots are large (100KB-1MB per image), consuming significant token budget if sent to LLMs","Full-page screenshots require scrolling and stitching, adding latency (500ms-2s for complex pages)","Screenshots cannot capture dynamic content (animations, videos) or interactive states (hover, focus) without explicit triggering"],"requires":["Active page load in Chrome browser","Display/rendering capability (headless mode may produce different results than headed mode)"],"input_types":["format (string: png, jpeg)","fullPage (boolean: capture entire page or viewport only)","clip (optional object: {x, y, width, height} for region capture)"],"output_types":["base64-encoded image data (PNG or JPEG)"],"categories":["image-visual","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":52,"verified":false,"data_access_risk":"high","permissions":["Node.js 18+","Chrome/Chromium 144+ (for auto-connect mode) or manual --browserUrl configuration","MCP-compatible client (Claude, Gemini, Cursor, VS Code Copilot, or custom MCP client)","Chrome/Chromium binary (auto-detected or specified via PUPPETEER_EXECUTABLE_PATH)","Chrome 144+ for auto-connect mode, or explicit --browserUrl for HTTP debug protocol","Write permissions to user data directory (default: ~/.config/google-chrome or platform equivalent)","Active page load in Chrome browser (for origin-scoped storage)","Valid cookie attributes (name, value, domain, path, expiration)","Active page load in Chrome browser","Valid viewport dimensions (width, height in pixels)"],"failure_modes":["Single-threaded execution model means only one tool action processes at a time per server instance, limiting parallelism","STDIO transport adds latency for high-frequency tool calls compared to direct WebSocket connections","Requires MCP client support — not compatible with REST-only agent frameworks","Auto-connect mode requires Chrome 144+ and relies on user data directory discovery, which may fail if Chrome is launched with non-standard profiles","Headless mode (--headless) disables visual debugging and some browser features that require a display","Isolated profiles (--isolated) create separate user data directories, preventing credential/cookie sharing across sessions","Storage operations are origin-scoped, cannot access cookies from other domains","Setting cookies requires the page to be loaded first (cookies are bound to domain)","localStorage and sessionStorage are cleared when the browser context is closed, requiring re-setup for new sessions","Viewport changes trigger page reflow and may cause layout shifts, affecting performance metrics","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.783135517268791,"quality":0.35,"ecosystem":0.6000000000000001,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:21.549Z","last_scraped_at":"2026-05-03T13:56:56.344Z","last_commit":"2026-05-03T00:04:50Z"},"community":{"stars":37986,"forks":2360,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=chromedevtools--chrome-devtools-mcp","compare_url":"https://unfragile.ai/compare?artifact=chromedevtools--chrome-devtools-mcp"}},"signature":"kN64PtdNUJjAXa6CA5POUKVF6QR6pYNNm44fjHLw8+JNxT8ppStuWS5LRxQCbNHcEDIRsBnwdWWEGIaQrlgBBQ==","signedAt":"2026-06-20T14:38:06.917Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/chromedevtools--chrome-devtools-mcp","artifact":"https://unfragile.ai/chromedevtools--chrome-devtools-mcp","verify":"https://unfragile.ai/api/v1/verify?slug=chromedevtools--chrome-devtools-mcp","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}