Squid · Capability

Squid Proxy Management

Unified workflow capability for managing and monitoring a Squid caching proxy. Combines cache statistics, connection monitoring, configuration management, and operational commands into a single workflow interface for network administrators and DevOps engineers managing proxy infrastructure.

Run with Naftiko SquidCaching ProxyHTTP ProxyNetwork AdministrationCache Management

What You Can Do

GET
Get cache info — Get general Squid cache information
/v1/cache/info
GET
Get cache counters — Get detailed cache performance counters
/v1/cache/counters
GET
Get 5min statistics — Get 5-minute rolling cache statistics
/v1/cache/statistics/5min
GET
Get 60min statistics — Get 60-minute rolling cache statistics
/v1/cache/statistics/60min
GET
Get cache utilization — Get cache utilization and capacity
/v1/cache/utilization
GET
Get memory usage — Get memory allocation statistics
/v1/cache/memory
GET
Get connections — Get all active connections
/v1/connections
GET
Get active requests — List active HTTP requests being processed
/v1/requests
GET
Get cache config — Get current Squid configuration
/v1/config
GET
Get acl list — Get all ACLs and their membership
/v1/acls
GET
Get cache objects — List cached objects
/v1/objects
POST
Reconfigure squid — Reload Squid configuration
/v1/operations/reconfigure
POST
Rotate log files — Rotate Squid log files
/v1/operations/rotate-logs

MCP Tools

get-cache-info

Get general Squid cache information including version, uptime, and basic statistics

read-only idempotent
get-cache-counters

Get detailed Squid performance counters including hit rates and byte counts

read-only idempotent
get-5min-statistics

Get 5-minute rolling averages for cache activity

read-only idempotent
get-60min-statistics

Get 60-minute rolling averages for cache activity

read-only idempotent
get-cache-utilization

Get current cache utilization, object count, and capacity

read-only idempotent
get-memory-usage

Get Squid memory pool and allocation statistics

read-only idempotent
get-active-requests

List all currently active HTTP requests being processed by Squid

read-only
get-connections

Get all active client and server connections with state and bytes

read-only
get-cache-config

Get current Squid runtime configuration

read-only idempotent
get-acl-list

Get all defined Squid ACLs for access control auditing

read-only idempotent
get-cache-objects

List objects stored in the Squid cache with optional URL pattern filter

read-only idempotent
reconfigure-squid

Trigger Squid to reload its configuration file without restart

idempotent
rotate-log-files

Trigger Squid log file rotation

idempotent

APIs Used

squid-cache-manager

Capability Spec

proxy-management.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Squid Proxy Management"
  description: >-
    Unified workflow capability for managing and monitoring a Squid caching proxy.
    Combines cache statistics, connection monitoring, configuration management,
    and operational commands into a single workflow interface for network administrators
    and DevOps engineers managing proxy infrastructure.
  tags:
    - Squid
    - Caching Proxy
    - HTTP Proxy
    - Network Administration
    - Cache Management
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      SQUID_CACHEMGR_PASSWORD: SQUID_CACHEMGR_PASSWORD

