MCP Accessibility Bridge

Exposes live accessibility trees and generates framework-agnostic selectors for automated testing and accessibility auditing.
  • typescript

4

GitHub Stars

typescript

Language

3 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "yashpreetbathla-mcp-accessibility-bridge": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-accessibility-bridge"
      ]
    }
  }
}

You expose a live browser’s accessibility tree to an MCP client, enabling you to generate stable, framework-agnostic selectors and audit accessibility directly from your test automation workflow. This bridge connects Claude Desktop to a running Chrome via CDP, giving you precise ARIA data and reliable selectors without manually interacting with DevTools.

How to use

You enable the MCP server in your client configuration, start Chrome with remote debugging enabled, and then connect Claude Desktop to the bridge. Once connected, you can fetch the full accessibility tree for the current page, search by ARIA role and name, retrieve element properties, and locate all interactive elements. Use these capabilities to build, validate, and migrate cross-framework test selectors, or to audit pages for accessibility issues.

How to install

Prerequisites: Node.js installed on your machine, and Chrome available with remote debugging enabled when you run the bridge.

{
  "mcpServers": [
    {
      "name": "access_bridge",
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-accessibility-bridge"]
    }
  ]
}

Additional configuration and usage notes

Place the configuration in Claude Desktop as shown above. When you save the config and restart Claude Desktop, the accessibility bridge tools will be available in Claude’s tool list.

Chrome setup

Ensure Chrome is running with a remote debugging port open before establishing a connection.

Usage examples

Connect to a Chrome instance, navigate to a page, and then request actions such as fetching the accessibility tree or locating interactive elements. Use the generated selectors to drive tests across frameworks like Playwright, Selenium, Cypress, and WebdriverIO.

Example project and structure

A representative example demonstrates how selectors produced by this bridge can be consumed by a test suite across multiple frameworks, illustrating how to integrate AX-based selectors into your automation stack.

What you can do with the bridge

  • Read every element’s role, name, state, and relationships as a screen reader would. - Generate reliable, stable test selectors for multiple frameworks without opening DevTools. - Audit pages for accessibility issues. - Write and migrate tests using natural language.

Notes on architecture and how it works

The bridge uses a standard input/output MCP server approach. It connects to Chrome via the Chrome DevTools Protocol, activates the Accessibility domain, and exposes a set of tools that compute AX trees, resolve element properties, and generate cross-framework selectors.

Troubleshooting

If you encounter connection issues, verify that Chrome is started with --remote-debugging-port=9222 and that Claude Desktop is using the correct MCP configuration. Ensure the CDP WebSocket is reachable and that the bridge has established a BrowserManager connection.

Contributing

Contributions are welcome. Follow standard development workflows to add features, fix bugs, or improve selector generation heuristics.

License

MIT — see LICENSE.

Available tools

browser_connect

Connect Claude to a running Chrome instance via CDP, establishing a shared CDP session.

browser_navigate

Navigate the connected tab to a specified URL and report status, title, and final URL.

browser_disconnect

Close the CDP connection cleanly without terminating Chrome.

get_accessibility_tree

Snapshot the full accessibility tree for the current page with options for depth and scope.

query_accessibility_tree

Search the AX tree by ARIA role and accessible name to locate matching nodes.

get_element_properties

Resolve a CSS selector to a full AX profile and multi-framework selectors.

get_interactive_elements

Identify all interactive elements on the page and generate selectors for them.

get_focused_element

Return AX info and selectors for the currently focused element.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational