Cisco CX Cloud MCP Server
Provides natural language access to Cisco CX Cloud APIs for querying customer accounts, hardware inventory, network elements, contracts, covered and uncovered assets, field notices, hardware/software end-of-life information, and security advisories.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Cisco CX Cloud MCP Server what hardware is reaching end-of-life for customer ABC123?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Cisco CX Cloud MCP Server
A Model Context Protocol (MCP) server that provides natural language access to Cisco CX Cloud APIs. Query your Cisco inventory, contracts, alerts, and more using conversational language through Claude or other MCP-compatible clients.
Features
This MCP server provides 10 tools to access Cisco CX Cloud data:
Customer Management
get_customer_accounts - Get all accessible CX Cloud customer accounts and IDs
Inventory Management
get_hardware_inventory - Get hardware inventory for a customer
get_network_elements - Get network elements and devices
Contract Management
get_contracts - Get all contracts for a customer
get_covered_assets - Get assets covered by contracts
get_uncovered_assets - Identify coverage gaps
Product Alerts
get_field_notices - Get field notices and bulletins
get_hardware_eol - Get hardware end-of-life information
get_software_eol - Get software end-of-life information
get_security_advisories - Get security advisories and alerts
Related MCP server: Cisco NSO MCP Server
Prerequisites
Cisco.com Account - You need a Cisco.com account
CX Cloud Access - You must have a role in at least one CX Cloud account at https://cx.cisco.com
API Credentials - Register an application to get OAuth credentials
Setup Instructions
Step 1: Register Your Application
Go to Cisco API Console
Sign in with your Cisco.com credentials
Click "My Apps & Keys" → "Register a New App"
Choose "Service" as application type
Select "Client Credentials" as grant type
Add these CX Cloud API resources:
Alerts v2
Contracts v2
Customer v2
Inventory v2
Accept terms and complete registration
Save your Client ID and Client Secret
Step 2: Associate Credentials with CX Cloud
Log into CX Cloud
Navigate to Profile & Account → Manage Profile → API tab
Enter your Client ID from Step 1
Note: There may be up to 10 minutes delay before you can use the API after first-time setup.
Step 3: Install and Configure
# Install dependencies
npm install
# Create .env file from example
cp .env.example .env
# Edit .env and add your credentials
# CISCO_CLIENT_ID=your_client_id_here
# CISCO_CLIENT_SECRET=your_client_secret_hereStep 4: Build the Server
npm run buildRunning the Server
Development mode (with auto-reload)
npm run devProduction mode
npm startConfiguration for Claude Desktop
To use this MCP server with Claude Desktop, add the following to your configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cisco-cx-cloud": {
"command": "node",
"args": [
"/absolute/path/to/cisco-cx-cloud-mcp/dist/index.js"
],
"env": {
"CISCO_CLIENT_ID": "your_client_id_here",
"CISCO_CLIENT_SECRET": "your_client_secret_here"
}
}
}
}Important: Replace /absolute/path/to/cisco-cx-cloud-mcp/ with your actual installation path and add your real credentials.
After configuration, restart Claude Desktop.
Usage Examples
Once configured, you can ask Claude questions like:
Getting Started
"What customer accounts do I have access to?"
"Show me my customer IDs"
Inventory Queries
"What hardware inventory do we have for customer XYZ?"
"List all network elements for my customer"
"Show me all Cisco devices in our inventory"
Contract Management
"What contracts do we have?"
"Are there any assets without contract coverage?"
"Which devices are covered by support contracts?"
Alerts and Compliance
"Are there any security advisories I should know about?"
"What hardware is reaching end-of-life?"
"Show me all field notices for customer ABC"
"Which software versions are being deprecated?"
Complex Queries
"Find all uncovered assets and check if any have security advisories"
"Show me hardware that's both EOL and not covered by contracts"
"Compare our inventory against active contracts"
How It Works
OAuth Authentication: The server automatically handles OAuth 2.0 authentication using client credentials
Token Management: Access tokens are cached and automatically refreshed when expired
API Calls: Natural language requests are translated to appropriate API calls
Data Formatting: Responses are formatted in easy-to-read JSON
Logging: Comprehensive logging tracks all operations for debugging and monitoring
Logging
The server includes detailed logging capabilities:
Log Levels
Configure logging via the LOG_LEVEL environment variable:
ERROR - Only errors (authentication failures, API errors)
WARN - Warnings and errors
INFO - General information, tool invocations, API requests (default)
DEBUG - Detailed debugging including request/response details, token management
Configuration
Edit your .env file:
# Set log level (ERROR, WARN, INFO, DEBUG)
LOG_LEVEL=DEBUG
# Enable file logging
LOG_TO_FILE=true
# Set log directory (default: ./logs)
LOG_DIR=./logsLog Output
Console Logs (stderr):
When running via Claude Desktop: Check
~/Library/Logs/Claude/mcp*.log(macOS)When running manually: Logs appear in terminal
File Logs (optional):
Enable with
LOG_TO_FILE=trueFiles are created in the
LOG_DIRdirectoryNamed by date:
mcp-server-2024-12-01.log
What Gets Logged
INFO level:
Server startup/shutdown
Tool invocations
Authentication events
Tool completion with duration
DEBUG level (includes INFO plus):
Environment configuration
OAuth token details (sanitized)
Full API request/response cycles
Request timing and performance metrics
Example DEBUG output:
[2024-12-01T00:00:00.000Z] [INFO] Cisco CX Cloud MCP Server starting...
[2024-12-01T00:00:00.001Z] [DEBUG] Environment loaded
{
"logLevel": "DEBUG",
"hasClientId": true,
"hasClientSecret": true
}
[2024-12-01T00:00:01.000Z] [INFO] Tool invoked: get_customer_accounts
[2024-12-01T00:00:01.100Z] [DEBUG] API Request: GET https://apix.cisco.com/...
[2024-12-01T00:00:01.500Z] [DEBUG] API call completed in 400ms
[2024-12-01T00:00:01.501Z] [INFO] Tool SUCCESS: get_customer_accounts
{
"duration": "500ms"
}API Rate Limits
The Cisco CX Cloud API has rate limits. The server handles:
Automatic token refresh (tokens expire after 1 hour)
Error handling for API failures
Proper authentication header management
Request/response logging for debugging
Project Structure
cisco-cx-cloud-mcp/
├── src/
│ ├── index.ts # Main MCP server
│ ├── auth.ts # OAuth authentication client
│ └── logger.ts # Logging utility
├── dist/ # Compiled JavaScript (generated)
├── logs/ # Log files (if LOG_TO_FILE=true)
├── .env.example # Environment template
├── .env # Your credentials (git-ignored)
├── package.json # Project configuration
├── tsconfig.json # TypeScript configuration
└── README.md # This fileTroubleshooting
Authentication Errors
Verify your Client ID and Secret are correct
Ensure you've associated the Client ID with your CX Cloud profile
Wait 10 minutes after first-time setup
Check logs: Set
LOG_LEVEL=DEBUGto see detailed OAuth flow
No Data Returned
Confirm you have access to CX Cloud accounts at https://cx.cisco.com
Verify your user has proper roles assigned
Check that you're using the correct customer ID
Check logs: Look for API response codes and error messages
API Errors
Check that all required API resources are enabled in API Console
Ensure your credentials haven't expired
Verify network connectivity
Check logs: Review full error stack traces with
LOG_LEVEL=DEBUG
Debugging Tips
Enable debug logging:
# In .env file
LOG_LEVEL=DEBUG
LOG_TO_FILE=trueView logs in real-time:
# macOS - Claude Desktop logs
tail -f ~/Library/Logs/Claude/mcp*.log
# Or if LOG_TO_FILE=true
tail -f ./logs/mcp-server-*.logCommon log messages:
"Access token obtained successfully"- Authentication working"Tool invoked: get_customer_accounts"- Tool called by Claude"API call completed in Xms"- Request performance"Failed to obtain access token"- Check credentials
Resources
License
ISC
Available Tools
10 toolsget_contractsC
Get all contracts for a specific customer. Returns contract details including coverage periods.
Inputs: customerId (required).
get_covered_assetsB
Get all assets covered by contracts for a specific customer.
Inputs: customerId (required).
get_customer_accountsA
Get all accessible CX Cloud customer accounts and their IDs. Use this first to get customer IDs for other operations.
Inputs: no named parameters.
get_field_noticesB
Get field notices for a specific customer. Returns important product notifications and bulletins.
Inputs: customerId (required).
get_hardware_eolC
Get hardware end-of-life information for a specific customer. Shows which hardware is reaching end-of-life.
Inputs: customerId (required).
get_hardware_inventoryB
Get hardware inventory for a specific customer. Returns details about all hardware assets.
Inputs: customerId (required).
get_network_elementsC
Get network elements inventory for a specific customer. Returns network devices and their details.
Inputs: customerId (required).
get_security_advisoriesC
Get security advisories for a specific customer. Returns security alerts and recommendations.
Inputs: customerId (required).
get_software_eolC
Get software end-of-life information for a specific customer. Shows which software versions are reaching end-of-life.
Inputs: customerId (required).
get_uncovered_assetsB
Get all assets NOT covered by contracts for a specific customer. Useful for identifying coverage gaps.
Inputs: customerId (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Every tool has a clearly distinct purpose targeting specific data types like contracts, assets, accounts, field notices, hardware/software EOL, inventory, network elements, security advisories, and uncovered assets. The descriptions explicitly differentiate each tool's function, eliminating any ambiguity or overlap.
All tool names follow a consistent 'get_' prefix with descriptive nouns (e.g., get_contracts, get_covered_assets), using snake_case uniformly throughout. This predictable pattern makes the tool set easy to navigate and understand.
With 10 tools, the server is well-scoped for its purpose of retrieving various customer-specific data from Cisco CX Cloud. Each tool serves a distinct and necessary function, covering key areas like contracts, assets, inventory, and advisories without being overly sparse or bloated.
The tool set provides comprehensive read-only coverage for retrieving customer data, including contracts, assets, inventory, and advisories, with no obvious gaps for its apparent domain. However, it lacks write or update operations (e.g., create or modify contracts), which might limit full lifecycle management but is typical for a data retrieval-focused server.
Related MCP Connectors
FinOps assistant: query AWS, GCP and Azure cost, commitments, budgets and reports.
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Ask about your Kodem Security data and act on findings in plain language, with your permissions.
Query and audit AppSheet apps in natural language via Knotrik's pre-scanned definitions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Cisco network devices through the RADKit SDK, allowing users to discover device inventory, fetch device attributes, and execute CLI commands via natural language.Apache 2.0
- AlicenseBqualityDmaintenanceEnables AI-powered network automation through natural language interactions with Cisco NSO, providing access to device management, configuration retrieval, sync operations, and service orchestration via the RESTCONF API.928 PyPI4MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables 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.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Cisco Meraki networks through natural language, including organizations, networks, devices, switches, wireless, and appliances.1GPL 3.0