Skip to main content
Glama
OpManager MCP Server

OpManager MCP Server

by sachdev27

OpManager MCP Server

Python 3.10+ License: MIT Tests MCP SDK

A credential-less Model Context Protocol (MCP) server for ManageEngine OpManager REST API integration. This server enables AI assistants like Claude to interact with your OpManager infrastructure through natural language.

โœจ Key Features

  • ๐Ÿ” Credential-less Design: No hardcoded API keys - users provide host and apiKey per request

  • ๐Ÿ”„ SSL Auto-Detection: Port 8061 โ†’ HTTPS, Port 8060 โ†’ HTTP (with manual override)

  • ๐Ÿ“ก 85+ API Endpoints: Full OpManager API coverage for devices, alarms, dashboards, discovery, and more

  • ๐Ÿ›  Dynamic Tool Generation: Automatically generates MCP tools from OpenAPI specification

  • ๐ŸŒ Multiple Transports: Supports stdio (Claude Desktop) and HTTP/SSE (n8n, web clients)

  • ๐Ÿณ Docker Ready: Containerized deployment with Docker and Docker Compose

Related MCP server: network-mcp

๐Ÿš€ Quick Start

Installation

# Clone the repository
git clone https://github.com/sachdev27/opmanager-mcp-server.git
cd opmanager-mcp-server

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install the package
pip install -e ".[http]"

Start the HTTP Server

uvicorn opmanager_mcp.http_server:app --host 0.0.0.0 --port 3000

Test a Tool Call

curl -X POST http://localhost:3000/call \
  -H "Content-Type: application/json" \
  -d '{
    "name": "opmanager_get_allDevices",
    "arguments": {
      "host": "opmanager.example.com",
      "apiKey": "your-api-key-here",
      "port": 8061
    }
  }'

๐Ÿ“‹ Configuration

Environment Variables

Create a .env file (optional - for server defaults only):

cp .env.example .env

Variable

Description

Default

MCP_SERVER_LOG_LEVEL

Logging level

INFO

ALLOWED_HTTP_METHODS

Allowed HTTP methods for tools

GET,POST,PUT,DELETE,PATCH

LOCAL_OPENAPI_SPEC_PATH

Path to OpenAPI spec

bundled openapi.json

Note: OPMANAGER_HOST and OPMANAGER_API_KEY are NOT configured server-side. Users provide these per-request for security.

Getting Your OpManager API Key

  1. Log in to OpManager web console

  2. Navigate to Settings โ†’ REST API

  3. Generate a new API key

  4. Use this key in your tool calls

๐Ÿ”ง Tool Parameters

Every tool accepts these connection parameters:

Parameter

Required

Description

host

โœ… Yes

OpManager server hostname

apiKey

โœ… Yes

API key for authentication

port

No

Server port (default: 8060)

use_ssl

No

Force SSL (auto-detected from port)

verify_ssl

No

Verify SSL certificates (default: true)

SSL Auto-Detection

  • Port 8061: Automatically uses HTTPS

  • Port 8060: Automatically uses HTTP

  • Override with use_ssl: true/false if needed

๐ŸŒ HTTP API Endpoints

Endpoint

Method

Description

/health

GET

Health check with tool count

/tools

GET

List all available tools

/sse

GET

SSE connection for MCP

/messages

POST

MCP message handler

/call

POST

Direct tool invocation

Health Check

curl http://localhost:3000/health
# {"status":"healthy","tool_count":60}

List Tools

curl http://localhost:3000/tools | jq '.tools[].name'

๐Ÿค– n8n Integration

  1. Start the HTTP server on port 3000

  2. In n8n, add an AI Agent node with MCP Client tool

  3. Configure the MCP Client:

    • SSE URL: http://localhost:3000/sse

    • Messages URL: http://localhost:3000/messages

Example System Prompt for n8n

You are an IT operations assistant with access to OpManager for network monitoring.

When using OpManager tools, always include:
- host: "opmanager.company.com"
- apiKey: "your-api-key"
- port: 8061 (for HTTPS)

