Paw Pulse

Heartbeat and tokens/sec monitoring for self-hosted LLM servers (Ollama etc.), with down alerts.

我該用這個嗎

品質與安全性

A
說明品質
97%
結構描述完整度
98%
命名品質
100%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~852Token(工具定義)
~1.1 KB典型回應大小
中等的注意力影響(128k 上下文的 0.67%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "pawpulse": {
      "url": "https://pulse.dougalpaw.com/mcp"
    }
  }
}

遠端端點

https://pulse.dougalpaw.com/mcpstreamable-http

它能做什麼

工具清單

工具(6)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟡create_monitor(name, grace_seconds, slow_tps_threshold, webhook_url, public)

Create a new anonymous Paw Pulse monitor. Returns ingest_token and manage_token exactly once — store them, they cannot be recovered.

輸入結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Display name, not treated as identifying."
    },
    "grace_seconds": {
      "type": "number",
      "description": "60-86400, default 300."
    },
    "slow_tps_threshold": {
      "type": "number",
      "description": "Optional tokens/sec floor."
    },
    "webhook_url": {
      "type": "string",
      "description": "Optional https:// webhook for alerts."
    },
    "public": {
      "type": "boolean",
      "description": "Whether /v1/monitors/:id/status and /s/:id are public."
    }
  }
}
🟢get_status(id, manage_token)

Get the current status of a monitor. Private monitors require manage_token.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Monitor id, as returned by create_monitor."
    },
    "manage_token": {
      "type": "string",
      "description": "The monitor's manage_token (returned once by create_monitor)."
    }
  },
  "required": [
    "id"
  ]
}
🟢list_heartbeats(id, manage_token, limit)

List recent heartbeats for a monitor (newest first). Private monitors require manage_token.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Monitor id, as returned by create_monitor."
    },
    "manage_token": {
      "type": "string",
      "description": "The monitor's manage_token (returned once by create_monitor)."
    },
    "limit": {
      "type": "number",
      "description": "1-500, default 50."
    }
  },
  "required": [
    "id"
  ]
}
🟡update_monitor(id, manage_token, name, grace_seconds, slow_tps_threshold, ...)

Change a monitor's name, grace period, slow threshold, webhook or visibility. Only the fields you pass change.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Monitor id, as returned by create_monitor."
    },
    "manage_token": {
      "type": "string",
      "description": "The monitor's manage_token (returned once by create_monitor)."
    },
    "name": {
      "type": "string",
      "description": "New display name."
    },
    "grace_seconds": {
      "type": "number",
      "description": "60-86400."
    },
    "slow_tps_threshold": {
      "type": [
        "number",
        "null"
      ],
      "description": "Tokens/sec floor, or null to clear."
    },
    "webhook_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "https:// webhook, or null to clear."
    },
    "public": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "manage_token"
  ]
}
🔴delete_monitor(id, manage_token)

Permanently delete a monitor and all its heartbeats. Cannot be undone.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Monitor id, as returned by create_monitor."
    },
    "manage_token": {
      "type": "string",
      "description": "The monitor's manage_token (returned once by create_monitor)."
    }
  },
  "required": [
    "id",
    "manage_token"
  ]
}
🟢setup_instructions(id, ingest_token, llm_kind)

Shell commands to install the heartbeat script on the box being monitored and run it from cron. Pass the id and ingest_token from create_monitor.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Monitor id, as returned by create_monitor."
    },
    "ingest_token": {
      "type": "string",
      "description": "The monitor's ingest_token (returned once by create_monitor)."
    },
    "llm_kind": {
      "type": "string",
      "enum": [
        "ollama",
        "openai",
        "none"
      ],
      "description": "none = plain heartbeat, no LLM probe. Default ollama."
    }
  },
  "required": [
    "id",
    "ingest_token"
  ]
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本6 個工具