Skip to main content
Glama
ogbm77

Cisco CX Cloud MCP Server

by ogbm77

get_uncovered_assets

Identify assets without active contracts for a customer to reveal coverage gaps in Cisco CX Cloud infrastructure.

Instructions

Get all assets NOT covered by contracts for a specific customer. Useful for identifying coverage gaps.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
customerIdYesThe customer ID

Implementation Reference

  • Handler for get_uncovered_assets tool: validates customerId input, makes authenticated API call to /contracts/not-covered endpoint, and returns the response as formatted JSON.
    case "get_uncovered_assets": { const customerId = args?.customerId as string; if (!customerId) { throw new Error("customerId is required"); } const data = await makeApiCall("/contracts/not-covered", customerId); return { content: [ { type: "text", text: JSON.stringify(data, null, 2), }, ], }; }
  • Input schema definition for the get_uncovered_assets tool, specifying customerId as a required string parameter.
    inputSchema: { type: "object", properties: { customerId: { type: "string", description: "The customer ID", }, }, required: ["customerId"], },
  • src/index.ts:150-163 (registration)
    Tool registration in the tools array, defining name, description, and input schema for listTools response.
    { name: "get_uncovered_assets", description: "Get all assets NOT covered by contracts for a specific customer. Useful for identifying coverage gaps.", inputSchema: { type: "object", properties: { customerId: { type: "string", description: "The customer ID", }, }, required: ["customerId"], }, },
  • Shared helper function used by get_uncovered_assets (and other tools) to perform authenticated GET requests to Cisco CX Cloud API endpoints.
    async function makeApiCall(endpoint: string, customerId?: string): Promise<any> { const token = await authClient.getAccessToken(); let url = `${CX_CLOUD_BASE_URL}${endpoint}`; if (customerId) { url += `${endpoint.includes('?') ? '&' : '?'}customerId=${customerId}`; } logger.debug(`Making API call to: ${url}`); try { logger.apiRequest('GET', url, { Authorization: 'Bearer ***', }); const startTime = Date.now(); const response = await axios.get(url, { headers: { Authorization: `Bearer ${token}`, }, }); const duration = Date.now() - startTime; logger.apiResponse('GET', url, response.status, response.data); logger.debug(`API call completed in ${duration}ms`); return response.data; } catch (error) { logger.apiError('GET', url, error); if (axios.isAxiosError(error)) { throw new Error( `API call failed: ${error.response?.status} - ${error.response?.data?.message || error.message}` ); } throw error; } }

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/ogbm77/cisco-cx-cloud-mcp'

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