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

magentaa11y-mcp

v1.0.3

Published

MCP server providing accessibility criteria from MagentaA11y

Readme

MagentaA11y MCP Server

MCP server providing accessibility criteria from MagentaA11y. Works locally (stdio) and remotely (Netlify Functions).

Installation

Via npm (Recommended)

{
  "mcpServers": {
    "magentaa11y": {
      "command": "npx",
      "args": ["-y", "magentaa11y-mcp"]
    }
  }
}

Claude Code CLI

mcp add --scope user magentaa11y -- npx -y magentaa11y-mcp

Use --scope project instead of --scope user to install for the current project only.

Local Development

{
  "mcpServers": {
    "magentaa11y": {
      "command": "node",
      "args": ["/path/to/src/index.js"]
    }
  }
}

Remote (Netlify)

Clone this project, build it, and deploy to Netlify. Then use the following configuration:

{
  "mcpServers": {
    "magentaa11y": {
      "command": "npx",
      "args": ["mcp-remote@next", "https://your-site.netlify.app/mcp"]
    }
  }
}

Example Prompts

  • Get me the accessibility criteria for the Web Button component in Gherkin format.
  • Get me a list of all the native components.
  • Get me the Tooltip AC for Web - Condensed in markdown format.

Tools

All tools are read-only, non-destructive, and idempotent. They include OpenAI Apps SDK annotations for enhanced integration.

| Tool | Description | |------|-------------| | list_web_components | List web accessibility components | | get_web_component | Get detailed criteria for a web component | | search_web_criteria | Search web criteria by keyword | | list_native_components | List native iOS/Android components | | get_native_component | Get detailed criteria for a native component | | search_native_criteria | Search native criteria by keyword | | get_component_gherkin | Get Gherkin-style acceptance criteria | | get_component_condensed | Get condensed acceptance criteria | | get_component_developer_notes | Get developer implementation notes | | get_component_native_notes | Get iOS or Android specific notes | | list_component_formats | List available formats for a component |

OpenAI Marketplace Tool Annotations

Each tool includes these annotations (OpenAI Apps SDK compatible):

  • readOnlyHint: true - Tools only read data, never modify
  • destructiveHint: false - No destructive operations
  • idempotentHint: true - Same input always produces same output
  • openWorldHint: false - Operates on curated MagentaA11y dataset

Development Setup

git clone --recurse-submodules https://github.com/joe-watkins/magentaa11y-mcp.git
cd magentaa11y-mcp
npm install
npm run update-content

Updating Content

The accessibility criteria comes from the magentaA11y submodule. To update:

npm run update-content

This pulls the latest from magentaA11y, builds it, and copies the generated content.json to /data.

Project Structure

src/
  index.js          # MCP server (stdio transport)
  tools.js          # Tool definitions and handlers
  helpers.js        # Data loading and search utilities
data/
  content.json      # MagentaA11y accessibility criteria
netlify/
  functions/api.js  # Netlify Function (SSE transport)
scripts/
  update-content.js # Build script for updating content

License

This MCP server is licensed under the MIT License.

Third-Party Content Attribution

The accessibility criteria content served by this MCP server is sourced from MagentaA11y by T-Mobile, which is licensed under the Apache License 2.0.

MagentaA11y © T-Mobile USA, Inc. - Licensed under Apache 2.0

Links

Privacy & Data Handling

This MCP server is read-only and collects no user data. All accessibility criteria is sourced from the public MagentaA11y project.