Plugin para Claude Code
Descripción general
El plugin de accesibilidad Axe es el kit de herramientas de accesibilidad de Deque para agentes de codificación, instalado y ejecutado desde Claude Code. Su instalación realiza tres acciones a la vez:
- Registra el servidor. El plugin incluye una entrada lista para el servidor MCP, por lo que no necesitas escribir un
.mcp.jsonmanualmente. - Enseña a Claude a usar las herramientas. Una habilidad en segundo plano se carga automáticamente en el trabajo de accesibilidad, por lo que Claude sigue el ciclo de analizar → remediar → verificar, agrupa
remediatecorrectamente y asigna campos entre las herramientas sin adivinanzas. - Añade tres comandos de barra para configurar, generar instrucciones a nivel de repositorio y ejecutar el ciclo completo de remediación en una página.
El plugin es de código abierto en github.com/dequelabs/axe-accessibility y está bajo la licencia MIT.
No es solo para Claude Code
Claude Code es donde se ejecuta el plugin, pero dos de sus comandos producen salidas para agentes y editores otros:
/axe-accessibility:mcp-generate-instructionsescribe el flujo de trabajo de analizar → remediar → verificar en.github/copilot-instructions.md, reglas de Cursor oAGENTS.mdtan fácilmente como enCLAUDE.md. Cualquiera en el equipo que use Copilot o Cursor hereda el flujo de trabajo del repositorio, independientemente de si tienen el plugin o Claude Code instalado./axe-accessibility:mcp-setuppuede configurar el Servidor MCP de Axe para Cursor, VS Code con Copilot o Claude Desktop, no solo Claude Code.
Por lo tanto, es razonable instalar el plugin puramente como una herramienta de configuración y redacción de instrucciones para un repositorio cuyos colaboradores usan una mezcla de agentes.
El plugin es un paquete de conveniencia, no cambia lo que hace el Servidor MCP de Axe ni su costo. Se aplican las mismas herramientas analyze, remediate y igt, opciones autenticación y uso crédito de inteligencia artificial. Si prefieres configurar el servidor manualmente, consulta Configuración en Claude Code, Cursor o VS Code con Copilot.
Requisitos
Para instalar el plugin:
- Claude Code con soporte para plugins.
Para ejecutar escaneos — es decir, para usar las herramientas analyze, igt y remediate, ya sea desde Claude Code o desde otro cliente configurado por el plugin:
- Una suscripción Axe DevTools para Web que incluya acceso al Servidor MCP de Axe. Sin ella, las herramientas no podrán autenticarse.
- Un entorno de ejecución, dependiendo de qué distribución utilices:
- npm (lo que incluye el plugin): Node.js 22.19.0 o posterior, más una instalación única de Chromium. Consulta Instalar Chromium — el servidor no descarga un navegador por ti, y omitir este paso es el fallo más común en la primera ejecución.
- Docker: Docker instalado y en ejecución. Chromium se incluye dentro de la imagen.
- Para la autenticación OAuth 2.0: un versión LTS activa de Node.js, ya que la configuración llama
npx @deque/axe-auth.
Solo el primero se aplica si estás instalando el plugin únicamente para ejecutar /axe-accessibility:mcp-generate-instructions — escribir archivos de instrucciones para agentes no requiere un entorno de ejecución ni una suscripción.
Instalación
Agrega el mercado de Deque e instala el plugin desde dentro de Claude Code:
/plugin marketplace add dequelabs/axe-accessibility
/plugin install axe-accessibilityEl primer comando registra el repositorio dequelabs/axe-accessibility como un mercado de plugins (el repositorio también funciona como su propio mercado). El segundo instala el plugin desde allí. Solo necesitas agregar el mercado una vez; las instalaciones y actualizaciones posteriores pueden omitir ese paso.
Reinicia Claude Code cuando se te indique para que se cargue el servidor MCP.
Autenticación
La configuración del servidor incluido en el plugin es independiente de la autenticación: al iniciar, intenta generar un token de acceso OAuth y se asegura de que exactamente una credencial llegue al servidor: el token OAuth si has iniciado sesión, de lo contrario, tu AXE_API_KEY.
Elige el método que te convenga:
-
clave API — crea una en el Portal de Cuentas Axe bajo Claves API → AGREGAR NUEVA CLAVE API, eligiendo el producto Servidor Axe MCP. Luego expórtala en tu terminal para que Claude Code pueda leerla:
export AXE_API_KEY="your-api-key-here"Añade la línea a tu perfil de terminal (
~/.bashrc,~/.zshrc, etc.) para que persista. Nunca incluyas la clave en un archivo de tu repositorio. -
OAuth 2.0 — inicia sesión una vez con la CLI
@deque/axe-auth:npx -y @deque/axe-auth loginEsto abre un navegador para el flujo PKCE y almacena tokens en el llavero de tu sistema operativo, renovándolos automáticamente. Consulta Autenticación para el flujo completo, la gestión de sesiones y el soporte de plataforma.
Configura ya sea AXE_API_KEY o AXE_ACCESS_TOKEN — no ambos. El servidor fallará al iniciarse si ambas variables están configuradas.
La configuración incluida maneja esta regla por ti, y tiene que trabajar más que una configuración de Docker. Un contenedor solo recibe las variables pasadas con banderas -e explícitas, pero la distribución npm hereda todo el entorno de tu terminal — así que un AXE_API_KEY exportado y una sesión de OAuth activa de otro modo ambos llegarían al servidor e impedirían que comience. La entrada incluida limpia primero cualquier AXE_ACCESS_TOKEN heredado, luego, si puede generar un nuevo token, desactiva AXE_API_KEY antes de configurarlo. OAuth se impone cuando ambos están disponibles.
¿Escribiendo tu propia configuración npm? Cualquier entrada npm personalizada necesita el mismo manejo de unset. Configurar AXE_ACCESS_TOKEN sin limpiar un AXE_API_KEY heredado produce un servidor que se niega a iniciarse, y la causa no es evidente por el error. Las configuraciones de Docker no tienen este problema.
Implementaciones en nube privada y en instalaciones locales
La distribución npm hereda AXE_SERVER_URL de tu terminal, por lo que exportarla junto a tu credencial es suficiente:
export AXE_SERVER_URL="https://your-axe-instance.example.com"Si usas OAuth, también pasa la misma URL al iniciar sesión: npx -y @deque/axe-auth login --server https://your-axe-instance.example.com. Si AXE_SERVER_URL no está establecido, el servidor predetermina a https://axe.deque.com (la instancia compartida de Deque en EE. UU.). Consulta Referencia de Configuración.
Verificación de la instalación
-
Reinicia Claude Code.
-
Ejecuta
/mcpy confirma queaxe-mcp-serveresté listado y conectado, con las herramientasanalyze,igtyremediatedisponibles. -
Realiza un escaneo sencillo en una página conocida:
Analyze https://dequeuniversity.com/demo/mars for accessibility issues
Un escaneo exitoso de una página real devuelve un paquete grande: de decenas de kilobytes es normal, no un error. Si tu cliente se queja de que el resultado es demasiado grande, limita el escaneo con el parámetro selector de analyze.
Si el servidor no se conecta, confirma tu versión de Node, que Chromium esté instalado y que exactamente una credencial esté configurada, luego consulta Solución de problemas.
Las herramientas proporcionadas por un plugin están bajo el nombre del plugin. En Claude Code, la herramienta analyze aparece como mcp__plugin_axe-accessibility_axe-mcp-server__analyze en lugar de mcp__axe-mcp-server__analyze. Esto solo importa si haces referencia a los nombres de las herramientas explícitamente en un archivo de CLAUDE.md — describir las herramientas por su nombre (analyze, remediate) funciona sin importar.
Qué está incluido
| Componente | Tipo | Lo que hace |
|---|---|---|
axe-mcp-server |
Servidor MCP | Una entrada del Servidor Axe MCP independiente de la autenticación que usa la distribución npm, registrada automáticamente al instalar. |
mcp-usage |
Habilidad (automática) | Conocimiento de fondo que se carga en tareas de accesibilidad para que Claude llame correctamente a analyze, igt y remediate. |
/axe-accessibility:mcp-setup |
Comando | Configuración interactiva: elige una distribución y autenticación, configura Claude Code u otro cliente, verifica la conexión. |
/axe-accessibility:mcp-generate-instructions |
Comando | Escribe o fusiona archivos de instrucciones para agentes — CLAUDE.md, Copilot, Cursor, AGENTS.md — que refuercen el flujo analiza → remedia → verifica. |
/axe-accessibility:mcp-audit |
Comando | Dirige el ciclo completo en una URL hasta que las violaciones lleguen a cero o se alcance un límite redondo, con un pase opcional de teclado. |
La habilidad mcp-usage
Nunca invocas esta directamente. Se carga automáticamente cada vez que una tarea involucra accesibilidad, conformidad a11y, WCAG, o solución de problemas de accesibilidad en la interfaz de usuario web, y le da a Claude el conocimiento operativo que de otro modo tendría que escribirse a mano en un CLAUDE.md:
- El flujo de trabajo. Analiza la página, remedia las violaciones, luego vuelve a analizar para verificar que no haya violaciones antes de considerar que el trabajo está hecho.
- Mapeo de campos. Cómo cada problema de
analyzese corresponde con los parámetros deremediate— la fuente más común de error cuando un agente conecta las dos herramientas de forma tentativa. Incluye las trampas: los problemas llegan bajo el arreglodatade la respuesta, y el camporemediationde un problema es un objeto de datos de verificación en bruto, no la cadena que el parámetroremediatequiere. - Agrupamiento.
remediatetoma un arregloissuesde 1–25 por llamada, cada uno con unidinventado por el llamante. Una llamada por escaneo, no una por problema — una forma de llamada por problema es rechazada de inmediato. - Conciencia de crédito. Los créditos se consumen por problema, no por llamada, así que el agrupamiento es el contrato en lugar de un descuento. Volver a ejecutar
analyzepara verificar no consume nada, por lo que la verificación es barata. - Cuáles hallazgos confiar. Los problemas señalados
isAdvanced: trueprovienen de Reglas Avanzadas — IA y visión por computadora — y son probabilísticos, por lo que deben confirmarse con la interfaz de usuario real. Los hallazgos estándar de axe-core (isAdvanced: false) son determinísticos y autoritativos. - Pruebas de teclado. Cuándo recurrir a
igt, y cómo difiere la forma de su problema de la deanalyze. - Matiz específico de la regla. Orientación para reglas con alto juicio, como
image-alt,color-contrast,link-name/button-namey etiquetado de formularios.
Debido a que la habilidad siempre está disponible, las solicitudes en lenguaje sencillo funcionan sin ceremonia:
Make the checkout page at http://localhost:3000/checkout accessibleComandos
/axe-accessibility:mcp-setup
/axe-accessibility:mcp-setup [client]Lo guía a través de la conexión al servidor Axe MCP, preguntando sobre las decisiones en lugar de asumirlas. Opcionalmente, pase un cliente — claude-code, cursor, vscode o claude-desktop — para omitir esa pregunta.
El comando:
- Pregunta si desea el npm o Docker distribución, y luego verifica ese entorno de ejecución — versión de Node y Chromium para npm, un demonio en ejecución para Docker.
- Pregunta si desea clave API o OAuth 2.0 autenticación, luego guía a través de la creación de una clave en el Portal de Cuenta o la ejecución del inicio de sesión del navegador.
- Escribe la configuración coincidente para su cliente — fusionando en cualquier configuración de MCP existente en lugar de sobrescribirla. Para Claude Code en la distribución npm, el servidor incluido en el complemento generalmente hace innecesario este paso.
- Ofrece las configuraciones opcionales que vale la pena conocer:
AXE_SERVER_URLpara nube privada,AXE_ADVANCED_RULESpara una regla predeterminada de Reglas Avanzadas, yAXE_CHROME_PATHpara reutilizar un navegador que ya tenga (solo npm). - Verifica la conexión y realiza un escaneo rápido.
Útil, aunque la instalación del complemento ya registra el servidor: ejecútelo cuando necesite configurar la autenticación por primera vez, cambiar a Docker, apuntar a una instancia de nube privada o configurar un diferente editor en la misma máquina. Los fragmentos de cliente que emite son los mismos que están documentados para VS Code con Copilot, Cursor y Claude Code — el comando simplemente elige el correcto y lo fusiona en su configuración existente.
/axe-accessibility:mcp-generate-instructions
/axe-accessibility:mcp-generate-instructions [targets]Escribe el flujo de trabajo obligatorio analizar → remediar → verificar en los archivos de instrucciones del agente de su repositorio, para que cualquiera agente de codificación que trabaje en el repositorio — no solo el que tiene el complemento instalado — lo siga. Objetivos:
| Objetivo | Archivo escrito |
|---|---|
claude |
CLAUDE.md (raíz del repositorio) |
copilot |
.github/copilot-instructions.md |
cursor |
.cursor/rules/accessibility.mdc |
agents |
AGENTS.md (raíz del repositorio) |
all |
Todo lo anterior |
Sin argumento, el comando detecta cuáles de estos archivos ya existen y confirma el conjunto con usted antes de escribir.
Cada archivo obtiene el contrato completo, no solo el bucle: la regla de agrupación remediate, el mapeo de campos, la distinción de confianza determinista versus avanzada, la sección de teclado igt y la nota de crédito. Los nombres de las herramientas se adaptan por objetivo, ya que los clientes nombran las herramientas de MCP de manera diferente — Copilot se vincula a mcp_axe-mcp-server_analyze, por ejemplo, mientras que Claude Code y Cursor resuelven nombres simples.
Los archivos existentes son fusionados, no sobrescritos: si ya existe una sección de flujo de trabajo de accesibilidad, se actualiza en su lugar, de lo contrario, la sección se agrega y el resto del archivo se conserva. El comando también adapta las instrucciones a su repositorio donde puede — por ejemplo, haciendo referencia a la URL y el comando de inicio reales de su proyecto en lugar de un marcador de posición.
/axe-accessibility:mcp-generate-instructions allGenerar all es la opción habitual para un repositorio compartido: una persona lo ejecuta una vez desde Claude Code, confirma los archivos, y el agente de cada colaborador recoge el flujo de trabajo — Copilot de .github/copilot-instructions.md, Cursor de .cursor/rules/accessibility.mdc, y así sucesivamente. Las instrucciones solo surten efecto para los agentes que las leen, y cada colaborador aún necesita tener el servidor Axe MCP conectado en su propio cliente para que el flujo de trabajo se ejecute realmente.
Las instrucciones escritas antes de Axe MCP Server 1.3.0 son activamente perjudiciales — la antigua forma de llamada por problema remediate ahora es rechazada por el servidor, por lo que un agente que las siga fallará en cada llamada de remediación. Volver a ejecutar el comando detecta esa guía obsoleta y la reemplaza en su lugar en lugar de añadir al lado.
Este es el equivalente automatizado del modelo en Configurando tu Agente de IA.
/axe-accessibility:mcp-audit
/axe-accessibility:mcp-audit <url> [max-rounds]Ejecuta el bucle de remediación completo en una página y aplica las correcciones a su código fuente. Proporcione la URL completa, incluyendo el esquema y el puerto. Si lo omite, el comando intenta detectar un servidor de desarrollo en ejecución a partir de sus package.json scripts y puertos comunes, y confirma la URL con usted antes de escanear.
Cada ronda:
- Analizar la URL y recopile los problemas.
- Clasificar por bandera — los hallazgos
isAdvancedse confirman con la interfaz de usuario real antes de efectuar cualquier cambio, los hallazgosisNeedsReviewse presentan a usted en lugar de corregirse automáticamente cuando la llamada es una decisión de diseño, y los hallazgosisBestPracticenunca bloquean "limpio". - Remediar cada problema de la ronda en una llamada agrupada única (hasta 25 por llamada, divididos en lotes secuenciales más allá de eso).
- Aplicar las directrices a su código fuente, correlacionando cada resultado de vuelta por
idy verificando su estado, ya que un lote puede fallar parcialmente. Las correcciones de código sugeridas se adaptan al componente real en lugar de pegarse literalmente. - Reanalizar para verificar.
El bucle se detiene en cero infracciones o después de max-rounds (el valor predeterminado es 5). También se detiene antes si una ronda no logra avanzar — en ese punto, los problemas restantes generalmente necesitan una decisión de diseño, o son falsos positivos de reglas avanzadas, los cuales el comando informa como tal en lugar de contorsionar su código para alcanzar cero. El progreso se informa por ronda (por ejemplo, round 1: 7 → round 2: 2 → round 3: 0), y el comando resume los cambios de código que realizó para que pueda revisarlos antes de cometer.
/axe-accessibility:mcp-audit http://localhost:3000/checkout 3Los escaneos grandes se revisan contigo primero. Créditos de IA se consumen por problema, así que una página con cientos de violaciones representa un gasto real. En más de aproximadamente 30 problemas en una ronda, el comando informa el conteo y desglosa las reglas y pregunta antes de proceder, ofreciendo colapsar instancias repetidas a través de componentes compartidos como una palanca de costo.
Llegar a una página que no es una URL simple funciona como ocurre con la herramienta subyacente: describe un inicio de sesión o una interacción y los pasos se pasan como acciones de before; describe el enrutamiento del entorno o una sesión preautenticada y se pasan como cookies, que se aplican antes de la navegación. Mantén los secretos en un fill paso de value o en un value de cookie, nunca en un selector o en el nombre de una cookie.
Una vez que las violaciones automatizadas están limpias, el comando puede ejecutar un pase de teclado opcional con igt — el orden de enfoque, las trampas de enfoque y la visibilidad del enfoque son invisibles para un escaneo estático. Pídelo directamente si lo deseas en una página con menús, diálogos o widgets personalizados:
/axe-accessibility:mcp-audit http://localhost:3000 and run the keyboard test/axe-accessibility:mcp-audit edita tus archivos de origen. Ejecútalo en un árbol de trabajo limpio o en una rama dedicada para que los cambios sean fáciles de revisar y revertir, y siempre revisa los arreglos generados por IA antes de confirmarlos.
Flujo de trabajo sugerido
/axe-accessibility:mcp-setup— conecta y autentica el servidor. Verifica con/mcp./axe-accessibility:mcp-generate-instructions all— incorpora el flujo de trabajo en el repositorio para que cada agente y compañero lo herede./axe-accessibility:mcp-audit http://localhost:3000— limpia la deuda de accesibilidad ya presente en la página.- A partir de ahí, solo construye. La habilidad
mcp-usagemantiene a Claude ejecutando el ciclo en los cambios de UI sin que se le pida.
Gestión del complemento
El comando /plugin de Claude Code gestiona el ciclo de vida del complemento:
/plugin # browse and manage installed plugins
/plugin update axe-accessibility
/plugin uninstall axe-accessibilityDesinstalar elimina la entrada del servidor MCP incluido junto con las habilidades y comandos. Cualquier archivo de instrucciones del agente creado por /axe-accessibility:mcp-generate-instructions permanece en tu repositorio — elimínalos tú mismo si ya no los deseas.
Páginas relacionadas
- Elegir una distribución — npm versus Docker, e instalando Chromium para npm
- Configuración en Claude Code — configurando el servidor a mano, sin el complemento
- Autenticación — clave API y OAuth 2.0 en su totalidad
- Referencia de Configuración — variables de entorno y plantillas de instrucciones del agente
- Reglas Avanzadas — preajustes, precedencia y qué significa el indicador
isAdvanced - Solución de problemas — conexión, Chromium, Docker y errores de autenticación
- Créditos de IA — cómo
remediateyigtconsumen créditos
