MCP server for Cisco CUCM AXL (SOAP) via cisco-axl
This server provides 7 tools with generally complete schemas and descriptions, but several areas need improvement to reach production-grade quality. Strengths: all tools have descriptions (194-300 chars avg), input schemas are well-formed with types and descriptions, tool names are action-verb-based and clear. Weaknesses: parameter descriptions lack depth regarding constraints, enums, and format specifications; output schemas are not documented; error handling guidance is minimal; destructive tools (axl_execute, axl_sql_query) lack confirmation/preview mechanisms despite the server offering axl_preview_mutation; missing examples of how to chain tools together; descriptions could better explain WHEN to use each tool vs alternatives.
Describe the input schema for an AXL operation — shows required fields, types, enums, and structure needed to build the data payload for axl_execute. Works for CRUD operations and action operations (apply/reset/restart/do/lock/wipe).
Execute any AXL operation by name (raw access via cisco-axl executeOperation). Supports CRUD operations (add/get/list/update/remove) as well as action operations (apply/reset/restart/do/lock/wipe). Use axl_describe_operation to explore the input schema for any operation.
List all non-CRUD AXL action operations (apply/do/reset/restart/lock/wipe/assign/unassign). Optionally filter by object name or verb prefix. Use axl_describe_operation to get the input schema for any listed operation.
List top-level AXL objects discovered in the WSDL
List all available operation names for a given top-level AXL object (CRUD verbs and action verbs such as apply/reset/restart where available)
Missing output schema documentation for all tools. No specification of what fields the response contains, their types, or how to chain responses into downstream tool calls.
Multiple null parameter descriptions (cucm_version, returnedTags in axl_preview_mutation, mutationGrant in axl_sql_query, opts in axl_execute). These do not meet the 'every parameter needs a description' requirement.
Destructive tools (axl_execute, axl_sql_query) lack explicit confirmation or dry-run mechanisms in their descriptions, despite offering axl_preview_mutation. Descriptions should clarify the confirmation workflow and warn of irreversible consequences.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 69 | 2026-07-28+ | v2 |
| 2026-03-09 | C | 60 | - | v1 |
Validate and preview one authorized AXL mutation without contacting CUCM. Returns a short-lived, single-use grant bound to this exact request. The MCP client must obtain and record explicit human approval before using that grant; this tool does not verify a human identity or approve the change itself.
Execute a conservatively screened SQL SELECT against CUCM Informix via AXL executeSQLQuery. A mutation grant is required because view and routine side effects cannot be proven absent.
Object and options parameters (data, opts, mutationGrant) lack detailed type documentation. 'Object' type alone does not describe what properties are expected, their types, or constraints.
No enumeration for 'verb' parameter in axl_list_action_operations. Description lists valid values but schema does not enforce them, allowing hallucinated verbs.
Error handling and recovery guidance missing from tool descriptions. No indication of what failures look like, how to recover, or what to do if an operation fails.
Descriptions lack guidance on tool ordering and dependencies. No explanation of when to call axl_list_objects → axl_list_operations → axl_describe_operation → axl_execute, or when axl_preview_mutation is mandatory.
SQL query tool description does not explain screening/validation logic, Informix dialect constraints, or performance limits. Users cannot determine what queries are safe or efficient.