项目简介

Aurora MCP服务器是一个基于Model Context Protocol (MCP) 的后端服务,旨在将Appian设计系统的文档(包括组件、布局、模式、品牌等)通过标准化的接口暴露给LLM客户端。它能够从GitHub仓库获取公共和内部文档,并提供统一的访问、搜索和详细信息查询功能,帮助LLM理解和利用设计系统,从而辅助生成代码或回答相关问题。

主要功能点

  • 多源文档访问: 支持同时访问公共和受权限保护的内部设计系统文档仓库。
  • 内容归因与优先级: 清晰标注内容来源(公共/内部),并支持内部文档覆盖公共文档的优先级合并机制。
  • 访问控制: 可根据配置管理对内部文档的访问权限。
  • 分类浏览: 允许LLM浏览设计系统的所有预定义类别,如组件、布局、模式、品牌、编码指南等。
  • 组件列表与详情: 可以列出特定类别下的所有组件或模式,并获取它们的详细信息、设计指南和代码示例。
  • 全局搜索: 通过关键词在所有设计系统组件、布局和模式中进行搜索,并支持按来源过滤结果。
  • 源管理: 提供查看文档源状态和手动刷新缓存的工具。
  • SAIL编码指导: 提供Appian SAIL(声明式接口语言)的编码指南和最佳实践。

安装步骤

  1. 克隆仓库: 打开终端或命令提示符,执行以下命令克隆项目仓库:
    git clone https://github.com/appian-design/aurora-mcp.git
    cd aurora-mcp
  2. 配置环境变量: 复制示例环境文件并编辑,以配置GitHub访问凭据和文档源。
    cp .env.example .env
    用文本编辑器打开 '.env' 文件,根据你的需求更新以下值:
    • 'GITHUB_TOKEN': 你的GitHub个人访问令牌,用于访问公共文档仓库。
    • 'GITHUB_OWNER': 你的GitHub用户名或组织名,作为文档仓库的拥有者(例如,默认情况下公共文档是 'appian-design')。
    • 'GITHUB_REPO': 你的GitHub仓库名称,作为公共文档仓库(例如,默认情况下公共文档是 'aurora')。
    • (可选)内部文档配置: 如果需要访问内部文档,请设置 'ENABLE_INTERNAL_DOCS=true'。同时,你需要提供 'INTERNAL_DOCS_TOKEN'(用于访问私有仓库的GitHub令牌),并可选择性地设置 'INTERNAL_GITHUB_OWNER' 和 'INTERNAL_GITHUB_REPO'(默认分别为 'GITHUB_OWNER' 和 'design-system-docs-internal')。
  3. 安装依赖: 在项目目录下运行npm命令安装所有必要的Node.js依赖:
    npm install
  4. 构建服务器: 编译TypeScript源代码,生成可执行的JavaScript文件:
    npm run build

服务器配置(针对MCP客户端)

MCP服务器通常通过一个JSON配置文件(例如Amazon Q的'~/.aws/amazonq/mcp.json'或Claude Desktop的'~/Library/Application Support/Claude/claude_desktop_config.json')与客户端建立连接。你需要在此文件中指定MCP服务器的启动方式。

例如,你可以添加一个名为 'design-system' 的服务器配置:

  • 'command' (命令): 设置为 'node',这是运行Node.js应用程序的命令。
  • 'args' (参数): 设置为一个包含MCP服务器主文件路径的数组。路径应为 '你的/项目/路径/aurora-mcp/build/index.js',请务必将 '/你的/项目/路径/aurora-mcp' 替换为 'aurora-mcp' 项目在你本地文件系统中的绝对路径。

这个配置告诉MCP客户端如何启动并连接到你的设计系统MCP服务器。

基本使用方法

配置完成后,你可以在支持MCP协议的LLM客户端(如Amazon Q或Claude Desktop)中通过自然语言与服务器交互。以下是一些你可以尝试的示例查询:

  • 查询类别: "有哪些设计系统类别?"
  • 列出组件: "列出‘组件’类别中的所有组件"
  • 获取组件详情: "获取‘卡片’组件的详细信息"
  • 搜索组件: "搜索设计系统中的‘导航’组件"
  • 查看源状态: "检查文档源的状态"
  • (如果启用内部文档)访问内部文档: "获取‘管理面板’组件的详细信息,包括内部文档"
  • 获取SAIL指导: "提供SAIL编码指导"

信息

分类

AI与计算