capability:
  consumes:
    - import: squid-cache-manager
      location: ./shared/cache-manager.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: squid-proxy-management-api
      description: "Unified REST API for Squid proxy management and monitoring."
      resources:
        - path: /v1/cache/info
          name: cache-info
          description: "Cache information and general statistics"
          operations:
            - method: GET
              name: get-cache-info
              description: "Get general Squid cache information"
              call: "squid-cache-manager.get-cache-info"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/cache/counters
          name: cache-counters
          description: "Performance counters"
          operations:
            - method: GET
              name: get-cache-counters
              description: "Get detailed cache performance counters"
              call: "squid-cache-manager.get-cache-counters"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/cache/statistics/5min
          name: statistics-5min
          description: "5-minute rolling statistics"
          operations:
            - method: GET
              name: get-5min-statistics
              description: "Get 5-minute rolling cache statistics"
              call: "squid-cache-manager.get-5min-statistics"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/cache/statistics/60min
          name: statistics-60min
          description: "60-minute rolling statistics"
          operations:
            - method: GET
              name: get-60min-statistics
              description: "Get 60-minute rolling cache statistics"
              call: "squid-cache-manager.get-60min-statistics"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/cache/utilization
          name: cache-utilization
          description: "Cache utilization metrics"
          operations:
            - method: GET
              name: get-cache-utilization
              description: "Get cache utilization and capacity"
              call: "squid-cache-manager.get-cache-utilization"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/cache/memory
          name: memory
          description: "Memory usage statistics"
          operations:
            - method: GET
              name: get-memory-usage
              description: "Get memory allocation statistics"
              call: "squid-cache-manager.get-memory-usage"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/connections
          name: connections
          description: "Active connections"
          operations:
            - method: GET
              name: get-connections
              description: "Get all active connections"
              call: "squid-cache-manager.get-connections"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/requests
          name: active-requests
          description: "Active HTTP requests"
          operations:
            - method: GET
              name: get-active-requests
              description: "List active HTTP requests being processed"
              call: "squid-cache-manager.get-active-requests"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/config
          name: configuration
          description: "Cache configuration"
          operations:
            - method: GET
              name: get-cache-config
              description: "Get current Squid configuration"
              call: "squid-cache-manager.get-cache-config"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/acls
          name: acl-list
          description: "Access control lists"
          operations:
            - method: GET
              name: get-acl-list
              description: "Get all ACLs and their membership"
              call: "squid-cache-manager.get-acl-list"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/objects
          name: cached-objects
          description: "Cached objects"
          operations:
            - method: GET
              name: get-cache-objects
              description: "List cached objects"
              call: "squid-cache-manager.get-cache-objects"
              with:
                pattern: "rest.pattern"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/operations/reconfigure
          name: reconfigure
          description: "Reconfigure Squid"
          operations:
            - method: POST
              name: reconfigure-squid
              description: "Reload Squid configuration"
              call: "squid-cache-manager.reconfigure-squid"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/operations/rotate-logs
          name: rotate-logs
          description: "Rotate log files"
          operations:
            - method: POST
              name: rotate-log-files
              description: "Rotate Squid log files"
              call: "squid-cache-manager.rotate-log-files"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: squid-proxy-management-mcp
      transport: http
      description: "MCP server for AI-assisted Squid proxy management and troubleshooting."
      tools:
        - name: get-cache-info
          description: "Get general Squid cache information including version, uptime, and basic statistics"
          hints:
            readOnly: true
            idempotent: true
          call: "squid-cache-manager.get-cache-info"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-cache-counters
          description: "Get detailed Squid performance counters including hit rates and byte counts"
          hints:
            readOnly: true
            idempotent: true
          call: "squid-cache-manager.get-cache-counters"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-5min-statistics
          description: "Get 5-minute rolling averages for cache activity"
          hints:
            readOnly: true
            idempotent: true
          call: "squid-cache-manager.get-5min-statistics"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-60min-statistics
          description: "Get 60-minute rolling averages for cache activity"
          hints:
            readOnly: true
            idempotent: true
          call: "squid-cache-manager.get-60min-statistics"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-cache-utilization
          description: "Get current cache utilization, object count, and capacity"
          hints:
            readOnly: true
            idempotent: true
          call: "squid-cache-manager.get-cache-utilization"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-memory-usage
          description: "Get Squid memory pool and allocation statistics"
          hints:
            readOnly: true
            idempotent: true
          call: "squid-cache-manager.get-memory-usage"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-active-requests
          description: "List all currently active HTTP requests being processed by Squid"
          hints:
            readOnly: true
            idempotent: false
          call: "squid-cache-manager.get-active-requests"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-connections
          description: "Get all active client and server connections with state and bytes"
          hints:
            readOnly: true
            idempotent: false
          call: "squid-cache-manager.get-connections"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-cache-config
          description: "Get current Squid runtime configuration"
          hints:
            readOnly: true
            idempotent: true
          call: "squid-cache-manager.get-cache-config"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-acl-list
          description: "Get all defined Squid ACLs for access control auditing"
          hints:
            readOnly: true
            idempotent: true
          call: "squid-cache-manager.get-acl-list"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-cache-objects
          description: "List objects stored in the Squid cache with optional URL pattern filter"
          hints:
            readOnly: true
            idempotent: true
          call: "squid-cache-manager.get-cache-objects"
          with:
            pattern: "tools.pattern"
          outputParameters:
            - type: object
              mapping: "$."
        - name: reconfigure-squid
          description: "Trigger Squid to reload its configuration file without restart"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "squid-cache-manager.reconfigure-squid"
          outputParameters:
            - type: object
              mapping: "$."
        - name: rotate-log-files
          description: "Trigger Squid log file rotation"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "squid-cache-manager.rotate-log-files"
          outputParameters:
            - type: object
              mapping: "$."