Cisco Catalog MCP Server

Cisco Catalog MCP Server

Enables LLMs to query the Cisco Commerce Catalog API for product pricing, availability, specifications, service options, and end-of-life information across 21 regional price lists.

Category
Visit Server

README

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured