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://pawpulse.dougalpaw.workers.dev/mcp"
    }
  }
}

远程端点

https://pawpulse.dougalpaw.workers.dev/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 个工具