Available operations:
- List all devices: opmanager_get_allDevices
- Get device details: opmanager_get_device (requires deviceName)
- List alarms: opmanager_get_alarms
- Acknowledge alarm: opmanager_add_alarmNotes

๐Ÿ–ฅ Claude Desktop Integration

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "opmanager": {
      "command": "python",
      "args": ["-m", "opmanager_mcp.main"],
      "cwd": "/path/to/opmanager-mcp-server",
      "env": {
        "LOCAL_OPENAPI_SPEC_PATH": "/path/to/opmanager-mcp-server/openapi.json"
      }
    }
  }
}

Note: With Claude Desktop, you'll tell Claude your OpManager host and API key in conversation, and it will include them in tool calls.

๐Ÿ›  Available Tools (60+ GET operations)

Devices

  • opmanager_get_allDevices - List all monitored devices

  • opmanager_get_device - Get device details by name

  • opmanager_get_deviceAvailability - Device availability history

Alarms

  • opmanager_get_alarms - List alarms with filtering

  • opmanager_get_alarmDetails - Get alarm details

  • opmanager_add_alarmNotes - Add notes/acknowledge alarm

Discovery

  • opmanager_get_discoveryStatus - Check discovery progress

  • opmanager_add_discovery - Start network discovery

Reports & Dashboards

  • opmanager_get_allDashboards - List all dashboards

  • opmanager_get_scheduledReports - List scheduled reports

And more...

Run curl http://localhost:3000/tools to see all available tools.

๐Ÿณ Docker

Build and Run

docker build -t opmanager-mcp-server .
docker run -d -p 3000:3000 --name opmanager-mcp opmanager-mcp-server

Docker Compose

docker-compose up -d

๐Ÿงช Development

Run Tests

# Install dev dependencies
pip install -e ".[dev]"

# Run all tests
pytest

# Run with coverage
pytest --cov=opmanager_mcp --cov-report=term-missing

# Current: 32 tests, 50% coverage

Code Quality

# Format
black opmanager_mcp tests
isort opmanager_mcp tests

# Lint
ruff check opmanager_mcp tests

# Type check
mypy opmanager_mcp

Regenerate OpenAPI Spec

python generate_openapi.py

๐Ÿ“ Project Structure

opmanager-mcp-server/
โ”œโ”€โ”€ opmanager_mcp/
โ”‚   โ”œโ”€โ”€ __init__.py          # Package exports
โ”‚   โ”œโ”€โ”€ api_client.py        # HTTP client for OpManager API
โ”‚   โ”œโ”€โ”€ config.py            # Configuration management
โ”‚   โ”œโ”€โ”€ exceptions.py        # Custom exceptions
โ”‚   โ”œโ”€โ”€ http_server.py       # HTTP/SSE server (Pure ASGI)
โ”‚   โ”œโ”€โ”€ logging_config.py    # Logging configuration
โ”‚   โ”œโ”€โ”€ main.py              # CLI entry point
โ”‚   โ”œโ”€โ”€ server.py            # MCP server implementation
โ”‚   โ””โ”€โ”€ tool_generator.py    # OpenAPI to MCP tool converter
โ”œโ”€โ”€ tests/
โ”‚   โ”œโ”€โ”€ conftest.py          # Test fixtures
โ”‚   โ”œโ”€โ”€ test_api_client.py   # API client tests
โ”‚   โ”œโ”€โ”€ test_config.py       # Config tests
โ”‚   โ”œโ”€โ”€ test_http_server.py  # HTTP server tests
โ”‚   โ”œโ”€โ”€ test_server.py       # MCP server tests
โ”‚   โ””โ”€โ”€ test_tool_generator.py # Tool generation tests
โ”œโ”€โ”€ openapi.json             # OpManager OpenAPI specification
โ”œโ”€โ”€ pyproject.toml           # Project configuration
โ”œโ”€โ”€ Dockerfile               # Container image
โ”œโ”€โ”€ docker-compose.yml       # Compose configuration
โ””โ”€โ”€ README.md                # This file

๐Ÿ“„ License

MIT License - see LICENSE for details.

