Skip to main content
Glama

Cisco Catalog MCP Server

A FastMCP server that provides tools for querying the Cisco Commerce Catalog API. Enables LLMs to look up Cisco product pricing, availability, specifications, service options, and end-of-life information.

Features

  • Product Pricing - Look up list prices for any Cisco SKU

  • Product Details - Get comprehensive product information (65+ attributes)

  • Availability Check - Check orderability, lead times, and stock status

  • Service Options - Find available support contracts for hardware

  • EOL Status - Check end-of-life dates and milestones

  • Physical Specs - Get dimensions and weight for shipping/rack planning

  • Product Comparison - Compare multiple products side by side

  • Multi-Region Support - Query 21 different regional price lists

Prerequisites

You need Cisco API credentials to use this server:

  1. Go to Cisco API Console

  2. Log in with your CCO ID

  3. Navigate to "My Apps and Keys"

  4. Find "CCW Catalog" and click "Register" (or "Request Access" if needed)

  5. Create an application with:

    • OAuth 2.0: Resource Owner Credentials (required!)

    • Enable Refresh Token

    • Select APIs: Get Item Information API, Get Mapped Services API

  6. Note your Client ID and Client Secret

Installation

From Source

git clone https://github.com/yourusername/cisco-catalog-mcp.git cd cisco-catalog-mcp pip install -e .

Using pip (when published)

pip install cisco-catalog-mcp

Configuration

Create a .env file in the project root:

cp .env.example .env

Edit .env with your credentials:

CISCO_CLIENT_ID=your_client_id_here CISCO_CLIENT_SECRET=your_client_secret_here CISCO_CCO_USERNAME=your_cco_username CISCO_CCO_PASSWORD=your_cco_password CISCO_PRICE_LIST=GLUS # Optional, defaults to GLUS (US pricing)

Usage

Running the Server

# Using the installed command cisco-catalog-mcp # Or run directly python -m cisco_catalog_mcp.server

Configuring with Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{ "mcpServers": { "cisco-catalog": { "command": "cisco-catalog-mcp", "env": { "CISCO_CLIENT_ID": "your_client_id", "CISCO_CLIENT_SECRET": "your_client_secret", "CISCO_CCO_USERNAME": "your_username", "CISCO_CCO_PASSWORD": "your_password" } } } }

Or if using a virtual environment:

{ "mcpServers": { "cisco-catalog": { "command": "/path/to/venv/bin/cisco-catalog-mcp", "env": { "CISCO_CLIENT_ID": "your_client_id", "CISCO_CLIENT_SECRET": "your_client_secret", "CISCO_CCO_USERNAME": "your_username", "CISCO_CCO_PASSWORD": "your_password" } } } }

Available Tools

lookup_pricing

Look up pricing for one or more SKUs. Returns list price, currency, and basic product info.

await lookup_pricing(["C9300-24T-E", "C9300-48T-E"], price_list="GLUS")

get_product_details

Get comprehensive details for a single SKU including all 65+ available attributes.

await get_product_details("C9300-24T-E")

check_availability

Check orderability, lead times, and fulfillment restrictions.

await check_availability(["C9300-24T-E", "WS-C3850-24T-S"])

check_end_of_life

Get all EOL milestone dates for products.

await check_end_of_life(["WS-C3750-24TS-S"])

get_service_options

Find available service/support contracts for hardware.

await get_service_options(["C9300-24T-E"])

get_physical_specs

Get dimensions, weight, and packaging info.

await get_physical_specs(["C9300-24T-E"])

get_service_sku_details

Get details for service SKUs (CON-* part numbers).

await get_service_sku_details(["CON-SNT-C93002TE"])

compare_products

Compare 2-10 products side by side.

await compare_products(["C9300-24T-E", "C9300-24T-A", "C9300-48T-E"])

list_price_lists

List all available regional price lists.

list_available_attributes

List all 65+ queryable product attributes.

Supported Price Lists

Code

Region

Currency

GLUS

United States

USD

GLEMEA

EMEA

USD

GLEURO

Europe

EUR

GLGB

United Kingdom

GBP

GLCA

Canada

CAD

GLASIA

Asia-Pacific

USD

AUST

Australia

AUD

GLIN

India

USD

GLICON

Latin America

USD

...

and more

Example Queries for LLMs

Once configured, you can ask your LLM things like:

  • "What's the list price for a Catalyst 9300-24T-E?"

  • "Compare the C9300-24T-E and C9300-48T-E switches"

  • "What service options are available for C9300-24T-E?"

  • "Is the WS-C3750-24TS-S end of life?"

  • "What's the lead time for C9200-48P-E?"

  • "Get me the physical dimensions of ISR4331/K9"

Development

Setup

# Clone the repo git clone https://github.com/yourusername/cisco-catalog-mcp.git cd cisco-catalog-mcp # Create virtual environment python -m venv venv source venv/bin/activate # or `venv\Scripts\activate` on Windows # Install with dev dependencies pip install -e ".[dev]"

Running Tests

pytest

Code Quality

# Linting ruff check . # Type checking mypy src

API Reference

This server wraps the following Cisco Commerce Catalog APIs:

  • Get Item Information API - Product details and pricing

  • Get Mapped Service API - Service/support options

For full API documentation, see the Cisco Commerce Catalog Web Service Implementation Guidelines.

License

MIT License - see LICENSE for details.

Disclaimer

This is an unofficial tool and is not affiliated with or endorsed by Cisco Systems, Inc. Cisco, Catalyst, and other product names are trademarks of Cisco Systems, Inc.

Use of the Cisco Commerce Catalog API is subject to Cisco's terms of service and requires valid partner credentials.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/seanerama/cisco-commerce-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server