{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"smithery_apetta-diagrams-mcp","slug":"apetta-diagrams-mcp","name":"Diagrams","type":"mcp","url":"https://github.com/apetta/diagrams-mcp","page_url":"https://unfragile.ai/apetta-diagrams-mcp","categories":["mcp-servers","code-editors","code-review-security","app-builders"],"tags":["mcp","model-context-protocol","smithery:apetta/diagrams-mcp"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"smithery_apetta-diagrams-mcp__cap_0","uri":"capability://image.visual.infrastructure.diagram.generation.with.multi.provider.support","name":"infrastructure-diagram-generation-with-multi-provider-support","description":"Generates infrastructure and architecture diagrams as Python code that compiles to visual outputs (PNG, PDF, JPG, DOT) using the Graphviz rendering engine. Wraps the diagrams library's node registry (15+ cloud providers: AWS, Azure, GCP, Kubernetes, On-Prem, SaaS) and edge styling system through MCP tool bindings, allowing Claude to construct diagram specifications that are validated and rendered server-side without requiring local Python environments.","intents":["I need to visualize a multi-cloud infrastructure architecture with AWS, Azure, and Kubernetes components","Generate a diagram showing how my microservices are deployed across different cloud providers","Create a visual representation of my current infrastructure to share with stakeholders","Document the topology of my distributed system with proper cloud provider icons"],"best_for":["DevOps engineers and cloud architects documenting infrastructure","Teams using Claude for infrastructure-as-code planning and review","Organizations needing automated diagram generation from natural language specifications"],"limitations":["Graphviz must be installed on the system running the MCP server (not available in all cloud environments)","Diagram complexity is bounded by Graphviz rendering performance; very large graphs (100+ nodes) may render slowly","Limited to 2D hierarchical layouts; cannot generate 3D or custom spatial layouts","Icon caching is local to the MCP server instance; no distributed cache for multi-server deployments"],"requires":["Graphviz installed (macOS: brew install graphviz, Ubuntu: apt-get install graphviz, Windows: graphviz.org/download)","Python 3.8+ (for diagrams library)","MCP client integration (Claude Desktop, VS Code, Cursor, or Claude Code)"],"input_types":["natural language descriptions of infrastructure","structured diagram specifications (provider names, node types, connections)","provider and node type names from the 500+ node registry"],"output_types":["PNG image files","PDF documents","JPG image files","DOT graph definition files (Graphviz format)"],"categories":["image-visual","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_apetta-diagrams-mcp__cap_1","uri":"capability://image.visual.flowchart.generation.with.process.shapes","name":"flowchart-generation-with-process-shapes","description":"Generates flowcharts and process diagrams using a simplified 24-shape vocabulary (decision diamonds, process rectangles, start/end ovals, etc.) that compiles through the same Graphviz backend as infrastructure diagrams. Abstracts away the full diagrams library complexity by providing a focused shape set optimized for business process and workflow visualization, with support for edge labels and styling.","intents":["I need to create a flowchart for my CI/CD pipeline with decision points and parallel paths","Visualize a business process workflow with conditional logic and multiple outcomes","Generate a diagram showing the decision tree for my approval workflow","Create a process diagram to document how data flows through my system"],"best_for":["Business analysts and process engineers documenting workflows","DevOps teams visualizing CI/CD pipelines and deployment processes","Teams needing quick flowchart generation without learning diagram syntax"],"limitations":["Limited to 24 predefined shapes; cannot create custom shape types","No swimlane support for cross-functional process diagrams","Edge routing is automatic via Graphviz; manual positioning of nodes is not supported","Shape styling is limited to color and label customization; no gradient fills or advanced styling"],"requires":["Graphviz installed on MCP server","Python 3.8+","MCP client integration"],"input_types":["natural language descriptions of workflows and processes","shape names and connection specifications","edge labels and styling parameters"],"output_types":["PNG image files","PDF documents","JPG image files","DOT graph definition files"],"categories":["image-visual","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_apetta-diagrams-mcp__cap_2","uri":"capability://image.visual.custom.icon.diagram.generation.with.url.and.local.file.support","name":"custom-icon-diagram-generation-with-url-and-local-file-support","description":"Extends infrastructure diagram generation to accept custom node icons from HTTPS URLs or local file paths, enabling organizations to use branded or proprietary icons in their diagrams. Implements client-side validation (HTTPS-only, 5MB size limit, 5-second timeout for URLs; file existence checks for local paths), automatic icon caching in ~/.diagrams_mcp/icon_cache, and format validation (PNG, JPG) before passing to the diagrams library for rendering.","intents":["I want to use my company's custom logo as a node in an infrastructure diagram","Generate a diagram with proprietary icons for internal systems that aren't in the standard cloud provider libraries","Create diagrams that include both standard AWS icons and custom application icons","Use locally stored icon files to avoid external dependencies in diagram generation"],"best_for":["Enterprise teams with branded or proprietary system icons","Organizations documenting custom infrastructure components alongside cloud services","Teams working in air-gapped or restricted network environments (local file support)"],"limitations":["HTTPS-only for URL-based icons; HTTP URLs are rejected for security reasons","5MB file size limit per icon; large or high-resolution images will be rejected","5-second download timeout for remote icons; slow or unreliable URLs may fail","Icon caching is local to the MCP server instance; no distributed cache invalidation mechanism","Format validation limited to PNG and JPG; SVG and other vector formats not supported","Local file paths must be accessible from the MCP server process; relative paths may not work as expected"],"requires":["Graphviz installed on MCP server","Python 3.8+","MCP client integration","For URL icons: HTTPS-accessible URLs with valid SSL certificates","For local icons: file paths accessible from the MCP server process"],"input_types":["HTTPS URLs pointing to PNG or JPG image files","local file paths to PNG or JPG image files","natural language descriptions of diagrams with custom icon specifications"],"output_types":["PNG image files with embedded custom icons","PDF documents with custom icons","JPG image files with custom icons","DOT graph definition files"],"categories":["image-visual","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_apetta-diagrams-mcp__cap_3","uri":"capability://search.retrieval.diagram.node.discovery.and.search","name":"diagram-node-discovery-and-search","description":"Provides a searchable registry of 500+ available diagram nodes across 15+ cloud providers and categories (compute, database, network, storage, security, etc.). The `list_available_nodes` tool allows filtering by provider name, category, or keyword, returning node type names and metadata that can be used in diagram specifications. This enables Claude to discover available node types without requiring users to consult external documentation.","intents":["I need to find the correct AWS node type for an RDS database instance","Show me all available Kubernetes node types so I can choose the right one for my diagram","What database nodes are available in Azure?","Find all security-related nodes across all providers"],"best_for":["Users unfamiliar with the diagrams library's node naming conventions","Teams building diagrams interactively with Claude, discovering available options as they go","Documentation and training scenarios where node availability needs to be demonstrated"],"limitations":["Search is limited to provider, category, and keyword matching; no fuzzy matching or semantic search","Node metadata is static and reflects the diagrams library version bundled with the MCP server; updates require server restart","No search history or favorites; each search is independent","Results are returned as text; no visual preview of node icons"],"requires":["MCP client integration","Python 3.8+ (for diagrams library with bundled node registry)"],"input_types":["provider names (AWS, Azure, GCP, Kubernetes, etc.)","category names (compute, database, network, storage, security)","keyword strings for free-text search"],"output_types":["structured list of node type names and metadata","text descriptions of available nodes"],"categories":["search-retrieval","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_apetta-diagrams-mcp__cap_4","uri":"capability://safety.moderation.diagram.specification.validation.with.dry.run","name":"diagram-specification-validation-with-dry-run","description":"Validates diagram specifications before rendering by executing a dry-run that checks for syntax errors, invalid node types, missing provider definitions, and other issues without generating output files. The `validate_diagram_spec` tool parses the diagram specification, verifies all referenced nodes exist in the provider registries, and reports validation errors with actionable feedback, allowing users to fix issues before committing to full diagram generation.","intents":["I want to validate my diagram specification before generating the final image","Check if all the node types I'm using are valid before rendering","Get feedback on errors in my diagram specification without waiting for full rendering","Ensure my diagram will render correctly before sharing it with the team"],"best_for":["Users building complex diagrams iteratively with Claude","Teams with strict diagram quality standards who want to catch errors early","Scenarios where diagram generation is expensive or time-consuming"],"limitations":["Validation only checks syntax and node type existence; does not validate visual layout or rendering quality","Does not detect logical errors in diagram structure (e.g., disconnected components)","Validation errors are reported as text; no visual highlighting of problematic nodes","Dry-run still requires Graphviz to be installed; cannot validate on systems without Graphviz"],"requires":["Graphviz installed on MCP server","Python 3.8+","MCP client integration"],"input_types":["diagram specifications (provider names, node types, connections, styling)"],"output_types":["validation status (pass/fail)","error messages with details","warnings about potential issues"],"categories":["safety-moderation","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_apetta-diagrams-mcp__cap_5","uri":"capability://image.visual.multi.format.diagram.output.rendering","name":"multi-format-diagram-output-rendering","description":"Renders validated diagram specifications to multiple output formats (PNG, PDF, JPG, DOT) using Graphviz as the backend rendering engine. The MCP server abstracts the Graphviz command-line interface and format conversion logic, allowing Claude to specify output format as a parameter and receive the rendered diagram in the requested format without requiring knowledge of Graphviz syntax or command-line tools.","intents":["I need to export my diagram as a PDF for a presentation","Generate a PNG image of my infrastructure diagram for documentation","Create a JPG version of my diagram for web publishing","Export the diagram as DOT format for further processing or version control"],"best_for":["Teams needing diagrams in multiple formats for different use cases (web, print, documentation)","Organizations with specific format requirements (PDF for formal documents, PNG for web)","Users who want to version control diagram definitions (DOT format) separately from rendered images"],"limitations":["Output quality depends on Graphviz version and system configuration; rendering may vary across platforms","PDF generation requires additional Graphviz plugins; may not be available on all systems","Large diagrams may produce very large PNG/JPG files; no built-in compression or optimization","DOT format export is useful for version control but requires Graphviz to re-render; no direct editing support","No support for SVG output; vector format diagrams must be exported as DOT and converted externally"],"requires":["Graphviz installed on MCP server with support for requested output format","Python 3.8+","MCP client integration"],"input_types":["diagram specifications","output format selection (PNG, PDF, JPG, DOT)"],"output_types":["PNG image files (raster)","PDF documents (vector)","JPG image files (raster)","DOT graph definition files (text)"],"categories":["image-visual","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_apetta-diagrams-mcp__cap_6","uri":"capability://image.visual.hierarchical.cluster.grouping.with.unlimited.nesting","name":"hierarchical-cluster-grouping-with-unlimited-nesting","description":"Supports logical grouping of diagram nodes into clusters (subgraphs) with unlimited nesting depth, enabling visual organization of infrastructure into logical domains (e.g., VPCs, namespaces, security zones). Clusters are rendered as visual containers in the output diagram, with customizable styling (colors, labels, borders). The implementation leverages Graphviz's subgraph feature, allowing Claude to specify cluster hierarchies in diagram specifications that are automatically rendered with proper visual containment.","intents":["I want to group my AWS resources into separate VPCs with visual boundaries","Create a diagram showing Kubernetes namespaces as visual containers with pods inside","Organize my microservices by security zone with nested cluster grouping","Show the logical structure of my infrastructure with visual hierarchy"],"best_for":["DevOps and cloud architects designing multi-tenant or multi-environment infrastructure","Teams documenting complex systems with multiple levels of logical organization","Organizations needing to visualize security boundaries and network isolation"],"limitations":["Cluster nesting depth is theoretically unlimited but rendering performance degrades with very deep hierarchies (5+ levels)","Cluster styling is limited to colors, labels, and border styles; no custom shapes or advanced styling","Cluster positioning is automatic via Graphviz; manual positioning of clusters is not supported","Very large clusters with many nested nodes may render with poor layout quality"],"requires":["Graphviz installed on MCP server","Python 3.8+","MCP client integration"],"input_types":["cluster definitions with hierarchical nesting","node assignments to clusters","cluster styling parameters (colors, labels)"],"output_types":["PNG image files with visual cluster containers","PDF documents with cluster grouping","JPG image files with cluster visualization","DOT graph definition files with subgraph definitions"],"categories":["image-visual","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_apetta-diagrams-mcp__cap_7","uri":"capability://image.visual.edge.styling.with.colors.labels.and.line.styles","name":"edge-styling-with-colors-labels-and-line-styles","description":"Customizes connections (edges) between diagram nodes with styling options including colors, labels, and line styles (solid, dashed, dotted). Enables visual differentiation of connection types (e.g., secure vs. insecure, synchronous vs. asynchronous) and annotation of connections with labels (e.g., protocol names, bandwidth). The implementation leverages Graphviz edge attributes, allowing Claude to specify edge styling in diagram specifications that are rendered with proper visual styling.","intents":["I want to show different types of connections with different colors and line styles","Label the connections in my diagram with protocol names or bandwidth information","Visually distinguish between secure (HTTPS) and insecure (HTTP) connections","Show synchronous and asynchronous communication with different line styles"],"best_for":["Teams documenting complex system architectures with multiple connection types","Security-focused diagrams showing encrypted vs. unencrypted connections","Diagrams requiring detailed connection metadata (protocols, bandwidth, latency)"],"limitations":["Edge styling is limited to colors, labels, and line styles; no custom arrow shapes or advanced styling","Label positioning on edges is automatic via Graphviz; manual label positioning is not supported","Very long edge labels may overlap with other diagram elements","Color selection is limited to named colors or hex values; no gradient or pattern fills"],"requires":["Graphviz installed on MCP server","Python 3.8+","MCP client integration"],"input_types":["edge definitions with source and target nodes","edge styling parameters (colors, labels, line styles)"],"output_types":["PNG image files with styled edges","PDF documents with edge styling","JPG image files with styled connections","DOT graph definition files with edge attributes"],"categories":["image-visual","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_apetta-diagrams-mcp__cap_8","uri":"capability://image.visual.graphviz.attribute.customization.and.advanced.rendering","name":"graphviz-attribute-customization-and-advanced-rendering","description":"Exposes low-level Graphviz attributes for advanced diagram customization, allowing users to fine-tune rendering behavior (layout engine selection, node spacing, font sizes, etc.) beyond the standard diagram options. This enables power users to optimize diagram layout and appearance for specific use cases without requiring direct Graphviz command-line interaction. The MCP server passes custom Graphviz attributes through to the rendering engine.","intents":["I need to customize the layout engine (dot, neato, fdp) for better diagram arrangement","Adjust node spacing and font sizes to optimize diagram readability","Fine-tune Graphviz rendering parameters for specific diagram types","Control diagram margins, aspect ratio, and other rendering properties"],"best_for":["Advanced users familiar with Graphviz and its attribute system","Teams with specific diagram layout requirements not covered by standard options","Scenarios requiring optimization of diagram appearance for specific output formats"],"limitations":["Requires knowledge of Graphviz attributes; not suitable for non-technical users","Invalid Graphviz attributes may cause rendering failures without clear error messages","Attribute behavior varies across Graphviz versions; diagrams may render differently on different systems","No validation of Graphviz attributes before rendering; errors are only caught during rendering"],"requires":["Graphviz installed on MCP server","Python 3.8+","MCP client integration","Knowledge of Graphviz attribute syntax and semantics"],"input_types":["Graphviz attribute key-value pairs","diagram specifications with custom attributes"],"output_types":["PNG image files with custom rendering","PDF documents with custom attributes","JPG image files with custom rendering","DOT graph definition files with custom attributes"],"categories":["image-visual","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_apetta-diagrams-mcp__cap_9","uri":"capability://tool.use.integration.mcp.tool.binding.and.claude.integration","name":"mcp-tool-binding-and-claude-integration","description":"Implements the Model Context Protocol (MCP) server interface, exposing diagram generation and discovery tools as callable functions within Claude's tool-use system. The MCP server registers 5 tools (`create_diagram`, `create_diagram_with_custom_icons`, `create_flowchart`, `list_available_nodes`, `validate_diagram_spec`) with parameter schemas that Claude can invoke directly. This enables seamless integration of diagram generation into Claude conversations without requiring external API calls or manual tool invocation.","intents":["I want Claude to generate diagrams as part of our conversation without switching tools","Use Claude to create and iterate on infrastructure diagrams with natural language","Integrate diagram generation into Claude-based workflows and agents","Have Claude discover available node types and suggest appropriate ones for my use case"],"best_for":["Claude Desktop users who want native diagram generation","Teams using Claude Code or Cursor with MCP integration","Developers building Claude-based agents that need diagram generation capabilities"],"limitations":["MCP server must be running and properly configured in the client; setup requires manual configuration","Tool invocation latency depends on MCP server performance and network latency (if remote)","Claude's tool-use system has token limits; very large diagram specifications may exceed context limits","No persistent state between Claude conversations; each conversation starts fresh"],"requires":["Claude Desktop, VS Code with MCP support, Cursor, or Claude Code","MCP server running (local or remote)","Proper MCP configuration in client (claude_desktop_config.json or .mcp.json)","Graphviz installed on MCP server"],"input_types":["natural language descriptions of diagrams","structured diagram specifications","tool parameter values"],"output_types":["diagram files (PNG, PDF, JPG, DOT)","tool invocation results","validation feedback"],"categories":["tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":38,"verified":false,"data_access_risk":"high","permissions":["Graphviz installed (macOS: brew install graphviz, Ubuntu: apt-get install graphviz, Windows: graphviz.org/download)","Python 3.8+ (for diagrams library)","MCP client integration (Claude Desktop, VS Code, Cursor, or Claude Code)","Graphviz installed on MCP server","Python 3.8+","MCP client integration","For URL icons: HTTPS-accessible URLs with valid SSL certificates","For local icons: file paths accessible from the MCP server process","Python 3.8+ (for diagrams library with bundled node registry)","Graphviz installed on MCP server with support for requested output format"],"failure_modes":["Graphviz must be installed on the system running the MCP server (not available in all cloud environments)","Diagram complexity is bounded by Graphviz rendering performance; very large graphs (100+ nodes) may render slowly","Limited to 2D hierarchical layouts; cannot generate 3D or custom spatial layouts","Icon caching is local to the MCP server instance; no distributed cache for multi-server deployments","Limited to 24 predefined shapes; cannot create custom shape types","No swimlane support for cross-functional process diagrams","Edge routing is automatic via Graphviz; manual positioning of nodes is not supported","Shape styling is limited to color and label customization; no gradient fills or advanced styling","HTTPS-only for URL-based icons; HTTP URLs are rejected for security reasons","5MB file size limit per icon; large or high-resolution images will be rejected","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.55,"ecosystem":0.6900000000000001,"match_graph":0.25,"freshness":0.6,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:25.635Z","last_scraped_at":"2026-05-03T15:19:16.962Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=apetta-diagrams-mcp","compare_url":"https://unfragile.ai/compare?artifact=apetta-diagrams-mcp"}},"signature":"t++K9c3EaYLd2xqWXOsVZ39HuQhZ4oY91OPIk/0Dq2z6XfaCxQ14mw/wSFnoOJRjTLlYdkBavkcwWZ2U2V0nCQ==","signedAt":"2026-06-20T04:01:12.968Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/apetta-diagrams-mcp","artifact":"https://unfragile.ai/apetta-diagrams-mcp","verify":"https://unfragile.ai/api/v1/verify?slug=apetta-diagrams-mcp","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}