{"_id":"@damenluo/plantuml-mcp-server","_rev":"3-e0e77faff175ae68a8ec08bcfeaffdbc","name":"@damenluo/plantuml-mcp-server","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"@damenluo/plantuml-mcp-server","version":"0.0.1","keywords":["mcp","plantuml","diagram","uml"],"author":{"name":"junqing258"},"license":"MIT","_id":"@damenluo/plantuml-mcp-server@0.0.1","maintainers":[{"name":"junqing258","email":"junqing258@gmail.com"}],"bin":{"plantuml-mcp":"dist/index.js"},"dist":{"shasum":"9107fec2c938298edad98d7a52c6323775c3c9b1","tarball":"https://registry.npmjs.org/@damenluo/plantuml-mcp-server/-/plantuml-mcp-server-0.0.1.tgz","fileCount":6,"integrity":"sha512-9AIgSeWAAzo0BqW8eXh8k42utRKi8RmGXQjDlHRgwLTlY+6t5umYQrPlNAxYB6gi1oU+b4NFjhSGooZJJJA1NQ==","signatures":[{"sig":"MEUCIQCPazNpbSTe3MtuGX+ONs8czjWNZo6ei3BMPgevjzRChgIgTkz09ybaVlAJOznS4teaX07a8SoBvBdJeFrAJZaziQo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25295528},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","scripts":{"build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"_npmUser":{"name":"junqing258","email":"junqing258@gmail.com"},"_npmVersion":"10.9.3","description":"MCP server for PlantUML diagram generation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/plantuml-mcp-server_0.0.1_1765964437050_0.846247721732434","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@damenluo/plantuml-mcp-server","version":"0.0.2","keywords":["mcp","plantuml","diagram","uml"],"author":{"name":"junqing258"},"license":"MIT","_id":"@damenluo/plantuml-mcp-server@0.0.2","maintainers":[{"name":"junqing258","email":"junqing258@gmail.com"}],"bin":{"plantuml-mcp":"dist/index.js"},"dist":{"shasum":"a8bed2a38698781ab4d2eecf4246048154734691","tarball":"https://registry.npmjs.org/@damenluo/plantuml-mcp-server/-/plantuml-mcp-server-0.0.2.tgz","fileCount":6,"integrity":"sha512-HCSjpt9+Q5G5oAoZM9AUZH3MXBsofEjJhK0BgQl+hRaR0mbdF/cNQbfxlP0HWjYy5y3yvSlny94oFLwvQGKMCw==","signatures":[{"sig":"MEUCIELN3mHrxP4dzbFX6235R0ARQIitiHiu7T1XgC1Oz+sGAiEA14xhiGYWhlTMaWLryfeGQ+uA/LqQXIGn7sYvKB7BfRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25295997},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"cf687d7f783d65311b9d93a2af910c8cf9edbf75","scripts":{"build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"_npmUser":{"name":"junqing258","email":"junqing258@gmail.com"},"_npmVersion":"10.9.3","description":"MCP server for PlantUML diagram generation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/plantuml-mcp-server_0.0.2_1766022260926_0.8456421930187734","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@damenluo/plantuml-mcp-server","version":"0.0.3","description":"MCP server for PlantUML diagram generation","type":"module","main":"dist/index.js","bin":{"plantuml-mcp":"dist/index.js"},"scripts":{"build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"keywords":["mcp","plantuml","diagram","uml"],"author":{"name":"junqing258"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"devDependencies":{"@types/node":"^22.10.2","typescript":"^5.7.2"},"_id":"@damenluo/plantuml-mcp-server@0.0.3","gitHead":"cf687d7f783d65311b9d93a2af910c8cf9edbf75","types":"./dist/index.d.ts","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-P49VF5PpfiLtspA9bE/23KD9H7/g7grpq0BS++uTiitqpk9hZH25N9Fwlo0fe6poM2r8ny7Y2xCQHw7GxwTLIg==","shasum":"16378fa55ee847e20eda90ad5a86cc68d04fe0bb","tarball":"https://registry.npmjs.org/@damenluo/plantuml-mcp-server/-/plantuml-mcp-server-0.0.3.tgz","fileCount":5,"unpackedSize":14081,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDOymi9Z87HsZUU7bm1XAvrwHyLI8WhKlUQMwX5nMieDQIgf2IPJ/vYtPRp6Sfk/VmuKblSaltQFJ21gpeV7iII7es="}]},"_npmUser":{"name":"junqing258","email":"junqing258@gmail.com"},"directories":{},"maintainers":[{"name":"junqing258","email":"junqing258@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/plantuml-mcp-server_0.0.3_1766022549910_0.09516214955419433"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-17T09:40:36.942Z","modified":"2025-12-18T01:49:10.236Z","0.0.1":"2025-12-17T09:40:37.866Z","0.0.2":"2025-12-18T01:44:21.640Z","0.0.3":"2025-12-18T01:49:10.044Z"},"author":{"name":"junqing258"},"license":"MIT","keywords":["mcp","plantuml","diagram","uml"],"description":"MCP server for PlantUML diagram generation","maintainers":[{"name":"junqing258","email":"junqing258@gmail.com"}],"readme":"# PlantUML MCP 服务器\n\n一个封装了 PlantUML 功能的模型上下文协议（MCP）服务器，允许 AI 助手从文本描述生成 UML 图表。\n\n## 功能特性\n\n- **生成图表**：创建多种格式的图表（PNG、SVG、TXT、PDF 等）\n- **语法检查**：验证 PlantUML 语法而无需生成图像\n- **源码提取**：从 PNG/SVG 元数据中提取 PlantUML 源码\n- **深色模式支持**：生成深色主题的图表\n- **版本信息**：获取 PlantUML 和 Java 版本信息\n\n## 前置要求\n\n- Node.js 18 或更高版本\n- Java 运行环境（JRE）\n- Graphviz（用于生成某些图表类型）\n\n\n## 使用方法\n\n### 作为 MCP 服务器\n\n添加到你的 MCP 客户端配置（例如 Claude Desktop）：\n\n#### 方式一：使用 npx（推荐）\n\n```json\n{\n  \"mcpServers\": {\n    \"plantuml\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@damenluo/plantuml-mcp-server\"],\n      \"env\": {\n        \"PLANTUML_JAR\": \"/path/to/plantuml.jar\"\n      }\n    }\n  }\n}\n```\n\n#### 方式二：本地开发\n\n```json\n{\n  \"mcpServers\": {\n    \"plantuml\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/plantuml-mcp/dist/index.js\"],\n      \"env\": {\n        \"PLANTUML_JAR\": \"/path/to/plantuml.jar\"\n      }\n    }\n  }\n}\n```\n\n### 可用工具\n\n#### 1. generate_diagram\n\n从 PlantUML 源代码生成图表。\n\n**参数：**\n- `source`（必需）：PlantUML 源代码\n- `format`（可选）：输出格式 - `png`、`svg`、`txt`、`utxt`、`eps`、`latex`、`pdf`（默认：`png`）\n- `darkMode`（可选）：以深色模式渲染（默认：`false`）\n\n**返回：** Base64 编码的图表数据\n\n**示例：**\n```typescript\n{\n  \"source\": \"@startuml\\nAlice -> Bob: Hello\\n@enduml\",\n  \"format\": \"svg\",\n  \"darkMode\": false\n}\n```\n\n#### 2. check_syntax\n\n检查 PlantUML 图表语法而不生成图像。\n\n**参数：**\n- `source`（必需）：要验证的 PlantUML 源代码\n\n**返回：** 验证结果或语法错误\n\n**示例：**\n```typescript\n{\n  \"source\": \"@startuml\\nAlice -> Bob: Hello\\n@enduml\"\n}\n```\n\n#### 3. extract_source\n\n从 PNG 或 SVG 元数据中提取嵌入的 PlantUML 源码。\n\n**参数：**\n- `filePath`（必需）：PNG 或 SVG 文件的路径\n\n**返回：** 提取的 PlantUML 源代码\n\n**示例：**\n```typescript\n{\n  \"filePath\": \"/path/to/diagram.png\"\n}\n```\n\n#### 4. get_plantuml_version\n\n获取 PlantUML 和 Java 版本信息。\n\n**参数：** 无\n\n**返回：** 版本信息\n\n## PlantUML 语法示例\n\n### 时序图\n```plantuml\n@startuml\nAlice -> Bob: 认证请求\nBob --> Alice: 认证响应\n@enduml\n```\n\n### 类图\n```plantuml\n@startuml\nclass User {\n  +String name\n  +String email\n  +login()\n  +logout()\n}\n\nclass Admin {\n  +manageUsers()\n}\n\nUser <|-- Admin\n@enduml\n```\n\n### 活动图\n```plantuml\n@startuml\nstart\n:初始化;\nif (检查条件?) then (是)\n  :处理 A;\nelse (否)\n  :处理 B;\nendif\nstop\n@enduml\n```\n\n### 用例图\n```plantuml\n@startuml\nleft to right direction\nactor 用户\nactor 管理员\n\nrectangle 系统 {\n  用户 -- (登录)\n  用户 -- (查看资料)\n  管理员 -- (管理用户)\n  管理员 -- (查看报告)\n}\n@enduml\n```\n\n## 开发\n\n### 构建\n```bash\nnpm run build\n```\n\n### 监听模式\n```bash\nnpm run watch\n```\n\n## 环境变量\n\n- `PLANTUML_JAR`：PlantUML JAR 文件的路径（默认：`/Users/userxxx/bin/plantuml.jar`）\n\n## 支持的输出格式\n\n- **png**：PNG 图像（默认）\n- **svg**：SVG 矢量图形\n- **txt**：ASCII 艺术图表\n- **utxt**：使用 Unicode 字符的 ASCII 艺术\n- **eps**：封装的 PostScript\n- **latex**：LaTeX/TikZ 输出\n- **pdf**：PDF 文档\n\n## 错误处理\n\n服务器处理各种错误场景：\n- 无效的 PlantUML 语法\n- 缺失的 PlantUML JAR 文件\n- Java 运行时错误\n- 文件 I/O 错误\n\n错误会返回描述性消息以帮助诊断问题。\n\n## 许可证\n\nMIT\n\n## 资源\n\n- [PlantUML 官方文档](https://plantuml.com)\n- [模型上下文协议](https://modelcontextprotocol.io)\n- [PlantUML 语言参考](https://plantuml.com/guide)\n","readmeFilename":"README.md"}