Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Local-first MCP server for PlantUML and Mermaid diagrams with drift detection.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
PROJECT_ROOT, DIAGRAMS_DIR, PLANTUML_SERVER_URL, ALLOW_REMOTE_PLANTUML, DISABLE_REMOTE_PLANTUML你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"diagrams": {
"command": "npx",
"args": [
"-y",
"diagrams-mcp-server"
],
"env": {
"PROJECT_ROOT": "your-value",
"DIAGRAMS_DIR": "your-value",
"PLANTUML_SERVER_URL": "your-value",
"ALLOW_REMOTE_PLANTUML": "your-value",
"DISABLE_REMOTE_PLANTUML": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add diagrams --env PROJECT_ROOT=your-value --env DIAGRAMS_DIR=your-value --env PLANTUML_SERVER_URL=your-value --env ALLOW_REMOTE_PLANTUML=your-value --env DISABLE_REMOTE_PLANTUML=your-value -- npx -y diagrams-mcp-server运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"diagrams": {
"command": "npx",
"args": [
"-y",
"diagrams-mcp-server"
],
"env": {
"PROJECT_ROOT": "your-value",
"DIAGRAMS_DIR": "your-value",
"PLANTUML_SERVER_URL": "your-value",
"ALLOW_REMOTE_PLANTUML": "your-value",
"DISABLE_REMOTE_PLANTUML": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"diagrams": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"diagrams-mcp-server"
],
"env": {
"PROJECT_ROOT": "your-value",
"DIAGRAMS_DIR": "your-value",
"PLANTUML_SERVER_URL": "your-value",
"ALLOW_REMOTE_PLANTUML": "your-value",
"DISABLE_REMOTE_PLANTUML": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
PROJECT_ROOT envDIAGRAMS_DIR envPLANTUML_SERVER_URL envALLOW_REMOTE_PLANTUML envDISABLE_REMOTE_PLANTUML env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 mohammad-emad-dev 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.11.0)于19天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, First Sale Scout
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Playbooks and a 14-day checklist for founders winning their first paying customers.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
DIAGRAMS MCP SERVER ===================
Engineering documentation for a local first MCP server that keeps PlantUML and Mermaid diagrams beside the code they describe
The server gives an MCP client a controlled interface for reading and maintaining diagram source and for comparing that source with a codebase It also produces reviewable diagram drafts and rendered exports Source files remain the editable record of the architecture
READING PATHS =============
Start with installation and the diagram workflow to connect a client and review changes Choose your editor or assistant from the supported clients Read the system model and configuration to understand process boundaries and renderer requirements Use tool contracts and operational limits when integrating or troubleshooting For contribution work follow source organization and the engineering documentation index The index separates current guidance from historical design and handoff records
PROJECT STATUS ==============
The project is a technical preview Version zero eleven zero contains fifteen tools Check the installed package version when comparing its behavior with this guide
Version zero ten zero adds nullable and array scaffold labels and corrects sequence sender ownership when caller names collide across files
The package declares Node 18 or newer as its runtime requirement Current main continuous integration checks Node 20 and Node 22 and Node 24 on Ubuntu and Windows The TypeScript compiler is a development dependency rather than a required production dependency
INSTALLATION AND CLIENT CONNECTION ==================================
Install the published server with npm:
npm install -g diagrams-mcp-server
Run guided setup from the project directory:
diagrams-mcp-server setup
Supported MCP clients
Choose a client below for noninteractive setup Install the selected client before using its integration The table describes the setup methods implemented by this server
| Client | Setup command | Setup behavior |
|---|---|---|
| Claude Code | diagrams-mcp-server setup --client claude-code --yes | Runs claude mcp add or prints the command if registration cannot run |
| Codex | diagrams-mcp-server setup --client codex --yes | Runs codex mcp add or prints the command if registration cannot run |
| Cursor | diagrams-mcp-server setup --client cursor --yes | Writes the diagrams entry to Cursor configuration |
| VS Code | diagrams-mcp-server setup --client vscode --yes | Writes the diagrams entry to workspace configuration |
| OpenCode | diagrams-mcp-server setup --client opencode --yes | Prints instructions for opencode mcp add requiring a manual step |
| Antigravity | diagrams-mcp-server setup --client antigravity --yes | Writes the diagrams entry to Antigravity configuration |
Project scope and verification
For a Cursor configuration pinned to the current project:
diagrams-mcp-server setup --client cursor --scope project --yes
Global scope is the default and leaves PROJECT_ROOT out of the server entry The server then uses the working directory supplied by the launching client Project scope places PROJECT_ROOT in the configuration so the server stays attached to one codebase An explicit --project-root also pins the root VS Code setup writes project configuration OpenCode setup prints instructions only so configure its project environment manually when a fixed PROJECT_ROOT is required
After setup reload the client configuration and inspect its available tools Use diagrams_list to confirm the diagrams root before creating files An empty inventory is valid for a new project
Other stdio MCP clients can launch diagrams-mcp-server directly or use npx with arguments -y diagrams-mcp-server The server command accepts no tool requests through ordinary CLI arguments Tool calls travel through the MCP connection
For available startup and setup options:
diagrams-mcp-server --help diagrams-mcp-server setup --help
WORKING WITH DIAGRAMS =====================
Start by discovering existing diagrams with diagrams_list Read the selected source with diagrams_get before proposing a change Use diagrams_diff to compare the existing source with a proposed revision Then apply the reviewed revision through diagrams_update Use diagrams_create for a new diagram and diagrams_delete for explicit removal
Create refuses an existing target Update operates on an existing diagram Storage validates recognized diagram extensions and source structure These checks establish basic dialect shape rather than full language correctness Use rendering and human review to inspect the resulting diagram
For a new architecture draft use diagrams_generate on a narrow code scope For a call flow draft use diagrams_generate_sequence For a blank design use diagrams_template These tools return source for review without saving a diagram Pass reviewed source to diagrams_create when you decide to persist it
Run diagrams_check_consistency after a code change to inspect declaration evidence for diagram entities Treat unmatched names as review prompts An unmatched name can reflect unsupported syntax or incomplete scanning rather than an architectural defect
This workflow connects the tools through explicit review steps The arrows describe a suggested user workflow rather than an automatic pipeline Generation and comparison do not save files on your behalf
flowchart TB
accTitle: Diagram review workflow accDescr: Read or draft source then review and compare before explicitly saving and rendering and checking consistency stored["Read existing diagram source"] --> review["Review source"] draft["Generate or template a draft"] --> review review --> compare["Compare revisions when needed"] compare --> save["Explicit create or update"] save --> render["Render and inspect"] render --> check["Check consistency against code"] check -->|Revise when needed| review
SYSTEM MODEL ============
An MCP client starts the server as a child process and exchanges protocol messages over standard input and standard output Startup diagnostics use standard error so they do not occupy the protocol stream
The project root defines the code analysis boundary The diagrams root defines the diagram storage boundary Custom template definitions are read separately beneath the project root These roots are resolved once when the server starts Diagram paths supplied to tools are relative to the diagrams root Code scopes supplied to analysis tools are relative to the project root
The architecture separates protocol handling from services and external resources Responses return through the tool adapter to the connected client
flowchart TB
accTitle: System architecture accDescr: MCP requests pass through strict schemas and adapters to storage and analysis and rendering services client["MCP client"] <-->|stdio| server["CLI and MCP server"] server --> schemas["Strict input schemas"] schemas --> adapters["Tool adapters"] adapters --> store["Diagram storage"] adapters --> analysis["Analysis and generation"] adapters --> rendering["Rendering service"] store --> diagrams[("Diagrams root")] analysis --> code[("Project root")] rendering --> external["Local commands or opt in PlantUML endpoint"]
Tool adapters own protocol contracts and response formatting Services own filesystem operations and analysis and source generation Renderers invoke external command line tools through a separate command boundary Expected domain failures become tool errors Unexpected failures return a generic error and are logged through the shared error handling layer
CONFIGURATION AND RENDERING ===========================
PROJECT_ROOT selects the codebase used for analysis Its default is the server process working directory
DIAGRAMS_DIR selects the diagrams root Its default is the diagrams directory beneath PROJECT_ROOT A relative value is resolved beneath PROJECT_ROOT An absolute value selects a separate storage location Restart the server after changing either root
Rendering requires a working external renderer on PATH PlantUML uses the plantuml command Mermaid uses the mmdc command from the Mermaid CLI package The server package does not install either renderer for you External renderer packages have their own runtime requirements
To install the Mermaid command:
npm install -g @mermaid-js/mermaid-cli
PlantUML rendering prefers the local command When that command is missing remote fallback remains disabled unless ALLOW_REMOTE_PLANTUML is exactly true DISABLE_REMOTE_PLANTUML set to exactly true overrides that permission PLANTUML_SERVER_URL selects the remote endpoint when fallback is enabled The default endpoint is the public PlantUML rendering service
Remote fallback sends diagram source to the configured server Mermaid rendering always uses the local command A local renderer execution failure is an error rather than a reason to retry remotely Rendering uses temporary files that are cleaned up after the operation
Renderer selection follows the decision chart below Remote permission means ALLOW_REMOTE_PLANTUML is exactly true while DISABLE_REMOTE_PLANTUML is not true Only a missing local PlantUML command reaches that decision
flowchart TB
accTitle: Renderer selection accDescr: Mermaid uses mmdc while PlantUML uses a local CLI or an explicitly permitted remote endpoint dialect{"Dialect"} -->|Mermaid| mermaid["Run local mmdc"] dialect -->|PlantUML| local{"Local plantuml command"} local -->|Available| plantuml["Run local plantuml"] local -->|Missing| permission{"Remote fallback allowed"} permission -->|No| failure["Return a render error"] permission -->|Yes| remote["Send source to configured endpoint"]
TOOL CONTRACTS ==============
The chart groups the fifteen tools by their primary purpose It describes the tool surface rather than project completion
pie showData
accTitle: Tool categories accDescr: Five storage tools and three rendering tools and two analysis tools and four diagram drafting and template tools and one code drafting tool title Tool categories "Diagram storage" : 5 "Rendering and sharing" : 3 "Analysis and comparison" : 2 "Diagram drafting and templates" : 4 "Code drafting" : 1
Inventory and source access
diagrams_list supports type_filter and zero based offset pagination An explicit limit accepts 1 through 500 Omitting limit returns all remaining matches The response distinguishes the page count from the total and reports has_more so callers can continue without guessing
diagrams_get returns complete source unless max_chars requests a window An explicit window accepts 1 through 100000 UTF-16 code units The response reports offset and returned_chars and total_chars together with is_partial and has_more An offset beyond the source is an error
diagrams_create and diagrams_update and diagrams_delete are the explicit diagram mutation tools All fifteen tools in the current checkout reject unknown input arguments Clients should use the tool schemas exposed by MCP discovery as the exact argument reference
Analysis and comparison
diagrams_check_consistency compares extracted diagram names with source declaration evidence and reports matched files and analyzer tiers Its extractors include language specific declaration patterns and a generic whole word fallback The optional TypeScript compiler improves selected analysis paths The result remains heuristic and does not establish runtime correct
只显示了开头部分;其余内容请在仓库中阅读