npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@a11yflowdev/mcp

v0.1.2

Published

MCP server for A11yFlow — accessibility scanning tools for AI agents

Readme

@a11yflowdev/mcp

MCP server for A11yFlow — gives AI agents accessibility scanning superpowers. Works with Claude Code, Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.

Scan pages, read results, look up rules, and manage schedules — all through natural tool calls. The agent gets plain-language explanations it can relay directly to users.

Setup

Claude Code

Add to .mcp.json in your project root:

{
  "mcpServers": {
    "a11yflow": {
      "command": "npx",
      "args": ["@a11yflowdev/mcp"],
      "env": {
        "A11YFLOW_API_KEY": "sk_live_your_key"
      }
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "a11yflow": {
      "command": "npx",
      "args": ["@a11yflowdev/mcp"],
      "env": {
        "A11YFLOW_API_KEY": "sk_live_your_key"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "a11yflow": {
      "command": "npx",
      "args": ["@a11yflowdev/mcp"],
      "env": {
        "A11YFLOW_API_KEY": "sk_live_your_key"
      }
    }
  }
}

Get an API key free at a11yflow.dev.

Available Tools

a11yflow_scan

Run a single-page WCAG 2.2 accessibility scan. Polls internally — the agent calls once and gets complete results.

Parameters:

  • url (required) — URL to scan
  • standardwcag2a, wcag2aa, wcag2aaa, wcag22aa (default)
  • waitFor — milliseconds to wait for JS rendering (default: 3000)
  • includeHtml — include HTML snippets of violating elements (default: true)
  • includeBestPractices — include non-WCAG rules (default: false)

Returns: Score, violations with plain-language explanations (what's wrong, who's affected, how to fix), WCAG guidelines, EAA obligations, and affected elements.

a11yflow_crawl

Crawl and scan multiple pages. Returns aggregate scores and per-page results.

Parameters:

  • url (required) — starting URL
  • modelinks (default) or sitemap
  • maxPages — 2-50 (default: 10, tier-dependent)
  • standard — WCAG standard

a11yflow_get_scan

Retrieve results of a previous scan by ID.

Parameters:

  • scanId (required) — scan job ID
  • formatfull (default), summary, violations-only

a11yflow_lookup_rule

Look up documentation for an accessibility rule.

Parameters:

  • ruleId (required) — axe-core rule ID (e.g. color-contrast, image-alt, label)

Returns: Rule description, WCAG guidelines, EAA obligations, fix guidance, and Deque University link.

a11yflow_list_rules

List all supported accessibility rules.

Parameters:

  • impact (optional) — filter by critical, serious, moderate, minor

a11yflow_usage

Check current API usage — scheduled scan and webhook counts.

Example Workflows

"Scan my staging site and fix the issues"

1. Agent calls a11yflow_scan({ url: "https://staging.example.com" })
2. Gets back: 4 violations (2 critical, 1 serious, 1 moderate)
3. For each violation, reads the CSS selector and greps the codebase
4. Applies fixes (adds alt text, fixes contrast, adds label)
5. Re-scans to verify — score improved from 74 to 96

"Is this component accessible?"

1. Agent reads the component code
2. Calls a11yflow_lookup_rule({ ruleId: "dialog" })
3. Scans the dev server URL showing the component
4. Reports findings with fix suggestions inline

Design Principles

  • Plain language by default — all responses use what/why/how format, no WCAG jargon
  • Polls internally — one tool call, complete results back
  • Structured for LLMs — clear section headers, consistent format, no ANSI codes
  • Graceful errors — rate limits show retry-after, failures show clear messages

Links

License

MIT