Integrations
Provides in-memory Git functionality to clone and analyze repositories, track changes across multiple commits, and visualize repository evolution without writing to the file system.
Enables diagram generation from GitHub repositories, analyzing repository structure and code to create architectural visualizations. Supports repository evolution tracking and commit history analysis for creating diagrams showing changes over time.
Integrates with LangChain for AI-powered diagram generation, enabling enhanced text-to-diagram generation, code-to-diagram conversion, and visualization of differences between code versions.
Archy - 建筑图表生成器
Archy 是一个 MCP(模型上下文协议)服务器,使用 Mermaid 语法生成架构图。它可以处理自然语言描述和 GitHub 仓库 URL,从而创建各种类型的图表。
特征
- 根据文本描述生成图表
- 从 GitHub 存储库生成图表
- 支持所有美人鱼图类型:
- 流程图
- 序列图
- 类图
- 状态图
- 实体关系图
- 用户旅程
- 甘特图
- 饼图
- 象限图
- 需求图
- Git 图表
- C4 图表
安装
先决条件
- Node.js(v16 或更高版本)
- npm(v7 或更高版本)
- TypeScript(v5.8 或更高版本,包含在依赖项中)
从源安装
- 克隆存储库:Copy
- 安装依赖项:Copy
- 构建项目:这会将 TypeScript 源文件编译为Copy
build
目录中的 JavaScript。
自动化 MCP 安装
Archy 包含一个方便的安装脚本,可以自动为 VS Code 和 Claude 配置 MCP 服务器:
此脚本:
- 自动检测您的操作系统的正确 MCP 设置位置
- 更新 VS Code 和 Claude 的 MCP 配置文件
- 提示输入 GitHub 令牌以进行存储库分析(可选)
- 使服务器可执行
无需像穴居动物那样手动编辑 JSON 配置文件!脚本会帮您处理所有繁琐的配置工作,让您可以专注于创建精美的图表,而无需费心处理文件路径和权限问题。
配置
配置
Archy 可以使用环境变量进行配置:
GITHUB_TOKEN
:用于经过身份验证的请求的 GitHub API 令牌(可选)OPENROUTER_API_KEY
:用于 AI 驱动图表生成的 OpenRouter API 密钥(可选)
OpenRouter 集成
Archy 通过 LangChain 与 OpenRouter 集成,从而增强了 AI 驱动的图表生成功能。配置 OpenRouter API 密钥后,即可使用其他工具:
- 人工智能增强的文本到图表生成:从文本描述生成更复杂的图表
- 代码到图表生成:分析代码并生成适当的图表
- 差异可视化:生成显示代码版本之间差异的图表
要使用这些功能:
- 在OpenRouter注册一个帐户
- 从 OpenRouter 仪表板获取您的 API 密钥
- 在运行 Archy 之前设置
OPENROUTER_API_KEY
环境变量
图像导出
Archy 支持将美人鱼图导出为各种图像格式:
- PNG :适用于网络和文档的光栅图像格式
- SVG :矢量图像格式,可缩放且不损失质量
- PDF :适合打印和共享的文档格式
可以导出具有可自定义尺寸和背景颜色的图像。
存储库演进跟踪
Archy 可以分析 Git 存储库以跟踪其随时间的演变:
- 内存 Git :无需写入文件系统即可克隆和分析存储库
- 提交历史记录:跟踪多个提交的更改(默认情况下限制为 10 个)
- 文件演变:跟踪特定文件随时间的变化
- 演化可视化:生成显示存储库演化的图表
MCP 集成
要将 Archy 与 MCP 客户端一起使用,如果您是受虐狂,请将其添加到您的 MCP 设置文件中:
可用工具
从文本生成图表
根据文本描述生成美人鱼图。
参数:
description
:要生成的图表的文本描述diagramType
:要生成的图表类型(例如“流程图”、“classDiagram”等)
例子:
从 github 生成图表
从 GitHub 存储库生成美人鱼图。
参数:
repoUrl
:GitHub 存储库的 URLdiagramType
:要生成的图表类型(例如,“classDiagram”、“sequenceDiagram”等)
例子:
列出支持的图表类型
列出所有支持的图表类型并附带说明。
**参数:**无
人工智能工具
配置 OpenRouter API 密钥后,可以使用以下工具:
使用 AI 从文本生成图表
使用 AI(带有 OpenRouter 的 LangChain)根据文本描述生成美人鱼图。
参数:
description
:要生成的图表的文本描述diagramType
:要生成的图表类型(例如“流程图”、“classDiagram”等)useAdvancedModel
:(可选)是否对复杂图表使用更高级的 AI 模型
例子:
从代码生成图表
使用人工智能从代码生成美人鱼图。
参数:
code
:用于分析并生成图表的代码diagramType
:要生成的图表类型(例如,“classDiagram”、“flowchart”等)
例子:
生成差异图
生成美人鱼图,显示两个版本代码之间的差异。
参数:
beforeCode
:更改之前的代码afterCode
:更改后的代码diagramType
:要生成的图表类型(例如,“classDiagram”、“flowchart”等)
例子:
将图表导出到图像
将美人鱼图导出为图像格式(PNG、SVG 或 PDF)。
参数:
mermaidCode
:要导出的美人鱼图代码format
:(可选)要导出的图像格式('png','svg','pdf',默认值:'png')width
:(可选)图像的宽度(以像素为单位)(默认值:800)height
:(可选)图像的高度(以像素为单位)(默认值:600)backgroundColor
:(可选)图像的背景颜色(CSS 颜色或“透明”,默认值:'#ffffff')
例子:
生成存储库演化图
生成一个图表来显示存储库随时间的变化。
参数:
repoUrl
:GitHub 存储库的 URLdiagramType
:要生成的图表类型(例如“gitGraph”、“flowchart”等)filepath
:(可选)要跟踪的特定文件的路径commitLimit
:(可选)要分析的最大提交次数(默认值:10)
例子:
示例
从文本生成类图
结果:
从 GitHub 生成流程图
结果:
发展
以开发模式运行
要在开发模式下运行服务器并自动重新加载:
这使用nodemon
和ts-node
直接运行 TypeScript 代码,无需单独的构建步骤,并在文件更改时自动重新启动。
运行 TypeScript 编译器
您可以使用以下方法直接运行 TypeScript 编译器:
使用本地安装的 TypeScript
使用全局安装的 TypeScript
如果您全局安装了 TypeScript:
常见的 TypeScript 编译器选项
--outDir <directory>
:指定编译文件的输出目录--target <ES version>
:指定 ECMAScript 目标版本(例如 ES2020)--module <module system>
:指定模块系统(例如,NodeNext)--declaration
:生成 .d.ts 声明文件--sourceMap
:生成用于调试的源映射文件--strict
:启用所有严格类型检查选项--noEmit
:检查错误而不生成输出文件--noImplicitAny
:对隐含“任何”类型的表达式引发错误
有关编译器选项的完整列表,请运行npx tsc --help
或参阅TypeScript 文档。
TypeScript 配置
Archy 使用 TypeScript 构建,使用以下配置:
使用的关键 TypeScript 功能:
- ES2020 现代 JavaScript 功能的目标
- NodeNext 模块解析与 Node.js 的兼容性
- 生成声明文件以获得更好的类型支持
- 源映射,更易于调试
项目结构
src/
:TypeScript 源文件src/index.ts
:主入口点和服务器实现src/server.ts
:服务器实现src/generators/
:图表生成逻辑src/utils/
:实用程序函数和助手
build/
:编译后的 JavaScript 输出examples/
:示例使用脚本test/
:测试文件
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
阿奇
Related MCP Servers
- -securityAlicense-qualityEnables AI assistants to interact with Obsidian vaults, providing tools for reading, creating, editing and managing notes and tags.Last updated -598149TypeScriptMIT License
- -securityAlicense-qualityProvides a standardized interface for AI assistants to interact with Obsidian vaults through a local REST API, enabling reading, writing, searching, and managing notes.Last updated -37TypeScriptMIT License
- MIT License
- PythonMIT License