๐Ÿ™ Acknowledgments

Available Tools

85 tools
acknowledgeAlarmC

acknowledgeAlarm

Category: Manage and query alarms/alerts in OpManager

Key parameters:

  • entity*: Entity of the alarm

  • type: To mention whether single or multiple alarms are selected

Inputs: host (required), apiKey (required), entity (required), type.

addBusinessRulesC

addBusinessRules

Key parameters:

  • description: Description about the business rule.

  • businessRuleName: Name of the business hour rule.

  • timeSettings: Time configuration from Monday to Sunday.

Inputs: host (required), apiKey (required), description, timeSettings, +1 more.

addEventD

addEvent

Key parameters:

  • source*: Source device of of the alarm.

  • severity*: Severity of the alarm. The severity could range anywhere fro

  • message*: Message of the alarm.

  • alarmCode*: Alarm code of the alarm.

  • entity*: Unique Value for the generating Alarm

Inputs: host (required), apiKey (required), entity (required), source (required), +4 more.

addNotesC

addNotes

Category: Manage and query alarms/alerts in OpManager

Key parameters:

  • entity*: Entity of the alarm

  • notes*: Notes description to be added

  • type: To mention whether single or multiple alarms are selected

Inputs: host (required), notes (required), apiKey (required), entity (required), +1 more.

addPerformanceMonitorsD

addPerformanceMonitors

Category: Manage and query network devices

