Skip to main content
Glama
cisco-network-diagrams-mcp-server

cisco-network-diagrams-mcp-server

by GUIPETAV

cisco-network-diagrams-mcp-server

MCP server exposing the 308 official icons from the Cisco Systems Corporate Iconography package — the free-to-use icon set Cisco itself distributes for diagrams and materials — so an LLM can look up the right icon and fetch it as an image while building a network topology diagram.

All icons are shipped pre-converted from Cisco's original CMYK JPEGs to RGB PNG. The CMYK originals render blank, discolored, or cropped in most web/collaborative tools (Miro, Figma, FigJam, browsers) — this fixes that at the source, and the PNGs are ~4x smaller too.

Tools

Tool

Description

cisco_list_categories

List the 7 catalog categories with icon counts.

cisco_search_icons

Keyword search across id/name/description (metadata only).

cisco_list_icons

Paginated listing, optionally filtered by category or curated-only.

cisco_get_icon

Fetch one icon's metadata and its RGB PNG image by id.

29 of the 308 icons are curated: the equipment most common in classroom/enterprise topologies (router, switch, firewall, server, access point, cloud, etc.), annotated with glossary_name, function, and when_to_use in addition to the base description every icon has.

Related MCP server: Cisco Catalog MCP Server

Installation

npm install -g cisco-network-diagrams-mcp-server

Or run without installing:

npx cisco-network-diagrams-mcp-server

Usage with an MCP client

Add to your client's MCP server config (e.g. Claude Desktop's claude_desktop_config.json):

{
  "mcpServers": {
    "cisco-network-diagrams": {
      "command": "npx",
      "args": ["-y", "cisco-network-diagrams-mcp-server"]
    }
  }
}

Placing icons on a canvas

The icons are not square — e.g. router is ~77×52 px. When placing the image returned by cisco_get_icon onto a fixed-size node (Figma, FigJam, Miro, etc.), use a FIT scale mode, never FILL — FILL stretches or crops non-square icons.

License

The icons are Cisco's registered trademark artwork. Cisco authorizes free use in diagrams and materials, unaltered (no redrawing, recoloring the artwork, or distorting proportions). The CMYK→RGB conversion in this package is a technical compatibility fix (same color, different color space), not a visual alteration.

This package's own code is MIT-licensed; the icon artwork itself remains Cisco's property under Cisco's usage terms.

Available Tools

4 tools
cisco_get_iconGet Cisco Icon ImageA
Read-onlyIdempotent

Fetch one Cisco network icon by id: its full metadata plus the actual image (PNG, RGB — pre-converted from Cisco's original CMYK JPEGs, which render blank or with wrong colors in most web/collaborative tools like Miro or Figma/FigJam).

Use this after cisco_search_icons or cisco_list_icons has told you the exact id you need. The image is returned as an embedded PNG you can place directly into a Miro board, Figma/FigJam file, or document.

Args:

  • id (string, required): exact icon id (case-sensitive), e.g. "router", "cisco_asa_5500"

Returns:

  • An image content block (PNG, RGB) — pass its dimensions to a 'FIT' scale mode when placing on a canvas; the icons are NOT square (e.g. "router" is ~77x52), so a 'FILL' scale mode will crop or distort it.

  • A text block with the icon's metadata (name, category, curated flag, description, and — for curated icons — glossary_name/function/when_to_use).

Error Handling:

  • Returns "Error: icon '' not found" if the id doesn't exist. Call cisco_search_icons first to find the correct id — don't retry with guessed variations.

Inputs: id (required).

cisco_list_categoriesList Cisco Icon CategoriesA
Read-onlyIdempotent

List every category in the Cisco Systems Corporate Iconography catalog, with a human-readable label and how many icons fall into each.

Use this first to understand how the 308-icon catalog is organized before calling cisco_list_icons or cisco_search_icons with a category filter.

Args: none.

Returns JSON: { "categories": [ { "id": "routing_l3", "label": "Roteamento (Camada 3)", "icon_count": 12 } ] }

Inputs: no named parameters.

cisco_list_iconsList Cisco Network IconsA
Read-onlyIdempotent

List icons from the 308-icon Cisco Systems Corporate Iconography catalog, optionally filtered by category, with pagination.

Defaults to curated_only=true, returning the 29 icons most relevant for teaching/enterprise network diagrams (router, switch, firewall, server, access point, cloud, etc.). Set curated_only=false to browse the full catalog (legacy/specific Cisco products, generic devices, people/buildings/phones icons).

Does NOT return image bytes — call cisco_get_icon with an id from the results to fetch the actual image.

Args:

  • curated_only (boolean, default true): restrict to the 29 curated icons

  • category (string, optional): filter by category id (see cisco_list_categories)

  • limit (number, default 50, max 100): page size

  • offset (number, default 0): pagination offset

Returns JSON: { "total": number, "count": number, "offset": number, "results": [ { "id": string, "name": string, "category": string, "curated": boolean, "description": string } ], "has_more": boolean, "next_offset": number | null }

Inputs: limit, offset, category, curated_only.

cisco_search_iconsSearch Cisco Network IconsA
Read-onlyIdempotent

Search the 308 official Cisco Systems Corporate Iconography icons by keyword. Matches against the icon's id, name, and description text.

This tool does NOT return image bytes — it returns lightweight metadata so you can identify the right icon id, then call cisco_get_icon with that id to fetch the actual image. Use this whenever the user asks "what icon represents X" or before assembling a diagram.

Args:

  • query (string, required): search term, e.g. "firewall", "roteador", "switch"

  • curated_only (boolean, default false): restrict to the 29 curated, pedagogically-annotated icons

  • category (string, optional): restrict to one category id (see cisco_list_categories)

  • limit (number, default 20, max 50): maximum results

Returns JSON: { "query": string, "total_matches": number, "count": number, "results": [ { "id": string, "name": string, "category": string, "curated": boolean, "description": string } ], "truncated": boolean }

Examples:

  • Use when: "que ícone eu uso pra representar um firewall?" -> query="firewall"

  • Use when: "preciso do ícone genérico de roteador wireless" -> query="wireless router"

  • Don't use when: you already know the exact id (use cisco_get_icon directly)

Error Handling:

  • Returns an empty "results" array (not an error) when nothing matches — suggest the user try an English equivalent or a generic fallback icon (e.g. "generic_gateway", "generic_processor").

Inputs: query (required), limit, category, curated_only.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.7/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: listing categories, searching by keyword, listing with filters/pagination, and fetching a specific icon with its image. The search and list tools could overlap, but descriptions differentiate them (search by query vs. browse by category/pagination).

    Naming Consistency5/5

    All tools follow the 'cisco_' + verb + noun pattern (cisco_list_categories, cisco_search_icons, cisco_list_icons, cisco_get_icon). The verbs are descriptive and consistent, and naming is uniformly snake_case.

    Tool Count5/5

    Four tools is a well-scoped set for a read-only icon catalog server. Each tool earns its place: discovery via categories, search, filtered list, and retrieval with image bytes.

    Completeness5/5

    The surface covers the full workflow from catalog overview to specific icon retrieval. There are no obvious gaps—agents can discover, search, list, and fetch any icon. The domain is read-only, so no update/delete operations are expected.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers