seanerama/cisco-commerce-MCP
If you are the rightful owner of cisco-commerce-MCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Cisco Catalog MCP Server is a FastMCP server that provides tools for querying the Cisco Commerce Catalog API, enabling LLMs to access Cisco product information such as pricing, availability, specifications, and more.
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 |
| ... |
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 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.