Risoluzione dei problemi
Questa pagina copre problemi comuni per entrambe le Docker che npm. I problemi che riguardano solo una distribuzione sono contrassegnati di conseguenza.
Il server non si avvia
- Assicurarsi che Docker sia in esecuzione (distribuzione Docker) o che Chromium sia installato (distribuzione npm — vedi installazione di Chromium)
- Verificare che le credenziali siano corrette: o il tuo
AXE_API_KEYo il tuoAXE_ACCESS_TOKEN, ma non entrambi (il server fallisce all'avvio se entrambi sono impostati) - Verifica di avere accesso al server Axe MCP (contatta il supporto se necessario)
- Leggi l'errore di avvio: nomina l'impostazione che è sbagliata, come un URL proxy non valido o un
AXE_CHROME_PATHche non può essere avviato, e spiega il motivo - Su una rete che consente il traffico in uscita solo tramite un proxy, consulta Proxy aziendale
Timeout durante la scansione
- Assicurarsi che l'URL di destinazione sia accessibile dalla rete
- Controllare eventuali problemi di connettività di rete
- Aumenta il timeout per la fase che è effettivamente scaduta. Ognuna è un budget indipendente, quindi aumentare quello sbagliato non cambia nulla. Abbina il testo di errore che hai ricevuto, quindi consulta Opzioni di configurazione per i valori predefiniti:
| Menzioni di errore | Aumenta |
|---|---|
Axe scan timed out after |
BROWSER_TIMEOUT_MS |
IGT timed out after |
IGT_TIMEOUT_MS |
Una chiamata remediate che scade |
REMEDIATE_TIMEOUT_MS |
Un Test guidato intelligente che scade non fallisce la chiamata analyze circostante: i risultati dell'axe arrivano comunque, con il fallimento riportato sotto il proprio status di quel test.
Il controllo del server di sviluppo locale fallisce con ERR_CONNECTION_REFUSED
Questo si applica alla distribuzione Docker — con la distribuzione npm il server funziona direttamente sul tuo host e può raggiungere normalmente i servizi localhost.
Se lo strumento analyze fallisce con un errore net::ERR_CONNECTION_REFUSED durante il tentativo di controllare un server di sviluppo in esecuzione localmente, probabilmente è perché Axe MCP Server funziona all'interno di un container Docker e non può raggiungere i servizi associati solo a localhost (cioè, 127.0.0.1) sulla tua macchina host.
Esempio di errore:
net::ERR_CONNECTION_REFUSED at http://192.168.65.2:5173/Soluzione: Avvia il tuo server di sviluppo con il flag --host impostato su 0.0.0.0 per farlo ascoltare su tutte le interfacce di rete, rendendolo raggiungibile dall'interno del container Docker:
# Vite
npm run dev -- --host=0.0.0.0
# Webpack (webpack-dev-server)
npm run dev -- --host=0.0.0.0Certificati non attendibili
Se una scansione fallisce con net::ERR_CERT_AUTHORITY_INVALID, il browser della scansione non si fida dell'autorità di certificazione (CA) che ha firmato il certificato della pagina. Questo è comune per i siti intranet firmati da una CA interna e sulle reti con un proxy che ispeziona il traffico TLS. Il tuo agente fornisce la soluzione per la tua piattaforma:
- Docker e npm su Linux — imposta
NODE_EXTRA_CA_CERTSsul percorso del certificato CA (formato PEM), quindi riavvia il server. Su Docker, monta anche il file nel contenitore. Su npm, installa primacertutil(libnss3-toolssu Debian/Ubuntu,nss-toolssu RHEL/Fedora). - npm su macOS — aggiungi la CA al tuo portachiavi di login, fidati solo per SSL.
- npm su Windows — aggiungi la CA al tuo store Radice di Fiducia dell'Utente Corrente, fidati solo per SSL.
Su macOS e Windows, il browser rileva la modifica alla scansione successiva, senza bisogno di riavvio.
Se hai già impostato NODE_EXTRA_CA_CERTS e le scansioni continuano a fallire, controlla il registro di avvio del server per un avviso riguardante il certificato, come certutil che non è installato, o il file che contiene più di un certificato quando solo il primo è aggiunto al browser. Se il file non esiste o non può essere letto, il server non si avvia affatto, e l'errore di avvio lo indica.
Questo si applica solo a una CA non attendibile. Certificati scaduti, revocati o con nome host errato sono problemi del certificato del sito stesso, e aggiungere una CA non li risolve.
Se non puoi aggiungere la CA, NODE_TLS_REJECT_UNAUTHORIZED disattiva completamente i controlli dei certificati. Usalo solo per il test locale, e prova prima NODE_EXTRA_CA_CERTS.
Proxy aziendale
Se la tua rete consente il traffico in uscita solo tramite un proxy, il server non può raggiungere il server axe, quindi fallisce all'avvio o durante la convalida delle tue credenziali. Imposta HTTPS_PROXY sull'URL completo del proxy. Consulta Variabili proxy.
Se usi OAuth 2.0, imposta anche NODE_USE_ENV_PROXY=1 in modo che il CLI di @deque/axe-auth ti connetta e aggiorni i token tramite il proxy. Questo richiede Node.js 22.21 o successivo. Consulta Variabili proxy.
- Le pagine intranet non si caricano nelle scansioni: il browser della scansione utilizza anche il proxy. Aggiungi quegli host a
NO_PROXY. - Il server registra un avviso sulle credenziali del proxy: il browser della scansione non può utilizzare un proxy che richiede un nome utente e una password. Chiedi al tuo team di rete un endpoint proxy che non li richieda, o uno che permetta il traffico del browser della scansione.
- Le richieste falliscono con errori di certificato una volta impostato il proxy: il proxy sta ispezionando il traffico TLS. Imposta anche
NODE_EXTRA_CA_CERTSsul certificato CA del proxy.
Le regole avanzate non sono state eseguite
Controlla prima il blocco advancedRules nella risposta analyze — il campo source nomina il motivo:
source |
Cosa fare |
|---|---|
org_default |
Non c'è nulla di sbagliato. Se value è disabled, il tuo amministratore lo ha impostato come predefinito dell'organizzazione in Configurazione di Axe. |
org_policy_locked |
Il tuo amministratore ha bloccato l'impostazione. Le sovrascritture sono ignorate di proposito — chiedi loro di verificare "Consenti agli utenti di cambiare". |
unavailable |
Le Regole Avanzate non sono disponibili per questo server, o la Configurazione di Axe non ha restituito un valore utilizzabile per esse. |
Altre cose da controllare:
- Il parametro
advancedRulesnon è offerto dal tuo agente. Lo strumentoanalyzelo offre solo quando le Regole Avanzate sono disponibili per la tua organizzazione. Riavvia la connessione al server MCP affinché il tuo client rileggi l'elenco degli strumenti dopo che l'accesso cambia. AXE_ADVANCED_RULESnon ha avuto effetto. Conferma che il server sia effettivamente avviato con esso (un errore di battitura interrompe l'avvio — vediAXE_ADVANCED_RULES), e che un argomento per chiamataadvancedRulesnon prenda il sopravvento.- I risultati avanzati mancano da
data. I risultati avanzati che sono degradati a necessitano revisione sono filtrati a meno che Predefinito Necessita di Revisione sia abilitato in Configurazione di Axe. Controlla l'arraymessagesdella risposta per un messaggio di degrado. - Le scansioni scadono dopo l'abilitazione delle Regole Avanzate. Aggiungono circa 15-20 secondi per scansione. Aumenta
BROWSER_TIMEOUT_MS. - Le regole avanzate hanno smesso di funzionare a metà sessione. Se Deque rifiuta una scansione perché le Regole Avanzate non sono disponibili per la tua organizzazione, il server smette di tentarle per il resto di quel process. Riavvialo dopo un cambio di abbonamento.
Vedi Regole Avanzate per la referenza completa.
Problemi con Docker
- Assicurarsi che il daemon Docker sia in esecuzione
- Controllare i permessi di Docker
- Verificare la connettività di rete per i download delle immagini Docker
- Assicurarsi che Docker abbia abbastanza memoria eseguendo un docker system prune
Installazione di Chromium (npm)
Questa sezione si applica alla distribuzione npm. La distribuzione Docker include il proprio browser, quindi gli utenti Docker non hanno bisogno di installare Chromium e non sono influenzati dagli errori qui descritti.
Cosa significa l'errore
Il server Axe MCP esegue le scansioni di accessibilità tramite un vero browser attraverso Playwright. Con la distribuzione npm, quel browser — Chromium — deve essere installato sul tuo host. Se manca, o se la versione installata non corrisponde alla revisione di Chromium che la versione di Playwright fornita dal server si aspetta, il server non riesce ad avviarsi (o fallisce alla prima scansione) con un errore che indica che Chromium non può essere avviato.
Questo è previsto in una nuova installazione ed è semplice da risolvere.
Soluzione standard
Il messaggio di errore è la fonte più affidabile. Nomina il comando esatto bloccato per il server che stai effettivamente eseguendo — eseguilo come è. I comandi seguenti derivano lo stesso blocco dall'ultima versione pubblicata, che è corretta a meno che tu non sia bloccato su un axe-mcp-server più vecchio.
Installa la revisione di Chromium corrispondente alla versione di Playwright fornita dal server Axe MCP. Playwright deve essere fissato, quindi una semplice npx playwright non risolve una nuova versione con una revisione di Chromium che il server non supporta:
npx playwright@$(npm view axe-mcp-server dependencies.playwright) install chromiumPoi riavvia il server MCP (o il tuo client MCP) e riprova.
Se esegui un server più vecchio bloccato, sostituisci la sua versione — npm view axe-mcp-server@<version> dependencies.playwright — o prendi il blocco dal messaggio di errore. Al momento della scrittura, la versione del server 1.4.0 fornisce Playwright 1.61.1.
Su Windows cmd.exe, che non ha sostituzione $(...), esegui npm view axe-mcp-server dependencies.playwright separatamente e incolla la versione. PowerShell, Git Bash e WSL gestiscono i comandi come scritti.
Seguito Linux
Su Linux, Chromium dipende anche da un numero di librerie di sistema che potrebbero non essere presenti. Se il browser continua a non avviarsi dopo la correzione standard, installa quelle dipendenze:
sudo npx playwright@$(npm view axe-mcp-server dependencies.playwright) install-deps chromiumPuoi anche combinare entrambi i passaggi in un unico comando:
sudo npx playwright@$(npm view axe-mcp-server dependencies.playwright) install --with-deps chromiumUsa un browser che hai già
Se hai già un binario di Chrome/Chromium compatibile sul tuo host, puoi evitare completamente l'installazione di Playwright impostando la variabile d'ambiente AXE_CHROME_PATH a quel binario. Questa è spesso la soluzione più rapida quando il download di Playwright è bloccato (rete limitata, proxy) o quando l'installazione delle dipendenze di sistema non è un'opzione. Vedi AXE_CHROME_PATH per i requisiti — nota che Google Chrome stabile con marchio 137+ non è supportato e il valore deve essere un binario eseguibile piuttosto che un pacchetto .app.
Perché Chromium non è incluso
Playwright associa un revisione specifica di Chromium a ciascuna versione di Playwright, e quella revisione cambia nel tempo. Includere un binario del browser nel pacchetto npm aumenterebbe significativamente la dimensione, legherebbe il pacchetto al binario di una singola piattaforma e diventerebbe obsoleto non appena Playwright aggiornasse la sua revisione fissata. Installare Chromium tramite Playwright garantisce invece di ottenere esattamente la revisione che la tua versione installata si aspetta, per la tua piattaforma. (La distribuzione Docker può includere un browser perché l'immagine è costruita per un ambiente unico e noto.)
Re-esecuzione dopo un aggiornamento di axe-mcp-server
Aggiornare axe-mcp-server potrebbe portare a una versione più recente di Playwright, che può fissare un revisione più recente di Chromium diverso da quello attualmente installato. Quando ciò accade, potresti vedere nuovamente lo stesso errore di avvio dopo un aggiornamento. La soluzione è la stessa: rilancia l'installazione con la versione di Playwright fornita dal server aggiornato affinché Chromium sia compatibile:
npx playwright@$(npm view axe-mcp-server dependencies.playwright) install chromiumPoiché il blocco è derivato piuttosto che codificato, lo stesso comando resta corretto in occasione degli aggiornamenti. Rieseguilo ogni volta che aggiorni axe-mcp-server e il server segnala una discrepanza Chromium all'avvio.
Errori di autenticazione
Chiave API
- Verifica che la tua chiave API sia valida e non sia scaduta
- Assicurati che l'abbonamento al tuo Portale Account Axe includa l'accesso al server MCP
- Controlla che la chiave API sia stata creata per il prodotto "Axe MCP Server"
- Conferma che solo
AXE_API_KEYsia impostato — se ancheAXE_ACCESS_TOKENè impostato, il server fallirà all'avvio - Conferma che l'URL del tuo server Axe sia corretto — se la tua organizzazione utilizza un'istanza di Axe regionale, cloud privato o on-premise,
AXE_SERVER_URLdeve essere impostato sull'URL base della tua istanza. Vedi Riferimento alla Configurazione per i dettagli.
OAuth
- Conferma che solo
AXE_ACCESS_TOKENsia impostato — se ancheAXE_API_KEYè impostato, il server fallirà all'avvio - Esegui
npx @deque/axe-auth tokennel tuo terminale per confermare di avere un token valido; se termina con un codice diverso da zero, ri-autenticati connpx @deque/axe-auth login - Conferma che l'URL del tuo server Axe sia corretto
- Se il tuo token scade a metà sessione, la tua configurazione sta catturando un singolo token all'avvio. Avvia il server tramite
@deque/axe-auth runinvece, che aggiorna il token del server in esecuzione per te — vedi Mantenere una sessione lunga attiva - Se
axe-auth runsegnala che l'aggiornamento del token non ha potuto raggiungere il server, la porta di aggiornamento non corrisponde: verifica cheAXE_TOKEN_REFRESH_PORTe il nome di pubblicazione Docker-p 127.0.0.1:<port>:<port>siano la stessa porta, e che il container impostiAXE_TOKEN_REFRESH_HOST=0.0.0.0. Vedi Variabili di aggiornamento del token - Vedi Autenticazione per tutti i passi di risoluzione dei problemi OAuth
Ottenere aiuto
Se incontri problemi non coperti in questa sezione di risoluzione dei problemi:
- Controlla la console/silog dell'utente sviluppatore del tuo client MCP per messaggi di errore dettagliati (ad esempio, la Console Sviluppatore di VS Code, gli Strumenti per sviluppatori di Cursor o l'output di
--debugdi Claude Code) - Controlla i log del server — i log del container Docker, o i log del client MCP quando usi la distribuzione npm
- Contatta il nostro team di supporto a helpdesk@deque.com con:
- Il tuo client MCP e la sua versione
- La tua versione di Docker (distribuzione Docker) o la versione di Node.js (distribuzione npm)
- Messaggi di errore completi
- Passaggi per riprodurre il problema
