Cisco NSO MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_FILE | No | Path to log file. If not set, logs will be sent to stdout only | |
| MCP_HOST | No | Host to bind to when using HTTP transport | 0.0.0.0 |
| MCP_PORT | No | Port to bind to when using HTTP transport | 8000 |
| NSO_PORT | No | NSO server port | 8080 |
| NSO_SCHEME | No | NSO connection scheme (http/https) | http |
| NSO_VERIFY | No | Verify NSO HTTPS certificate (default: True). Use --no-nso-verify for self-signed certs (dev only). | True |
| NSO_ADDRESS | No | NSO server address | localhost |
| NSO_TIMEOUT | No | Connection timeout in seconds | 10 |
| NSO_PASSWORD | No | NSO password | admin |
| NSO_USERNAME | No | NSO username | admin |
| MCP_TRANSPORT | No | MCP transport type (stdio/http) | stdio |
| NSO_CA_BUNDLE | No | Path to a CA bundle file to trust for NSO HTTPS. Applicable when -nso-verify is True. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {
"tasks": {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
}
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_service_typesB | Retrieve the available service types in Cisco NSO. |
| get_servicesB | Retrieve the available services in Cisco NSO. Requires a 'service_type' parameter. |
| get_device_platformB | Retrieve platform information for a specific device in Cisco NSO. Requires a 'device_name' parameter. |
| get_device_configB | Retrieve the full configuration for a specific device in Cisco NSO. Requires a 'device_name' parameter. |
| get_device_stateB | Retrieve the state for a specific device in Cisco NSO. Requires a 'device_name' parameter. |
| get_device_groupsB | Retrieve the available device groups in Cisco NSO. |
| get_device_ned_idsB | Retrieve the available Network Element Driver (NED) IDs in Cisco NSO. |
| check_device_syncB | Check the sync status for a specific device in Cisco NSO. Requires a 'device_name' parameter. |
| sync_from_deviceC | Sync from a specific device in Cisco NSO. Requires a 'device_name' parameter. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| nso_environment | NSO environment summary |
TDQS
Scored across 9 tools
Every tool has a clearly distinct purpose with no ambiguity. Tools are well-organized around specific resources (devices, services) and actions (check, get, sync), making it easy for an agent to select the right one. For example, get_device_config retrieves configuration while get_device_state retrieves state, and they are clearly differentiated.
Tool names follow a highly consistent verb_noun pattern throughout, with all tools using snake_case. The naming is predictable, such as get_device_config, check_device_sync, and sync_from_device, which enhances readability and agent usability. There are no deviations or mixed conventions.
With 9 tools, the count is well-scoped for managing Cisco NSO devices and services. Each tool earns its place by covering essential operations like configuration retrieval, status checks, and synchronization, without being overly sparse or bloated. This aligns well with the server's purpose of network device management.
The tool set provides strong coverage for device and service management in Cisco NSO, including retrieval, status checks, and synchronization. However, there are minor gaps, such as the lack of tools for modifying configurations or creating services, which agents might need to work around for full lifecycle management. Overall, it supports core workflows effectively.