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.
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:
- Go to Cisco API Console
- Log in with your CCO ID
- Navigate to "My Apps and Keys"
- Find "CCW Catalog" and click "Register" (or "Request Access" if needed)
- Create an application with:
- OAuth 2.0: Resource Owner Credentials (required!)
- Enable Refresh Token
- Select APIs: Get Item Information API, Get Mapped Services API
- 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.