mcpField
P
Plantuml Mcp Server

Plantuml Mcp Server

本地服务
github.com/infobip开发工具551 天前更新

关于 Plantuml Mcp Server

Plantuml Mcp Server 是面向 Claude Desktop 和 Claude Code 的 MCP 服务,用于生成和分享 PlantUML 图表。它还可编码、解码图表文本,并提供处理语法错误的提示词。

主要功能

  1. 01生成图表并提供 SVG 或 PNG 链接
  2. 02在本地保存 SVG 和 PNG 文件
  3. 03编码和解码 PlantUML 文本
  4. 04提供语法错误处理提示词

适用场景

  1. 01创建时序图、类图和架构图
  2. 02通过编码链接分享图表文本
  3. 03检查并修正常见 PlantUML 语法问题

MCP 相关

该服务向 Claude Desktop、Claude Code 等 MCP 客户端提供图表生成、编码和解码工具,以及 plantuml_error_handling 提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"plantuml-mcp-server-infobip": {
"command": "npx",
"args": [
"-y",
"plantuml-mcp-server"
],
"env": {
"PLANTUML_SERVER_URL": "<PLANTUML_SERVER_URL>"
}
}
}
}
启动命令npx -y plantuml-mcp-server
需要配置的环境变量
PLANTUML_SERVER_URL

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmplantuml-mcp-server

工具

3

收录的工具列表 · 更新于 3 周前

参数类型必填说明
plantuml_codestring是PlantUML 图表代码。生成图表 URL 前会自动验证是否存在语法错误。
formatenum否输出图像格式(SVG 或 PNG)svg | png
output_pathstring否可选。用于在本地保存图表的路径。会自动创建所有必需的父目录。默认限制在当前工作目录内。设置 PLANTUML_ALLOWED_DIRS 环境变量(以冒号分隔的路径,或使用 "*" 表示不受限制)以允许其他目录。仅允许使用 .svg 和 .png 扩展名。

详细介绍

PlantUML MCP 服务

LightNow capabilities

一个 Model Context Protocol (MCP) 服务,为 Claude Desktop 和 Claude Code 提供 PlantUML 图表生成功能。

可用工具
  1. generate_plantuml_diagram - 生成图表并获取可嵌入的 URL(SVG/PNG),也可选择保存到本地
  2. encode_plantuml - 编码 PlantUML 代码,以便通过 URL 分享
  3. decode_plantuml - 解码经过编码的字符串中的 PlantUML
可用提示词
  1. plantuml_error_handling - 处理 PlantUML 语法错误并实现自动修复工作流的指南

此提示词会向 Claude 实例提供全面的说明,指导其如何:

  • 使用服务原生验证功能检测 PlantUML 语法错误
  • 为常见语法问题实现智能自动修复工作流
  • 解析结构化错误响应并应用适当的修正
  • 通过重试逻辑妥善处理验证失败

此提示词可让 Claude 自动检测并修复常见的 PlantUML 错误,例如缺少标签、箭头语法无效、关键字拼写错误以及缺少引号,从而使 PlantUML 图表生成更加可靠且易用。

快速设置

适用于 Claude Code
# Using default PlantUML server
claude mcp add plantuml --scope user --env PLANTUML_SERVER_URL=https://www.plantuml.com/plantuml -- npx plantuml-mcp-server
适用于 Claude Desktop

将以下内容添加到 Claude Desktop MCP 配置文件中(macOS 上的路径为 ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "plantuml": {
      "command": "npx",
      "args": ["plantuml-mcp-server"],
      "env": {
        "PLANTUML_SERVER_URL": "https://www.plantuml.com/plantuml"
      }
    }
  }
}

若要使用自己的 PlantUML 服务,请更改 PLANTUML_SERVER_URL 环境变量。

然后重启 Claude Desktop/Code,以启用 MCP 服务。

你可以做什么

完成设置后,你可以让 Claude:

  • 生成 PlantUML 图表并获取可嵌入的 SVG/PNG URL
  • 创建时序图、类图和架构图
  • 使用高级 PlantUML 功能,例如 !include 指令和外部库
  • 编码/解码 PlantUML,以便通过 URL 分享
  • 在本地保存图表,并受安全路径限制
在本地保存图表

generate_plantuml_diagram 工具支持通过 output_path 参数将图表保存到本地文件。

**安全性:**默认情况下,文件只能保存在当前工作目录中。仅允许使用 .svg 和 .png 扩展名。

若要允许其他目录,请设置 PLANTUML_ALLOWED_DIRS 环境变量:

# Allow specific directories (colon-separated)
PLANTUML_ALLOWED_DIRS=/home/user/diagrams:/tmp/output

# Allow any directory (use with caution)
PLANTUML_ALLOWED_DIRS=*

示例

plantuml-mcp-server 的 C4 图
> add c4 diagram for this project in readme 'C4 diagram for plantuml-mcp-server' section

C4 容器图 - PlantUML MCP 服务

plantuml-mcp-server 的序列图
> add sequence diagram in readme in architecture section

PlantUML MCP 服务架构

OAuth2 授权码流程图
> show me basic oauth2 flow png, open it in browser

OAuth2 授权码流程


开发环境设置

先决条件
  • Node.js 22.12.0 或更高版本
  • npm
本地安装
# Clone and setup
git clone https://github.com/mzagar/plantuml-mcp-server.git
cd plantuml-mcp-server
make setup
开发命令
# Show all available commands
make help

# Build and run all tests
make clean build test-all
本地 MCP 冒烟测试

通过 mcpc 测试此检出目录中的已编译服务:

需要 Node.js 22.12.0 或更高版本、npm、Make 和网络连接。

# Install project dependencies, then build and test the local server
npm ci --ignore-scripts --no-audit --no-fund --engine-strict
make test-mcpc

如果 mcpc 不在 PATH 中,目标会通过 npm install --global --no-audit --no-fund @apify/mcpc 安装官方 Apify CLI。它会复用现有安装,不会升级,并在测试前检查 mcpc --version。此冒烟测试已通过 mcpc 0.6.0 验证。

这是全局 CLI 安装,不是项目依赖。安装需要拥有向 npm 全局前缀写入的权限。目标绝不会使用 sudo。如果安装失败,或 CLI 仍不在 PATH 中,测试会停止并显示说明。你也可以通过 npm install -g @apify/mcpc 手动安装。

make test-mcp 是一个别名。make test-all 会运行单元测试/类型检查和此 MCP 测试,包括 CLI 安装检查。直接运行 node scripts/test-mcpc.mjs 不会安装 CLI。

此测试会验证全部三个工具、提示词、Unicode 往返、图表 URL、SVG/PNG 文件、C4 渲染、语法错误和输出路径限制。

测试始终通过 https://www.plantuml.com/plantuml 渲染合成图表,因此需要网络连接。它不会使用已发布的 npm 服务或现有用户会话。

运行程序会创建自己的临时配置、私有 MCPC_HOME_DIR、工作目录和输出目录。其 @local 会话与用户会话隔离,并会在成功、失败或中断后关闭。图像和 results.json 会保留在命令打印的制品目录中。

成功时会以 PASS local mcpc smoke test 结束,退出代码为 0。缺少前置条件、网络错误、断言失败或清理失败都会返回非零退出代码。

如需使用受信任的企业 CA,请运行:

NODE_EXTRA_CA_CERTS=/absolute/path/to/trusted-ca.pem make test-mcpc

运行程序会将此设置转发给服务。请勿禁用 TLS 验证。如果清理失败,请使用它打印的私有主目录:MCPC_HOME_DIR="<artifact-directory>/mcpc" mcpc close @local。请勿关闭默认 mcpc 主目录中的会话。

Agent 说明见 AGENTS.md。

环境变量
变量说明默认值
PLANTUML_SERVER_URLPlantUML 服务 URLhttps://www.plantuml.com/plantuml
PLANTUML_ALLOWED_DIRSoutput_path 的其他目录(以冒号分隔,或使用 * 表示任意目录)仅当前工作目录

许可证

MIT 许可证——详情请参阅 LICENSE 文件。

MCP 注册目录列表

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。