Cato MCP CMA

by catonetworks

26 434 downloads Not rated yet Apache-2.0
GitHub

About

This repository provides a local mcp-server for Cato Network's public GraphQL API

Details

License
Apache-2.0

Explore

- Lookup entities (users, sites, services) with filtering and pagination.
- Retrieve site details, location, connectivity, and socket versions.
- Access user profile, connection status, and software versions.
- Query site network health and bandwidth consumption rankings.
- Analyze user and site metrics with timeseries and aggregation.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Cato MCP CMA
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The server requires the following environment variables:


MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json\
Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{
"mcpServers": {
"cato": {
"command": "docker",
"args": [
"run",
"--rm",
"--pull",
"always",
"-i",
"-e", "CATO_API_HOST=<your Cato API Host>",
"-e", "CATO_ACCOUNT_ID=<your Cato Account ID>",
"-e", "CATO_API_KEY=<your Cato API Key>",
"ghcr.io/catonetworks/cato-mcp-server:latest"
],
"disabled": false,
"autoApprove": []
}
}
}

CATO_API_KEY: "123abc"

add the following to: ~/Library/Application\ Support/Claude/claude_desktop_config.json

{
"mcpServers": {
"cato": {
"command": "node",
"args": ["/path/to/cato-mcp-cma/build/index.js"],
"env": {
"CATO_API_HOST": "api.catonetworks.com",
"CATO_ACCOUNT_ID": "1234567",
"CATO_API_KEY": "123abc",
"CATO_LOG_LEVEL": "debug"
},
"disabled": false,
"autoApprove": []
}
}
}

add the following to: ~/Library/Application\ Support/Claude/claude_desktop_config.json

{
"mcpServers": {
"cato": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "CATO_API_HOST=api.catonetworks.com",
"-e", "CATO_ACCOUNT_ID=<your Cato Account ID>",
"-e", "CATO_API_KEY=<your Cato API Key>",
"catonetworks/cato-mcp-server"
],
"disabled": false,
"autoApprove": []
}
}
}

Category

Tool

Sites

sites_by_location

| Category | Tool | Description |
|-------------------|-------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Entity Lookup | entity_lookup | Retrieve a list of entities of a specific type (e.g., users, sites, services),with optional filtering (e.g., by name) and pagination support. |
| Sites | sites_by_location | Returns site data enriched with geographic location and associated PoP connectivity information. |
| | site_details | Retrieves comprehensive site details including operational status, connectivity status, High Availability (HA) information, and device interface statuses. |
| | site_types | Provides details for all configured sites, including connection methods (e.g., Socket, IPSEC, vSocket). |
| | socket_versions | Lists version information for all deployed Sockets, including site association. |
| | wan_connectivity | Provides real-time metrics for WAN links at each site, including traffic volume, packet loss, latency, and jitter, to assess link performance and health. |
| Users and Clients | user_details | Provides profile and status information for connected remote users, including device name, operating system, and connection status. |
| | user_connection_details | Offers session-specific data for connected remote users, such as uptime, connection duration, and associated PoP details. |
| | user_software_versions | Lists operating system and Cato Client version information for connected remote users. |
| Site Metrics | site_network_health | Retrieves a summary of network health for sites over a specified time frame, identifying sites with poor network quality (high packet loss, latency, jitter). |
| | top_site_bandwidth_consumers | Ranks sites by total traffic (bytesUpstream + bytesDownstream) in a given time frame for capacity planning and traffic analysis. |
| | site_metrics_timeseries | Retrieves time-bucketed metrics data for sites, enabling trend analysis, peak detection, and traffic pattern identification. |
| | site_metrics | Returns aggregated metrics for sites (no timeseries data). |
| | site_metrics_summary | Provides aggregated metrics analysis for sites grouped by various dimensions like site type, connection type, region, or interface role. |
| | annotation_event_counter | Analyzes infrastructure change events and annotations to track stability and identify sites with frequent changes or issues. |
| User Metrics | top_users_bandwidth_consumers | Ranks VPN-connected users by total traffic (bytesUpstream + bytesDownstream) in a given time frame for bandwidth monitoring, cost management, and identifying unusual usage patterns. |
| | user_metrics_timeseries | Retrieves time-bucketed metrics data for VPN-connected users, enabling trend analysis and performance monitoring over time. |
| | user_metrics | Returns aggregated metrics for VPN-connected users (no timeseries data). |

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "cato mcp cma": {
            "cato-mcp-server": {
                "command": "docker",
                "args": [
                    "pull",
                    "ghcr.io/catonetworks/cato-mcp-server:latest"
                ]
            }
        }
    }
}

McpServers

{
    "cato-mcp-server": {
        "command": "docker",
        "args": [
            "pull",
            "ghcr.io/catonetworks/cato-mcp-server:latest"
        ]
    }
}

A Model Context Protocol (MCP) server implementation that integrates with Cato CMA Public API.

Overview

This server implements the Model Context Protocol to allow AI assistants to interact with Cato's GraphQL API.
It provides tools that enable AI models to query and retrieve information from Cato systems in a standardized way.

The provided MCP server has been tested for compatibility with popular MCP clients (non-free tier) - such as Cursor and Claude Desktop using the Claude Sonnet 4 model, and is recommended for use with these clients.

The server is available as a docker image at ghcr.io/catonetworks/cato-mcp-server

Add the following to Claude-Desktop config file:\

MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json\ Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "cato": {
      "command": "docker",
      "args": [
          "run",
          "--rm",
          "--pull",
          "always",
          "-i",
          "-e", "CATO_API_HOST=<your Cato API Host>",
          "-e", "CATO_ACCOUNT_ID=<your Cato Account ID>",
          "-e", "CATO_API_KEY=<your Cato API Key>",
          "ghcr.io/catonetworks/cato-mcp-server:latest"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Notes:

- The --pull always option ensures that the AI Agent application (e.g. Claude-Desktop) uses cato-mcp-server's most updated version.\ The AI Agent application running cato-mcp-server might open a popup asking for permissions to access data from other apps.\ image\ - If you don't wish to allow this, you can remove the --pull always option, but then you will need to manually update the image when a new version is released by executing:
  docker pull ghcr.io/catonetworks/cato-mcp-server:latest
  

Configuration

The server requires the following environment variables: ```properties
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.

Videos about Cato MCP CMA

Relevant YouTube tutorials, setups, and demos