axe MCP Server
Descripción general
El Servidor axe MCP es un servidor del Protocolo de Contexto de Modelo (MCP) que integra pruebas de accesibilidad de nivel empresarial directamente en su flujo de trabajo de desarrollo. Construido sobre la confiable plataforma axe, permite a los desarrolladores realizar escaneos de accesibilidad completos y recibir orientación experta en remediación sin salir de su IDE.
El servidor proporciona tres capacidades: analyze, remediate y igt.
Estas herramientas se integran sin problemas con clientes compatibles con MCP (como Claude Desktop, VS Code con Copilot o Cursor) y respetan la configuración de axe de su organización.
Obteniendo acceso
El servidor Axe MCP está incluido en el paquete paquete Axe DevTools para Web. Una suscripción que habilita el acceso al servidor axe MCP se configura hablando con un representante de ventas de Deque.
Herramientas y capacidades
La herramienta analyze
La herramienta analyze realiza un análisis completo de accesibilidad en páginas web al ejecutar un escaneo a través de la extensión del navegador axe DevTools en un entorno de navegador real. Funciona perfectamente tanto con las URL locales de desarrollo (por ejemplo, localhost:3000) como con las URL de producción remota.
Qué Hace
- Autenticación - Valida las credenciales del usuario (ya sea una clave API o un token de acceso OAuth 2.0) para garantizar el acceso autorizado
- Recuperación de configuración - Obtiene la configuración específica de la organización del usuario configuración de axe, que incluye:
- Estándar de pruebas de accesibilidad (por ejemplo, WCAG 2.2 AA)
- versión de axe-core
- Necesita revisión / mejores prácticas
- Análisis basado en navegador - Inicia una instancia del navegador en segundo plano con la extensión axe DevTools montada
- Navegación de la página - Navega a la URL proporcionada por el usuario en su solicitud al agente de IA
- Escaneo de accesibilidad - Realiza un análisis completo de accesibilidad en la página renderizada usando la extensión del navegador axe DevTools, asegurando que se pruebe la experiencia real del usuario (no solo HTML estático)
- Entrega de resultados - Devuelve los resultados del análisis de manera detallada al agente en un formato estructurado
Pruebas de respuesta
La herramienta analyze admite parámetros opcionales viewportWidth y viewportHeight, lo que permite probar páginas en dimensiones específicas de la ventana de visualización. Esto es útil para detectar problemas de accesibilidad que solo aparecen en ciertos tamaños de pantalla, como puntos de quiebre para móviles o tabletas.
Analyze http://localhost:3000 for accessibility issues at a mobile viewport of 375x812Cuando se omiten estos parámetros, el navegador usa su tamaño de visualización predeterminado.
Escaneos Parciales de Página
Por defecto, la herramienta analyze escanea toda la página. Para delimitar el escaneo a una región específica, pase el parámetro opcional selector, útil para centrarse en un solo componente o excluir partes ruidosas y no relacionadas de la página de los resultados.
-
Una única cadena de selector CSS apunta a un elemento en el marco superior:
{ "url": "http://localhost:3000", "selector": "#main" } -
Una matriz de selectores CSS avanza a través de los límites del iframe o Shadow-DOM: cada segmento selecciona el anfitrión para el siguiente. Use un arreglo solo cuando el objetivo esté dentro de un iframe o raíz Shadow:
{ "url": "http://localhost:3000", "selector": ["iframe#checkout", "#payment-form"] }
Un arreglo admite hasta 10 segmentos. Si el selector no coincide con ningún elemento en la página, el escaneo devuelve un error. Cuando selector se omite, se escanea toda la página.
Solicite a su agente de IA en lenguaje natural — el agente traduce su intención en la llamada a la herramienta:
Scan only the #main region of http://localhost:3000 for accessibility issuesInteracciones del navegador antes del escaneo
La herramienta analyze admite un arreglo opcional before de pasos de interacción que se ejecutan después de que la página se carga pero antes del escaneo de accesibilidad. Esto desbloquea varios escenarios de prueba en el mundo real:
- Páginas protegidas por inicio de sesión — complete las credenciales y envíe antes de escanear la página posterior al inicio de sesión
- Banners de cookies/consentimiento — descartar banners que de otro modo superpondrían o ocultarían el contenido de la página
- Contenido dinámico — espere a que aparezca contenido renderizado por el cliente (cambios de ruta, DOM inyectado tardíamente) antes de escanear
Los pasos se ejecutan en orden del arreglo, en el mismo contexto del navegador que el escaneo, por lo que las cookies, localStorage, y cualquier cambio de ruta desencadenado por click o fill persisten en el escaneo.
El arreglo before admite hasta 20 pasos. Cada paso tiene su propio tiempo de espera de BROWSER_TIMEOUT_MS (por defecto 30000 ms); no hay anulación por paso.
Acciones Soportadas
| Acción | Campos requeridos | Campos opcionales | Propósito |
|---|---|---|---|
click |
selector |
Haga clic en el elemento que coincida con el CSS selector (por ejemplo, un botón de enviar, un botón "Descartar" en un banner). |
|
fill |
selector, value |
Llene un input que coincida con selector con value. Úselo para credenciales, consultas de búsqueda o campos de formulario. Una cadena vacía borra la entrada. |
|
waitFor |
selector |
state — uno de "visible" (por defecto), "attached", "hidden", "detached" |
Espere a que el elemento que coincide con selector alcance state. Úselo para controlar el paso siguiente o el propio escaneo. Elija un selector que exista únicamente en el estado posterior a la interacción (por ejemplo, un botón de cierre de sesión o el encabezado del tablero) — los selectores genéricos como body o #app ya existen antes de la interacción y se resuelven instantáneamente, por lo que no controlarán nada. |
Ejemplo: Iniciar sesión antes de escanear
Solicite a su agente de IA en lenguaje natural — el agente traduce su intención en la llamada a la herramienta:
Analyze http://localhost:3000 for accessibility issues. Before running
the analysis, fill in the #username and #password fields with USERNAME
and PASSWORD from ./.env.local, click the button[type=submit] button,
and wait for #main-content to appear.El agente resuelve la solicitud y llama a la herramienta analyze con una carga similar a:
{
"url": "http://localhost:3000",
"before": [
{
"action": "fill",
"selector": "#username",
"value": "<resolved-from-.env.local>"
},
{
"action": "fill",
"selector": "#password",
"value": "<resolved-from-.env.local>"
},
{ "action": "click", "selector": "button[type=submit]" },
{ "action": "waitFor", "selector": "#main-content" }
]
}fill.value se trata como sensible. El servidor axe MCP nunca registra fill.value, nunca lo replica en mensajes de error, y nunca lo envía a la telemetría. Use fill para cualquier entrada proporcionada por el usuario o secreta (contraseñas, tokens de API, etc.) para que los secretos permanezcan ocultos en todo el pipeline — y nunca inserte valores sensibles en un selector, que aparecen aparecen en registros y mensajes de error.
El agente resuelve value, no el servidor. El servidor axe MCP trata value como una cadena literal — no no lee archivos, expande variables de entorno, ni interpreta la sintaxis de marcadores como ${VAR}, $VAR o {{VAR}}. Su agente de IA (Claude, Copilot, Cursor, etc.) es responsable de resolver la intención del usuario en una cadena concreta antes de llamar a la herramienta.
En la práctica, esto significa:
- Formula sugerencias naturalmente — "use USERNAME/PASSWORD from
.env.local" funciona. El agente lee el archivo con sus propias herramientas de sistema de archivos y sustituye los valores. - No pegues sintaxis de marcador de posición — escribir
value: "${USERNAME}"en una solicitud hará que la cadena literal${USERNAME}sea escrita en el input. - Sé explícito sobre fuentes ambiguas — si dice "use my saved credentials" sin señalar al agente un archivo o variable de entorno, un agente bien comportado preguntará en lugar de adivinar. Dígale dónde buscar.
Algunos flujos de autenticación no están soportados. before acciones impulsan la página a través de interacciones al estilo de Playwright en una instancia de Chromium en Docker. Lo siguiente está intencionadamente fuera de alcance:
- Desafíos de Captcha desafíos (reCAPTCHA, hCaptcha, etc.)
- Verificación de 2FA / TOTP / SMS códigos de verificación
- Cadenas de redirección de SSO de terceros cadenas de redirección (por ejemplo, "Iniciar sesión con Google", páginas de inicio de sesión alojadas en Okta)
Cuando tu flujo de inicio de sesión real requiere cualquiera de los anteriores, escanea un punto de entrada alternativo:
- Un cookie de sesión preautenticada inyectado con Inyección de cookies — autentíquese una vez en un navegador real, luego pase la cookie de sesión resultante para que el escaneo comience ya con sesión iniciada
- Un token de sesión o URL de derivación que su equipo usa para pruebas automatizadas
- Un URL de prueba con autenticación deshabilitada para pruebas de accesibilidad
Inyección de cookies
La herramienta analyze admite un arreglo opcional cookies que establece cookies en el contexto del navegador antes de la navegación — para que acompañen la primera solicitud a la página. Esto es distinto de acciones before, que se ejecutan después la navegación y por lo tanto no pueden influir en cómo se enruta la solicitud inicial. Dos usos comunes:
- Enrutamiento de entornos — establece una cookie de selector de rama de características o de preparación que una capa de CDN o de borde lee para decidir qué versión del sitio servir.
- Sesiones preautenticadas — inyecte una cookie de sesión válida para que el escaneo comience ya autenticado, sin tener que pasar por un formulario de inicio de sesión a través de
before.
La matriz de cookies admite hasta 20 cookies.
Campos de Cookie
| Campo | Requerido | Descripción |
|---|---|---|
name |
Sí | Nombre de la cookie. Aparece en registros y mensajes de error — nunca ponga valores secretos aquí. |
value |
Sí | Valor de la cookie. Tratado como sensible: nunca se registra, se muestra en errores, ni se envía a telemetría. Hasta 10,000 caracteres (lo suficientemente largo para JWTs y tokens de sesión). |
domain |
Sí | Dominio de la cookie. Requerido para que el alcance sea explícito. Use un punto al inicio (.example.com) para compartir la cookie entre subdominios. |
path |
No | Ruta de la cookie. Por defecto a /. |
sameSite |
No | Uno de "Strict", "Lax", o "None". "None" requiere secure: true. |
secure |
No | Booleano. |
httpOnly |
No | Booleano. |
expires |
No | Vencimiento como un timestamp Unix en segundos. Omita para una cookie de sesión. |
Ejemplo: Accediendo a una página pre-autenticada
Solicite a su agente de IA en lenguaje natural — el agente traduce su intención en la llamada a la herramienta:
Analyze https://app.example.com for accessibility issues. Set the session
cookie for app.example.com from ./.env.local so the scan starts already
logged in.El agente resuelve el valor de la cookie y llama a la herramienta analyze con un payload similar a:
{
"url": "https://app.example.com",
"cookies": [
{
"name": "session",
"value": "<resolved-from-.env.local>",
"domain": "app.example.com"
}
]
}cookies[*].value es tratado como sensible. Al igual que fill.value, el servidor axe MCP nunca registra el value de una cookie, nunca lo muestra en mensajes de error, y nunca lo envía a telemetría. Sin embargo, el name de una cookie aparecen aparece en registros y mensajes de error — manten los secretos en value, nunca en name.
El agente resuelve value, no el servidor. Los valores de las cookies siguen la misma regla que fill.value en before acciones: el servidor trata value como una cadena literal y no no leer archivos, expandir variables de entorno, o interpretar la sintaxis de marcadores de posición como ${VAR}. Su agente de IA resuelve la intención del usuario en una cadena concreta antes de llamar a la herramienta.
Beneficios clave
- Pruebas en navegador real - Prueba la página renderizada real, no solo el código fuente, asegurando resultados precisos
- Estándares de la organización - Respeta la configuración de axe de su equipo para pruebas consistentes en todos los usuarios
- Cobertura integral - Aprovecha la plataforma axe líder en la industria
- Pruebas de respuesta - Pruebe con dimensiones específicas de la ventana gráfica para detectar problemas de accesibilidad específicos de los puntos de quiebre
- Escaneos Dirigidos - Delimite un escaneo a una región específica, iframe o raíz de sombra con el parámetro
selector - **Páginas Autenticadas e Interactivas** - Escanee páginas detrás de un inicio de sesión, descarte banners de cookies, o espere contenido dinámico usando
beforeacciones - Cookies de Sesión y de Entorno - Ingrese ya autenticado o diríjase a un entorno específico, inyectando cookies antes de la navegación con el parámetro
cookies
Salida
La herramienta devuelve una respuesta JSON estructurada que contiene:
- Todas las violaciones de accesibilidad encontradas
- Niveles de severidad de las violaciones (crítico, serio, moderado, menor)
- Selectores de elementos específicos y código fuente
- IDs de reglas y descripciones
La Herramienta remediate
La herramienta remediate toma uno o más problemas de accesibilidad identificados por la herramienta analyze o igt y genera una guía de remediación impulsada por IA, consciente del contexto, que los agentes de codificación pueden traducir en correcciones de código reales. Los problemas se envían como un lote, por lo que una sola llamada puede devolver correcciones para cada violación encontrada en una página.
Qué Hace
- Autenticación - Valida las credenciales del usuario—ya sea una clave API o un token de acceso OAuth 2.0—para asegurar el acceso autorizado
- Uso de Crédito de IA - Cada problema en el lote consume créditos de IA de la asignación de su organización, permitiendo el uso de modelos de IA avanzados entrenados con la extensa experiencia en accesibilidad de Deque
- **Remediación Generada por IA** - Crea soluciones de accesibilidad de alta calidad y accionables que los agentes de codificación pueden interpretar e implementar en el código fuente
Si los créditos de IA se agotan, la herramienta remediate dejará de funcionar hasta que sus créditos se restablezcan (ya sea comprando más o reiniciando su ciclo mensual). Sin embargo, la herramienta analyze continuará funcionando.
Remediación por Lotes
La herramienta acepta una matriz de issues. Envíe todos los problemas de una sola ejecución analyze o igt juntos en una llamada en lugar de llamar a la herramienta una vez por problema — un lote admite entre 1 y 25 problemas.
Cada problema tiene los siguientes campos:
| Campo | Requerido | Descripción |
|---|---|---|
id |
Sí | Un identificador elegido por el llamador, único dentro del lote (ej., el ID de regla más un contador: color-contrast-0). Se usa solo para correlacionar cada resultado con su entrada. |
rule |
Sí | El ID de regla de axe de la salida de analyze/igt (ej., color-contrast, image-alt). |
elementHtml |
Sí | El fragmento HTML del elemento que infringe. |
remediation |
Sí | Una descripción de lo que está mal y lo que necesita corregirse, tomada del resumen del problema (enriquecida opcionalmente con su descripción, texto de ayuda o razonamiento de IA). |
pageUrl |
No | La URL de la página que se está remediando, desde la respuesta de analyze. |
Indique a su agente de IA en lenguaje natural — que ensamblará el lote a partir de los resultados del análisis:
Analyze http://localhost:3000 and remediate every issue foundEl agente resuelve el aviso y llama a la herramienta remediate con un payload similar a:
{
"issues": [
{
"id": "color-contrast-0",
"rule": "color-contrast",
"elementHtml": "<span style=\"color: #aaa\">Sign up</span>",
"remediation": "Increase the contrast ratio to at least 4.5:1",
"pageUrl": "http://localhost:3000"
},
{
"id": "image-alt-1",
"rule": "image-alt",
"elementHtml": "<img src=\"logo.png\">",
"remediation": "Add alt text describing the image"
}
]
}Salida
La herramienta devuelve una matriz de resultados por problema, cada uno vinculado a su entrada por id. Un resultado tiene una de dos formas:
- Éxito —
status: "ok", con un objetoremediationque contiene una descripción general, los pasos de remediación, y una corrección de código concreta - Error —
status: "error", con un objetoerror(codeymessage) para un problema que no pudo ser remediado
{
"data": [
{
"id": "color-contrast-0",
"status": "ok",
"remediation": {
"general_description": "...",
"remediation": "...",
"code_fix": "<span style=\"color: #595959\">Sign up</span>"
}
},
{
"id": "image-alt-1",
"status": "error",
"error": { "code": "LLM_ERROR", "message": "..." }
}
]
}Los resultados son independientes: un fallo en un problema no bloquea la orientación para los demás.
Uso de Créditos
La herramienta remediate es parte del Sistema de Gestión de Créditos de IA. Cada problema en un lote consume créditos de la asignación mensual de su organización. Los administradores pueden monitorear el uso de créditos a través del Portal de Cuentas de axe.
La Herramienta igt
La herramienta igt ejecuta el Pruebas Guiadas Inteligentes Automatizadas (IGTs) de Deque contra una página web desde su IDE. Donde la Extensión de Navegador axe DevTools normalmente guía a un desarrollador a través de un IGT con mensajes manuales, la herramienta igt realiza la prueba automáticamente y devuelve resultados estructurados que un agente de codificación puede actuar sobre.
Hoy la herramienta admite el IGT de Teclado, que evalúa si los elementos interactivos en una página pueden ser alcanzados y operados usando solo el teclado.
Qué Hace
- Autenticación - Valida las credenciales del usuario—ya sea una clave API o un token de acceso OAuth 2.0—para asegurar el acceso autorizado
- Ejecución Basada en Navegador - Prueba en la misma instancia de Chromium con la Extensión de DevTools de axe montada que utiliza la herramienta
analyze - Navegación de la página - Navega a la URL proporcionada por el usuario en su aviso al agente de IA
- IGT de Teclado Automatizada - Avanza por las pestañas de la página mientras la IA analiza cada parada de pestaña, evaluando el orden de enfoque y la operatividad del teclado, sin necesidad de entrada manual
- Entrega de resultados - Devuelve los hallazgos estructurados al agente
Uso
La herramienta acepta un url y un array de igtTools que nombra qué IGT ejecutar. Actualmente, el valor admitido es solo el de Teclado IGT:
{
"url": "http://localhost:3000",
"igtTools": ["keyboard"]
}Indicá a tu agente de IA en lenguaje natural: el agente traduce tu intención en la llamada de la herramienta:
Run the keyboard IGT on http://localhost:3000Interacciones con el Navegador Antes de las Pruebas
Al igual que la herramienta analyze, igt acepta un array before opcional de pasos de interacción que se ejecutan después de que la página se carga pero antes de que se active la prueba guiada. Esto te permite ejecutar una prueba guiada contra páginas con acceso limitado, descartar banners de cookies o esperar a que aparezca contenido dinámico.
Los pasos se ejecutan en el mismo contexto del navegador que la prueba (por lo que cookies, localStorage, y cambios de ruta persisten), usan las mismas click, fill, y waitFor acciones, y están limitados al mismo 20 pasos. Consulta Acciones Soportadas bajo la herramienta analyze para la referencia completa, incluyendo el manejo de valores sensibles de fill.value y las reglas de selección.
{
"url": "http://localhost:3000",
"igtTools": ["keyboard"],
"before": [
{ "action": "fill", "selector": "#username", "value": "<resolved-from-.env.local>" },
{ "action": "click", "selector": "button[type=submit]" },
{ "action": "waitFor", "selector": "#main-content" }
]
}Salida
La herramienta devuelve una respuesta JSON estructurada:
{
"pageUrl": "http://localhost:3000",
"data": {
"keyboard": {
"issues": [],
"unanalyzedElements": [],
"terminatedReason": "keyboard-trap"
}
}
}issues- Violaciones de accesibilidad de teclado encontradas durante la ejecuciónunanalyzedElements- Paradas de pestaña que la IA no pudo analizar. Estas se informan por separado deissuespara que puedan ser revisadas manualmente, en lugar de ser mal informadas como aprobadas o rechazadas.terminatedReason- Presenta únicamente cuando la ejecución se detuvo antes de que cada parada de pestaña fuera analizada. El valor actual es"keyboard-trap", lo que significa que la prueba encontró una trampa de teclado de la que no pudo escapar; los pasos restantes se detienen y las paradas de pestaña analizadas hasta ese punto se devuelven enissues.
Uso de Créditos
La herramienta igt es una función impulsada por inteligencia artificial y es parte del Sistema de Gestión de Créditos de IA. Cada ejecución consume créditos de IA de la asignación mensual de tu organización. Los administradores pueden monitorear el uso de créditos a través del Portal de Cuentas de axe.
Si los créditos de IA se agotan, la herramienta igt dejará de funcionar hasta que tus créditos se restauren (ya sea comprando más o reiniciando tu ciclo mensual). Sin embargo, la herramienta analyze continuará funcionando.
Empezando
Configurar el Servidor MCP de axe implica tres elecciones independientes:
- Elige una distribución — Docker o npm
- Configura la autenticación — una clave API o OAuth 2.0
- Configura tu cliente — VS Code con Copilot, Cursor, o Claude Code
Para variables de entorno e instrucciones recomendadas para el agente de IA, consulta Referencia de Configuración. Si algo sale mal, consulta Solución de Problemas.
Ejemplos de Indicaciones
Asegurando que se llamen las herramientas esperadas
En muchos entornos de desarrollo, usar la siguiente sintaxis (con el prefijo "#") garantizará que se llamen las herramientas del servidor axe MCP como se espera:
#analyze the http://localhost:3033/ web page for accessibility issues and #remediate any violations foundAnalizar una URL de localhost para problemas de accesibilidad:
Analyze http://localhost:3000 for accessibility issuesAnálisis con remediación:
Analyze https://example.com for accessibility issues and fix any issues foundAnalizar una página detrás de un inicio de sesión:
Analyze http://localhost:3000 for accessibility issues. Before running the
analysis, fill in the #username and #password fields with USERNAME and
PASSWORD from ./.env.local, click the button[type=submit] button, and
wait for #main-content to appear.Cerrar una banner de cookies antes de escanear:
Analyze https://example.com for accessibility issues, but first click the
#cookie-dismiss button to dismiss the cookie consent banner.Escanear una página con una cookie de sesión inyectada:
Analyze https://app.example.com for accessibility issues. Set the session
cookie for app.example.com from ./.env.local so the scan starts already
logged in.Soporte
Para preguntas, problemas o comentarios relativos al axe MCP Server:
- Soporte técnico: helpdesk@deque.com
- Consultas generales: helpdesk@deque.com
- Preguntas de ventas: sales@deque.com
Preguntas frecuentes sobre Seguridad y Privacidad
¿El axe MCP Server captura o almacena nuestro código fuente?
No. El servidor MCP de axe no captura ni almacena tu código fuente en ninguna base de datos o almacenamiento persistente.
Cuando la herramienta analyze se ejecuta, la respuesta incluye el código fuente HTML de los elementos con problemas de accesibilidad para propósitos de contexto y depuración. Sin embargo, estos datos:
- Solo se devuelven en la respuesta inmediata de la API a su agente de IA
- Nunca se almacenan en bases de datos gestionadas por Deque
- Permanecen dentro de su entorno de desarrollo local
- Se descartan después de que se complete el análisis
¿Cuánto tiempo permanecen los resultados de las pruebas MCP en la infraestructura gestionada por Deque?
No lo hacen. Los resultados de las pruebas MCP no se preservan en ninguna base de datos o sistema de almacenamiento gestionado por Deque.
La herramienta analyze:
- Funciona completamente en su máquina: en un contenedor Docker, o como un proceso local de Node.js con la distribución npm
- Devuelve los resultados directamente a su agente de IA
- No envía los resultados del análisis a los servidores de Deque
La única excepción es cuando llamas a la herramienta remediate, que puede incluir metadatos mínimos de violaciones (ver abajo) para generar orientaciones de corrección con IA.
¿Qué datos se envían a los servidores de Deque?
Solo al usar la herramienta remediate:
Los siguientes datos se envían al punto de acceso de remediación de IA de Deque para generar orientación de corrección:
- ID de regla - La regla específica de accesibilidad que fue violada
- HTML del elemento - El marcado HTML del(los) elemento(s) afectado(s)
- Metadatos del problema - Descripción de la violación y orientación sobre la corrección de axe-core
Estos datos se utilizan exclusivamente para generar orientación de remediación y no se almacenan a largo plazo en las bases de datos de Deque.
La herramienta analyze no envía ningún dato a los servidores de Deque más allá de las solicitudes de autenticación (validación de tu clave API o token de acceso OAuth 2.0).
¿Qué nivel de acceso necesita el agente de IA para funcionar?
El agente de IA (Claude, Copilot, Cursor, etc.) necesita acceso a:
-
Comunicación del servidor MCP - El agente debe poder llamar a las herramientas del servidor MCP a través del Protocolo de Contexto del Modelo
-
Datos de respuesta de herramientas - El agente recibe:
- Datos de violaciones de accesibilidad de llamadas
analyze - Orientación sobre la corrección de llamadas
remediate - Estos datos son necesarios para que el agente entienda los problemas y genere correcciones de código
- Datos de violaciones de accesibilidad de llamadas
-
Su base de código (opcional) - Si deseas que el agente aplique automáticamente correcciones de código, necesita acceso a tus archivos de código fuente
- Esto es estándar para los asistentes de codificación de IA en IDEs (VS Code, Cursor, etc.)
- No se requiere si solo está utilizando las herramientas para análisis y orientación (por ejemplo, a través de la aplicación de escritorio Claude)
El propio servidor MCP necesita acceso a:
- URLs que especifique para las pruebas (admite tanto locales como remotos)
- Tus credenciales de axe: ya sea una clave API (generada en el Portal de Cuentas de axe) o un token de acceso OAuth 2.0 (obtenido a través de
@deque/axe-auth); proporcionado mediante variable de entorno
Importante: El servidor MCP se ejecuta localmente en tu máquina — en un contenedor Docker, o como un proceso Node.js con la distribución npm. No requiere acceso amplio al sistema de archivos ni privilegios elevados.
Mejores prácticas
- Seguridad de las Credenciales - Almacena tu
AXE_API_KEYoAXE_ACCESS_TOKENcomo variable de entorno, no en el código. Con OAuth 2.0,@deque/axe-authmantiene los tokens en el llavero de tu sistema operativo e inyecta un token de acceso fresco al iniciar, por lo que no necesita residir ningún secreto de larga duración en tu configuración - Pruebas locales - Prueba URLs de desarrollo local (localhost) o en etapa en desarrollo para mantener el código sensible pre-producción aislado
- Aislamiento de red - El servidor MCP solo se comunica con:
- URLs que solicite explícitamente analizar
- Servidores Deque para autenticación (validación de clave API o token OAuth 2.0) y remediación (cuando se solicita)
- Su agente de IA local a través del protocolo MCP
- Revise antes de aplicar - Siempre revisa los cambios de código generados por IA antes de comprometerlos en tu base de código