Key parameters:

  • name*: Name of the device

  • selectedMonitors*: GraphID of the performance monitor(s) to be added (multiple

Inputs: host (required), name (required), apiKey (required), selectedMonitors (required).

addServiceMonitorC

addServiceMonitor

Category: Discover new devices on the network

Key parameters:

  • deviceName*: Hostname, FQDN name or IP Address of the device

  • credentialName: Name of the credential used to access the device to fetch de

Inputs: host (required), apiKey (required), deviceName (required), credentialName.

addToGroupC

addToGroup

Category: Manage and query network devices

Key parameters:

  • groupName*: Name of the Device/Interface Group with MOID in the suffix.

  • groupType*: Type of the group [Example: device|interface]

  • selectedMembers*: Device name(s) supplied as a comma-separated string. Device

Inputs: host (required), apiKey (required), groupName (required), groupType (required), +1 more.

alarmPropertiesC

alarmProperties

Category: Manage and query alarms/alerts in OpManager

Key parameters:

  • entity: Entity of the alarm

  • deviceID: MOID of the alarm

Inputs: host (required), apiKey (required), entity, deviceID.

associateNotificationProfilesC

associateNotificationProfiles

Key parameters:

  • deviceName*: Name of the devices to be associated

  • profiles*: ProfileID of the profiles to be associated.

Inputs: host (required), apiKey (required), profiles (required), deviceName (required).

associateProcessMonitorD

associateProcessMonitor

Category: Manage and query network devices

Key parameters:

  • deviceName*: Name of the device.

  • processId*: ID of the processes that need to be associated

Inputs: host (required), apiKey (required), processId (required), deviceName (required).

associateServiceMonitorD

associateServiceMonitor

Key parameters:

  • deviceName*: Name of the device for which the service to be associated. G

  • serviceName*: Name of the service(s) (multiple values separated by commas)

Inputs: host (required), apiKey (required), deviceName (required), serviceName (required).

clearAlarmD

clearAlarm

Category: Manage and query alarms/alerts in OpManager

Key parameters:

  • entity*: Entity of the alarm

  • type: To mention whether single alarm or multiple alarms are selec

Inputs: host (required), apiKey (required), entity (required), type.

deleteAlarmC

deleteAlarm

Category: Manage and query alarms/alerts in OpManager

Key parameters:

  • entity*: Entity of the alarm

  • type: To mention whether single or multiple alarm is selected

Inputs: host (required), apiKey (required), entity (required), type.

deleteBusinessRulesC

deleteBusinessRules

Key parameters:

  • businessRuleId: ID of the business hour rule.

Inputs: host (required), apiKey (required), businessRuleId.

deletePerformanceMonitorsC

deletePerformanceMonitors

Category: Manage and query network devices

Key parameters:

  • name*: Name of the device

  • pollId*: pollId of the performance monitor (multiple values separated

Inputs: host (required), name (required), apiKey (required), pollId (required).

getAnnotationC

getAnnotation

Category: Manage and query alarms/alerts in OpManager

Key parameters:

  • entity*: Entity of the alarm

Inputs: host (required), apiKey (required), entity (required).

getAssociatedProcessMonitorsC

getAssociatedProcessMonitors

Category: Manage and query network devices

Key parameters:

  • deviceName*: Name of the device

Inputs: host (required), apiKey (required), deviceName (required).

getAssociatedServiceMonitorsC

getAssociatedServiceMonitors

Category: Manage and query network devices

Key parameters:

  • name*: Name of the device

Inputs: host (required), name (required), apiKey (required).

getAvailabilityGraphDataC

getAvailabilityGraphData

Category: Manage and query network devices

Key parameters:

  • name*: Name of the device or interface - Managed Entity name as see

  • instance: Set instance=Interface if the Availability graph is requeste

  • isFluidic*: Set value as TRUE by default (for internal purpose)

Inputs: host (required), name (required), apiKey (required), isFluidic (required), +1 more.

getBusinessDetailsViewD

getBusinessDetailsView

Key parameters:

  • bvName*: Name of the Business View (as shown in the URL of Business V

Inputs: host (required), apiKey (required), bvName (required).

getBusinessViewD

getBusinessView

Inputs: host (required), apiKey (required).

getCategoryListD

getCategoryList

Category: Manage and query network devices

Inputs: host (required), apiKey (required).

getClientDetailsD

getClientDetails

Key parameters:

  • deviceName*: Name of the WLC device (Managed Entity name as seen in the U

  • ssidName*: SSID name of the wireless network associated to WLC

Inputs: host (required), apiKey (required), ssidName (required), deviceName (required).

getClusterDetailsD

getClusterDetails

Category: Manage and query network devices

Key parameters:

  • moID: Unique ID for vCenter device - 'moID' property value in the

Inputs: host (required), apiKey (required), moID.

getDataCenterDetailsC

getDataCenterDetails

Category: Manage and query network devices

Key parameters:

  • moID: Unique ID for vCenter device - 'moID' property value in the

Inputs: host (required), apiKey (required), moID.

getDeviceAssociatedMonitorsD

getDeviceAssociatedMonitors

Category: Manage and query network devices

Key parameters:

  • name*: Name of the device

Inputs: host (required), name (required), apiKey (required).

getDeviceAssociatedWindowsServiceMonitorsC

getDeviceAssociatedWindowsServiceMonitors

Category: Manage and query network devices

Key parameters:

  • name*: Name of the device

Inputs: host (required), name (required), apiKey (required).

getDeviceCompleteDetailsD

getDeviceCompleteDetails

Key parameters:

  • name*: Name of the device

Inputs: host (required), name (required), apiKey (required).

getDeviceInfoC

getDeviceInfo

Category: Manage and query network devices

Key parameters:

  • deviceName/ipAddress/dnsName*: Either one of these three parameters can be used to retrieve

Inputs: host (required), apiKey (required), deviceName/ipAddress/dnsName (required).

getDeviceNotesD

getDeviceNotes

Category: Manage and query network devices

Key parameters:

  • name*: Name of the device - Managed Entity name as seen in the URL

Inputs: host (required), name (required), apiKey (required).

getDeviceSummaryD

getDeviceSummary

Category: Manage and query network devices

Key parameters:

  • name*: Name of the device - Managed Entity name as seen in the URL

  • isFluidic: Set value as TRUE by default. (for internal purpose)

  • snapType: Type of the device snapshot. If the device is monitored only

  • RouterID: Router ID of the device if the snapType is set as 'FlowDevic

Inputs: host (required), name (required), apiKey (required), RouterID, +2 more.

getDownDevicesD

getDownDevices

Category: Discover new devices on the network

Inputs: host (required), apiKey (required).

getDowntimeScheduleC

getDowntimeSchedule

Key parameters:

  • operation: Downtime scheduler name

Inputs: host (required), apiKey (required), operation.

getInfrastructureDetailsViewC

getInfrastructureDetailsView

Category: Discover new devices on the network

Key parameters:

  • categoryName*: Name of the device category. [Example: Server, Desktop, etc]

Inputs: host (required), apiKey (required), categoryName (required).

getInterfaceGraphsC

getInterfaceGraphs

Category: Manage and query network devices

Key parameters:

  • interfaceName*: Name of the interface - Managed Entity name as seen in the U

  • graphName: Name of the interface graph [Example: totalPackets|traffic|u

  • isFluidic: Set as 'true' by default (for internal purpose)

  • period: Period for which the interface graph is required. [Example:

  • startDate: From Date. This parameter is applicable only if 'custom' tim

Inputs: host (required), apiKey (required), interfaceName (required), period, +4 more.

getInterfaceNotesD

getInterfaceNotes

Category: Manage and query network devices

Key parameters:

  • interfaceName*: Name of the interface - Managed Entity name as seen in the U

Inputs: host (required), apiKey (required), interfaceName (required).

getInterfacesC

getInterfaces

Category: Manage and query network devices

Key parameters:

  • name*: Name of the parent device - Managed Entity name of the paren

Inputs: host (required), name (required), apiKey (required).

getInterfaceSummaryD

getInterfaceSummary

Category: Manage and query network devices

Key parameters:

  • interfaceName*: ManagedObject name of the interface as seen in the URL of in

Inputs: host (required), apiKey (required), interfaceName (required).

getIntfAtAGlanceReportDetailsD

getIntfAtAGlanceReportDetails

Key parameters:

  • InterfaceName*: Name of the interface - Managed Entity name as seen in the U

  • period*: Period for which the interface data is required. [Example: t

  • startDate: From Date. This parameter is applicable only if 'custom' tim

  • endDate: To Date. This parameter is applicable only if 'custom' time

Inputs: host (required), apiKey (required), period (required), InterfaceName (required), +2 more.

getIntfBWOutageReportDetailsD

getIntfBWOutageReportDetails

Key parameters:

  • interfaceName*: Name of the interface - Managed Entity name as seen in the U

  • period*: Period for which the interface graph is required. [Example:

  • startDate: From Date. This paramete is applicable only if 'custom' time

  • endDate: To Date. This param is applicable only if 'custom' time is o

Inputs: host (required), apiKey (required), period (required), interfaceName (required), +2 more.

getLastCollectedValuesD

getLastCollectedValues

Category: Manage and query network devices

Key parameters:

  • deviceMOIDList*: MOID is the value of the 'moid' property in the listDevices

Inputs: host (required), apiKey (required), deviceMOIDList (required).

getLogicalGroupAlertsD

getLogicalGroupAlerts

Key parameters:

  • groupName: Name of the group

Inputs: host (required), apiKey (required), groupName.

getLogicalGroupInfoD

getLogicalGroupInfo

Key parameters:

  • groupName*: Name of the group with MOID appended in the suffix. such as

  • period: Time for which the availability data is to be fetched.[Examp

  • snapType: Group Snapshot type. [Example: LogicalGroup|LogicalIntfGroup

Inputs: host (required), apiKey (required), groupName (required), period, +1 more.

getNotificationProfileSC

getNotificationProfileS

Category: Manage and query network devices

Key parameters:

  • name*: Name of the device for which the profiles has to be listed

Inputs: host (required), name (required), apiKey (required).

getNutanixDetailsD

getNutanixDetails

Category: Manage and query network devices

Key parameters:

  • deviceName: Name of the selected entity type - Managed Entity name as se

  • entityType: Type of virtual entity which you want to list . Allowed valu

Inputs: host (required), apiKey (required), deviceName, entityType.

getNutanixVDisksC

getNutanixVDisks

Category: Manage and query network devices

Key parameters:

  • name: Name of the selected entity type - Managed Entity name as se

Inputs: host (required), apiKey (required), name.

getPerformanceMonitorDetailsC

getPerformanceMonitorDetails

Category: Manage and query network devices

Key parameters:

  • name*: Name of the device

  • policyName*: Policy name of the performance monitor

  • graphName*: Graph name of the performance monitor.

  • checkNumeric*: true (or) false.

Inputs: host (required), name (required), apiKey (required), graphName (required), +2 more.

getPerformanceMonitorsC

getPerformanceMonitors

Category: Manage and query network devices

Key parameters:

  • deviceName*: Name of the device

  • category*: Category of the device

  • type*: Type of the device

Inputs: host (required), type (required), apiKey (required), category (required), +1 more.

getPingResponseD

getPingResponse

Category: Manage and query network devices

Key parameters:

  • deviceName*: Name of the device - Managed Entity name as seen in the URL

Inputs: host (required), apiKey (required), deviceName (required).

getReportDataD

getReportData

Key parameters:

  • deviceList: Device list to fetch the report data.

  • monitorList: Monitor list to fetch the report data.

  • timePeriod: Time period to fetch the report data.

  • view: Viewing report in table/graph format.

  • tableView: To show the report data in instance/Monitor wise.

Inputs: host (required), apiKey (required), view, endDate, +9 more.

getReportsDataC

getReportsData

Key parameters:

  • reportID: Unique ID for individual reports.

  • viewAs: Format to view the resultant report data.

  • time: The time period to fetch the report data.

  • isExcludeDays: Boolean value to exclude days or not.

  • excludedDays: The day to be excluded in report data.

Inputs: host (required), apiKey (required), top, time, +20 more.

getReportsListC

getReportsList

Key parameters:

  • isFavouriteNeeded: Boolean value to show favourites reports or not.

  • hideintegratedReports: Boolean value to show integrated reports or not.

  • hideHardwareReport: Boolean value to show hardware report or not.

Inputs: host (required), apiKey (required), isFavouriteNeeded, hideHardwareReport, +1 more.

getSSIDClientListD

getSSIDClientList

Key parameters:

  • deviceName*: Name of the WLC device (Managed Entity name as seen in the U

Inputs: host (required), apiKey (required), deviceName (required).

getTopDevicesByAlarmsC

getTopDevicesByAlarms

Category: Manage and query alarms/alerts in OpManager

Key parameters:

  • eventType*: Event type of the alarm

Inputs: host (required), apiKey (required), eventType (required).

getTraceResponseD

getTraceResponse

Category: Manage and query network devices

Key parameters:

  • deviceName*: Name of the device - Managed Entity name as seen in the URL

Inputs: host (required), apiKey (required), deviceName (required).

getVMWareDataStoresD

getVMWareDataStores

Category: Manage and query network devices

Key parameters:

  • name: Name of the selected entity type - Managed Entity name as se

  • type: Type of virtual entity which you want to list. (Allowed valu

Inputs: host (required), apiKey (required), name, type.

getVMWareHostsC

getVMWareHosts

Category: Manage and query network devices

Key parameters:

  • name: Name of the vCenter device - Managed Entity name as seen in

Inputs: host (required), apiKey (required), name.

getVMWareVMsD

getVMWareVMs

Category: Manage and query network devices

Key parameters:

  • name: Name of the selected entity type - Managed Entity name as se

  • type: Type of virtual entity which you want to list. (Allowed valu

Inputs: host (required), apiKey (required), name, type.

getWidgetDataD

getWidgetData

Key parameters:

  • widgetID*: The widget ID for which data is to be fetched.

  • widgetName: The name of the widget.

  • widgetType: The widget type.

Inputs: host (required), apiKey (required), widgetID (required), widgetName, +1 more.

getWidgetListC

getWidgetList

Category: Access dashboard widgets and data

Key parameters:

  • dashboardName*: Name of the dashboard.

Inputs: host (required), apiKey (required), dashboardName (required).

getWirelessAPListD

getWirelessAPList

Key parameters:

  • deviceName*: Name of the WLC device (Managed Entity name seen in the URL

Inputs: host (required), apiKey (required), deviceName (required).

getWirelessNetworkDetailsD

getWirelessNetworkDetails

Key parameters:

  • deviceName*: Name of the WLC device (Managed Entity name as seen in the U

Inputs: host (required), apiKey (required), deviceName (required).

listAlarmsC

listAlarms

Category: Manage and query alarms/alerts in OpManager

Key parameters:

  • deviceName: Device Name of the alarm. The device name can be taken from

  • severity: Severity of the alarm. The severity could range anywhere fro

  • category: Device category of the alarm

  • alertType: alertType of the alarm. The alert type can be any of the fol

  • fromTime: Start time for the custom time period range. It could be of

Inputs: host (required), apiKey (required), toTime, category, +5 more.

listAllDevicesSpecificURLsD

listAllDevicesSpecificURLs

Inputs: host (required), apiKey (required).

listAllLogicalGroupsD

listAllLogicalGroups

Inputs: host (required), apiKey (required).

listBusinessRulesD

listBusinessRules

Inputs: host (required), apiKey (required).

listDevicesC

listDevices

Category: Manage and query network devices

Key parameters:

  • isFluidic: Set value as 'true' by default.(for internal purpose)

  • type: Fetches the list of devices that fall under the given Device

  • category: Fetches the list of devices that fall under the given device

  • app: Fetches the list of devices that have the given App in it an

  • bvName: Fetches the list of devices that are under the given Busines

Inputs: host (required), apiKey (required), app, page, +14 more.

listDownTimeSchedulesD

listDownTimeSchedules

Inputs: host (required), apiKey (required).

listEventsD

listEvents

Key parameters:

  • deviceName: Device name for which the events to be listed

  • entity: Entity of the event

  • period: Time period for which events should be listed

  • severity: Severity of the alarm

  • category: Device category of the alarm

Inputs: host (required), apiKey (required), entity, period, +4 more.

listInterfacesC

listInterfaces

Category: Manage and query network devices

Key parameters:

  • isFluidic: Set value as 'true' by default (for internal purpose)

  • rows: To fetch interface list in batches. This should be combinedl

  • page: To fetch interface list in batches. This should be combinedl

  • sortByColumn: Sorting interfaces list with columns [Example: inSpeed, disp

  • sortByType: Defining ascending or descending sort of interfaces list [Ex

Inputs: host (required), apiKey (required), page, rows, +6 more.

listLogicalGroupMembersD

listLogicalGroupMembers

Key parameters:

  • groupName: Name of the Device/Interface Group having suffix as '- '. [E

Inputs: host (required), apiKey (required), groupName.

listNotificationProfilesC

listNotificationProfiles

Key parameters:

  • isGlobal: false - To list all the Device Specific Profiles

  • profileFilter: All / Send Email / Send SMS / Send Modem SMS / Run System Co

  • deviceName: Name of the device - To list all Global Proflies with device

Inputs: host (required), apiKey (required), isGlobal, deviceName, +1 more.

listProbesD

listProbes

Inputs: host (required), apiKey (required).

listScriptMonitorsD

listScriptMonitors

Inputs: host (required), apiKey (required).

listSubnetsD

listSubnets

Category: Manage and query network devices

Inputs: host (required), apiKey (required).

listURLMonitorsD

listURLMonitors

Inputs: host (required), apiKey (required).

listVirtualDevicesC

listVirtualDevices

Category: Manage and query network devices

Key parameters:

  • virtualDeviceType*: Type of virtual entity which you want to list. (Allowed valu

Inputs: host (required), apiKey (required), virtualDeviceType (required).

setDeviceInfoC

setDeviceInfo

Category: Manage and query network devices

Key parameters:

  • deviceName/ipAddress/dnsName*: Either one of these three parameters can be used to update t

  • values*: The JSON array containing metricName and metricValue for Har

Inputs: host (required), apiKey (required), values (required), deviceName/ipAddress/dnsName (required).

setManagedC

setManaged

Category: Manage and query network devices

Key parameters:

  • manage*: Enables monitoring of devices or interfaces if manage=true,

  • name*: Name of the device or interface. (Managed Entity name as see

  • type: Set type as 'INTERFACE' if the managed entity is an interfac

  • isInterface: This parameter will take effect only when the value 'INTERFA

Inputs: host (required), name (required), apiKey (required), manage (required), +2 more.

TestMonitorD

TestMonitor

Category: Manage and query network devices

Key parameters:

  • name*: Name of the device

  • policyName*: Policy name of the monitor

  • graphName*: Graph name of the monitor.

  • instanceName: Instance name (only applicable for MSSQL monitors).

Inputs: host (required), name (required), apiKey (required), graphName (required), +2 more.

unAcknowledgeAlarmD

unAcknowledgeAlarm

Category: Manage and query alarms/alerts in OpManager

Key parameters:

  • entity*: Entity of the alarm

  • type: To mention whether single or multiple alarms are selected

Inputs: host (required), apiKey (required), entity (required), type.

updateBusinessRulesD

updateBusinessRules

Key parameters:

  • description: Description about the business rule.

  • businessRuleName: Name of the business hour rule.

  • timeSettings: Time configuration From Monday to Sunday.

  • businessRuleId: ID of the business hour rule.

Inputs: host (required), apiKey (required), description, timeSettings, +2 more.

updateDowntimeScheduleD

updateDowntimeSchedule

Key parameters:

  • operation: Edit will be sent by default (Edit).

  • MS_INSTANCEID: Downtime scheduler ID.

  • scheduleId: Downtime scheduler ID.

  • scheduleName: Downtime scheduler name.

  • status: Status will be set as Enabled by default.

Inputs: host (required), apiKey (required), endday, status, +25 more.

updateNotificationProfileStatusD

updateNotificationProfileStatus

Key parameters:

  • profileName*: Name of the profile which has to be enabled/disabled

  • profileId*: ID of the profile which has to be enabled/disabled

  • status*: enable or disable

  • deviceName: Name of the device on which the Notification profile is crea

Inputs: host (required), apiKey (required), status (required), profileId (required), +2 more.

viewBusinessRulesC

viewBusinessRules

Key parameters:

  • businessRuleId: ID of the business hour rule.

Inputs: host (required), apiKey (required), businessRuleId.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelogโ€ฆ

    TDQS

    C2.1/5.0

    Scored across 85 tools

    Disambiguation3/5

    Many tools have similar purposes, e.g., getDeviceInfo, getDeviceCompleteDetails, getDeviceSummary, and getDeviceNotes all provide device information. Alarm tools like acknowledgeAlarm, clearAlarm, deleteAlarm, and unAcknowledgeAlarm also overlap. Descriptions are often truncated, making it harder to distinguish.

    Naming Consistency4/5

    Most tools follow a consistent verb_noun pattern (e.g., addBusinessRules, listAlarms, getDeviceInfo). However, 'alarmProperties' is a noun_verb exception, and some tools like 'TestMonitor' break convention. Overall, the naming is largely predictable.

    Tool Count2/5

    With 85 tools, the server is extremely heavy. While network management may require many operations, this count exceeds the typical well-scoped range (3-15) and is likely to overwhelm agents, causing inefficiency.

    Completeness3/5

    The tool surface covers core domain concepts: alarms, devices, interfaces, virtual devices, business rules, and reports. However, there are notable gaps like missing update/delete for some entities (e.g., no updateDevice or deleteDevice) and many read-only 'get*' tools without corresponding mutation tools.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to interact with VMware Workspace ONE UEM environments for device management, user administration, and system operations. Provides access to 25+ commonly used UEM APIs with support for OAuth2 authentication and bulk operations.
      3
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides AI assistants with direct access to multi-vendor network devices for tasks like configuration management, health checks, and topology discovery through 35 specialized tools. It enables natural language control over platforms including Cisco, Juniper, and Nokia using SSH, NETCONF, and SNMP protocols.
      12
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides secure access to the LogicMonitor API, enabling AI assistants to manage monitoring infrastructure through natural language commands.
      37 npm
      7
      Mozilla Public 2.0