wcagc — accessibility scanning

io.github.WCAG-Compliance由 GitHub 账号 WCAG-Compliance 发布v0.8.0更新于 Oct 29, 2026

Deterministic axe-core accessibility scans (WCAG 2.1 AA, EN 301 549, PDF/UA) via your account.

已验证Streamable HTTP可网页运行网页搜索与抓取开发者工具

概览

AI 生成的概览

通过 wcagc 账户运行确定性的 axe-core 无障碍扫描(WCAG 2.1 AA、EN 301 549、PDF/UA),并读取问题、站点运行与趋势。

可以做什么
  • 扫描公开网址或已注册站点,并对公开 PDF 执行 PDF/UA-1 结构检查
  • 读取扫描状态、严重程度统计与问题清单,适用于记录型与一次性扫描
  • 列出已注册站点,并爬取扫描其中站点的所有可达页面(Pro 及以上)
  • 读取整站运行结果、将重复 DOM 模式归并为根因、回放已保存的多步骤流程并查看违规趋势(Pro 及以上)
  • 每次扫描结果都附带覆盖范围免责声明,不给出评分或合规结论
适用场景
适合让助手用真实的自动化工具而非模型猜测来检查网页或 PDF 的无障碍问题,并从已有的 wcagc 账户中获取问题、根因或趋势。适用于开展 WCAG 或 EN 301 549 审查、并理解自动化检查只能覆盖部分问题的团队。
运行要求
可使用托管远程端点并通过托管 OAuth 登录,或通过 npx @wcagc/mcp 以 stdio 在本地运行。本地与 CI 使用需要在 WCAGC_MCP_KEY 中提供具备 mcp:scan 权限的 wcagc API 密钥;WCAGC_API_BASE_URL 仅用于自托管。部分工具需要 Pro 或更高套餐,Free/Starter 套餐有每日配额。
安装前请注意
scan_url 与 scan_site 会创建扫描,并非只读操作,会消耗套餐配额。WCAGC_MCP_KEY 中的 API 密钥可执行扫描,应避免放入共享配置。托管连接器会绑定到单一组织,并将你的 bearer 转发给 wcagc API。结果本身不完整,不能作为合规认证。

安装

在 SourceWeft 中

  1. 打开 控制台中的 wcagc — accessibility scanning,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.WCAG-Compliance%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "wcagc-accessibility-scanning": {
      "type": "http",
      "url": "https://mcp.wcagc.com/mcp"
    }
  }
}

README

wcagc-mcp

[WCAG-Compliance/wcagc-mcp MCP server] [smithery badge]

An MCP server that lets an AI assistant (Claude, ChatGPT, or any MCP-compatible client) run real, deterministic accessibility scans through wcagc — axe-core under the hood, not an LLM guess. Every scan result carries an explicit coverage disclaimer and never claims "compliant": automated testing finds only a portion of accessibility barriers, and this tool says so in every response.

This package is a thin, stateless adapter. It holds no database, no scan logic, and no secrets beyond the wcagc API base URL — it translates MCP tool calls into HTTP calls against the wcagc API and forwards the caller's own bearer. All authentication, entitlements, quotas, and scan orchestration live in the API; this code is safe to read end to end.

Two ways to run it

Local (stdio) — for Claude Desktop, Cursor, or any MCP client that spawns a local process:

bash
npx @wcagc/mcp

Configure your MCP client with:

json
{  "mcpServers": {    "wcagc": {      "command": "npx",      "args": ["-y", "@wcagc/mcp"],      "env": {        "WCAGC_MCP_KEY": "<your mcp:scan API key>"      }    }  }}

Mint an mcp:scan key from your wcagc account under Settings → API keys — available on every plan, with a daily quota on Free/Starter and unlimited on Pro/Agency.

Hosted (Streamable HTTP + managed OAuth) — what Claude web/desktop/mobile connectors and ChatGPT use, since neither runs a local process for you. Add this remote MCP connector:

https://mcp.wcagc.com/mcp

The client discovers /.well-known/oauth-protected-resource/mcp, opens the wcagc login/consent flow, and binds the connection to one Organization. No key copy/paste is required. API-key bearer authentication remains supported for local stdio and CI.

ChatGPT availability depends on the ChatGPT plan and on whether the client permits action tools; scan_url creates a scan and is not a read-only operation. See wcagc.com/integrations/mcp.

Tools

ToolPlanWhat it does
scan_urlallScan any public URL, or a registered site for full tracking (Pro+).
check_pdfallRun a PDF/UA-1 structure check on a public PDF.
get_scan · get_findingsallRead a scan_url scan's status, severity counts, and findings — either kind, recorded or one-off.
list_sitesPro+List the account's registered sites.
scan_sitePro+Crawl and scan every reachable page of a registered site.
get_run · get_run_findingsPro+Read a full-site run from scan_site.
get_root_causesPro+Group a run's repeated DOM patterns and return factual element/page blast radius.
run_journeyPro+Replay a saved multi-step journey and check each step.
get_trendsPro+Read a site's violation-count history over time.

One id, one poll tool: whatever scan_url did with a URL, get_scan and get_findings read it back. get_run and get_run_findings are only for full-site runs from scan_site.

Every scan-producing tool returns the coverage disclaimer in both the text content and the structured content. There is no score, grade, or conformance verdict — automated testing finds roughly 30–57% of accessibility issues, and the remainder needs manual review.

Configuration

Env varUsed byMeaning
WCAGC_API_BASE_URLbothThe wcagc API to call. Defaults to https://api.wcagc.com; set it only when self-hosting.
WCAGC_MCP_KEYstdioYour mcp:scan API key.
PORThostedPort to listen on (default 8080).
WCAGC_MCP_ALLOWED_HOSTShostedComma-separated Host-header allowlist (DNS-rebinding protection when bound to 0.0.0.0).
WCAGC_MCP_INTROSPECT_TTL_SECONDShostedHow long a verified bearer is cached before re-checking with the API (default 60).
WCAGC_MCP_OAUTH_ISSUERhostedExpected OAuth issuer (defaults to WCAGC_API_BASE_URL).
WCAGC_MCP_OAUTH_JWKS_URLhostedAuthorization Server public JWKS URL.
WCAGC_MCP_URLhostedCanonical RFC 9728 protected-resource URL (defaults to https://mcp.wcagc.com/mcp).
WCAGC_MCP_JWKS_TTL_SECONDShostedJWKS cache TTL; an unknown kid triggers an immediate refetch.
WCAGC_OPENAI_APPS_CHALLENGEhostedOpenAI Plugins Directory domain-verification token; keep it in the deployment secret store, never in source.

Development

Hosted HTTP requests to /mcp and discovery endpoints produce JSON logs with a generated request ID, HTTP status, MCP method, error code and duration. Tokens, headers, query strings, tool arguments and results are excluded. Health probes are not logged.

The Docker entrypoint preloads the New Relic ESM agent. Set NEW_RELIC_AGENT_ENABLED=true, NEW_RELIC_APP_NAME=wcagc-mcp and the deployment secret NEW_RELIC_LICENSE_KEY to enable APM and forwarding of these safe request logs. The license key must belong to the existing New Relic account; never commit it. The stdio entrypoint does not load the agent.

bash
npm installnpm run dev        # hosted, watch modenpm run start:stdio # stdio modenpm run typechecknpm run verify      # node:test against a local fixture API

License

MIT — see LICENSE.

来源:README.md,提交 de6e3ba

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

4
  1. v0.8.0最新Oct 29, 2026
  2. v0.7.5Oct 12, 2026
  3. v0.7.4Oct 7, 2026
  4. v0.7.3Sep 16, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分