aria-mcp

使用说明内容(Markdown格式)

项目概述

aria-mcp 是一个实现 MCP(Model Context Protocol)的后端服务器,专注于对 WAI-ARIA 规范数据的托管、查询与工具执行。它提供一组工具用于查询 ARIA 角色、状态、属性及关系,并通过 MCP 客户端以标准化的 JSON-RPC 调用来获取数据、执行工具、获取提示模板等。

主要功能点

  • 资源与数据访问:托管经过解析的 ARIA 规范数据,包含角色、状态、属性及扩展信息。
  • 工具注册与执行:提供多种查询工具(如 get-role、list-roles、get-attribute 等),支持通过 JSON-RPC 调用执行。
  • 提示模板支持:为 LLM 提供用于呈现和渲染的文本格式输出,用于展示角色信息、属性描述等。
  • 多传输支持:内置本地 STDIO 传输以及可以通过 Netlify Functions 等远程托管方式访问。
  • 会话与能力声明:通过 MCP 的初始化/能力协商实现基本能力的声明。
  • 服务器端实现:包含服务器端实现代码、Netlify Functions 端点以及数据解析脚本,确保数据与工具的可用性。

安装与运行

  • 环境要求:Node.js(支持 ESM 模块、依赖 MCP 提供的相关 SDK)。
  • 安装步骤(简要概述,实际操作以项目实际环境为准):
    • 安装依赖并准备环境。
    • 使用本地 STDIO 传输启动服务器(本地调试时常用)。
    • 如需远程部署,可使用 Netlify Functions 进行托管。
  • 运行方式(简要描述,不包含代码块):
    • 本地开发:以 Node 直接运行入口文件,或通过 MCP 客户端以 STDIO 传输接入。
    • 远程部署:将 Netlify Functions 部署到云端,并通过 MCP 客户端连接远程端点。

服务器配置(MCP 客户端需要的最小连接信息)

以下为配置信息的描述(请以 JSON 形式提供给你的 MCP 客户端;为避免误导,下面给出文本描述信息,实际使用时请以客户端可读的 JSON 配置为准):

{ "mcpServers": { "aria-mcp": { "serverName": "aria-mcp", "command": "node", "args": ["/path/to/aria-mcp/src/index.js"] } // 注:serverName 与实际部署的 MCP 服务器名称一致,command 指定启动服务器的命令,args 为启动参数。 } }

说明:

  • serverName:服务器名称,便于 MCP 客户端识别该服务器。
  • command / args:用于启动 MCP 服务器进程的命令及参数。若使用本地 STDIO 传输,请将入口脚本路径填入 args。
  • 该配置仅供 MCP 客户端在启动时连接服务器使用,客户端不需要包含具体实现细节,服务器端负责实现 MCP 协议交互。

基本使用方法

  • 连接与查询:

    • 客户端连接 aria-mcp 服务器后,可以通过工具集合执行查询,例如:
      • 获取某个 ARIA 角色的详细信息
      • 列出所有 ARIA 角色,或按类别筛选
      • 查询某一 ARIA 属性的定义、可用值及适用角色
    • 通过 JSON-RPC 调用 initialize、tools/list、tools/call 等接口进行交互。
  • 常见操作流程(简述):

    • 初始化协商,了解服务器能力与协议版本
    • 列出可用工具列表以了解支持的查询
    • 调用具体工具(如 get-role、list-roles、check-name-requirements 等)获取数据
    • 将返回的文本/结构化输出用于后续的 LLM 对话或辅助决策
  • 部署与调试建议:

    • 本地调试可使用 stdio 传输方式快速验证工具输出
    • 远程部署可将 Netlify Functions 部署到云端,配置客户端连接远程端点

可能的使用场景

  • 为 AI 助手提供 ARIA 规范的参考与验证信息
  • 为开发者提供离线的 ARIA 数据查询能力
  • 在文档生成和代码审查中辅助生成无障碍相关的实现建议

备注

  • 数据源来自 W3C ARIA 规范,包含角色、状态、属性及扩展信息,支持本地与远程访问。
  • 服务器实现包含两种入口:本地 STDIO 形式的 MCP 服务,以及基于 Netlify Functions 的远程访问入口,便于不同场景的部署。

服务器信息