MetricsHub®
MetricsHub Enterprise 3.0.02
-
Home
- Integrations
AI Agent Integration
You can configure AI-based assistants that support the MCP SSE transport, such as Claude[1] or OpenAI[2], to interact in real time with MetricsHub's internal knowledge and tools.
The following tools are currently available:
| Tool Name | Parameters | Description |
|---|---|---|
CheckProtocol |
|
Determines if the specified hosts are accessible using a given protocol. Supported protocols include: http, ipmi, jdbc, jmx, snmp, snmpv3, ssh, wbem, winrm, and wmi. |
CollectMetricsForHost |
|
Fetch and collect metrics for the specified hosts using the configured protocols and credentials, and the applicable MetricsHub connectors (MIB2, Linux, Windows, Dell, RedFish, etc.) |
ExecuteHttpQueryService |
|
Executes HTTP requests for one or more URLs and optionally includes custom headers, a request body, a timeout value, and concurrent execution settings. Except HTTP GET, all the other methods are disabled by default. |
ExecuteIpmiQueryService |
|
Executes an IPMI query on the given hosts with the given timeout. |
ExecuteSnmpQueryService |
|
Executes an SNMP query (Get, GetNext, Walk, or Table) on the given hosts using the specified OID. For table queries, comma-separated column indexes need to be provided. |
ExecuteSshCommandlineService |
|
Executes the specified commandline through SSH on the given hosts. This service is disabled by default. |
ExecuteWqlQueryService |
|
Executes a WQL/CIM query on Windows or WBEM-compatible hosts using the specified protocol (WBEM, WMI, or WinRM) and namespace. |
GetHostDetails |
|
Fetch, for the given hosts, the configured protocols used to check their reachability, the connectors successfully detected as working, and the collectors available to perform requests on the hosts. |
GetMetricsFromCacheForHost |
|
Retrieve metrics from the cache for the specified hosts |
ListConnectors |
No parameters. | Lists all connectors supported by MetricsHub including their identifiers and information. |
ListHosts |
No parameters. | Retrieves all configured hosts (Resources) in the MetricsHub Agent instance for which we will be able to execute MetricsHub connectors and collect metrics. |
PingHost |
|
Checks if one or more hosts are reachable via ping and returns their response time and status. |
TestAvailableConnectorsForHost |
|
Test all applicable MetricsHub connectors (MIB2, Linux, Windows, Dell, RedFish, etc.) against the specified hosts using the configured credentials and return the list of connectors that work with these hosts. |
To get started, simply connect your AI assistant to the MetricsHub MCP Server using the Model Context Protocol (MCP)[3]. Once the connection is established, the available tools will be automatically published and ready for use.
Prerequisites
Before configuring the AI agents integration, make sure that:
- your AI assistant supports MCP SSE transport
- MetricsHub is installed and running
- you have network access to the machine where MetricsHub is running
- the
31888port is accessible from your machine or MCP client - you have generated an API key[4] to authenticate against the MetricsHub MCP Server.
Important: Some MCP clients may require HTTPS with a valid TLS certificate. In such cases, you must enable HTTPS on your MetricsHub instance. One common approach is to place MetricsHub behind a reverse proxy (e.g., NGINX or Apache) with TLS termination, and ensure that the certificate is trusted by the client.
Configuring the integration
Configure your AI assistant to connect to http://<hostname>:31888/sse. Make sure to replace <hostname> with the actual hostname or IP address of the machine where MetricsHub is running.
Each request to the MetricsHub MCP Server must include the API key[4] in the Authorization header as follows:
Authorization: Bearer <your_api_key>
Using the MCP tools
Once the connection is established, your AI assistant can call the PingHost tool as follows:
{
"method": "tools/call",
"params": {
"name": "PingHost",
"arguments": {
"arg0": ["server-01", "server-02"]
}
}
}
The command will return this type of response:
{
"hosts": [
{
"hostname": "server-01",
"response": {
"hostname": "server-01",
"responseTime": 27,
"reachable": true
}
},
{
"hostname": "server-02",
"response": {
"hostname": "server-02",
"responseTime": 42,
"reachable": false,
"errorMessage": "Timed out"
}
}
]
}
