Search / dev.workers.dougalpaw.pawpulse/pawpulse
Paw Pulse
not classifiedHeartbeat and tokens/sec monitoring for self-hosted LLM servers (Ollama etc.), with down alerts.
v0.3.0 · active · repository · website · descriptor JSON · versions
Search / dev.workers.dougalpaw.pawpulse/pawpulse
Heartbeat and tokens/sec monitoring for self-hosted LLM servers (Ollama etc.), with down alerts.
v0.3.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"pawpulse": {
"type": "http",
"url": "https://pawpulse.dougalpaw.workers.dev/mcp"
}
}
}claude mcp add --transport http pawpulse https://pawpulse.dougalpaw.workers.dev/mcp[mcp_servers.pawpulse]
url = "https://pawpulse.dougalpaw.workers.dev/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"pawpulse": {
"type": "remote",
"url": "https://pawpulse.dougalpaw.workers.dev/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"pawpulse": {
"type": "http",
"url": "https://pawpulse.dougalpaw.workers.dev/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=pawpulse&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vcGF3cHVsc2UuZG91Z2FscGF3LndvcmtlcnMuZGV2L21jcCJ9"
}{
"servers": {
"pawpulse": {
"type": "http",
"url": "https://pawpulse.dougalpaw.workers.dev/mcp"
}
}
}{
"mcpServers": {
"pawpulse": {
"httpUrl": "https://pawpulse.dougalpaw.workers.dev/mcp"
}
}
}extensions:
"pawpulse":
enabled: true
name: "pawpulse"
type: streamable_http
uri: "https://pawpulse.dougalpaw.workers.dev/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations6 of 6 tools declare readOnlyHint or destructiveHinttools.directory_hints3 of 6 tools declare all four hints; missing: get_status (destructiveHint, idempotentHint); list_heartbeats (destructiveHint, idempotentHint); setup_instructions (destructiveHint, idempotentHint)tools.token_costabout 839 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes, stability.rug_pulltool history recorded for 3 of the 7 days neededdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagesetup_instructionschangedinput schemadelete_monitorchangedinput schemaupdate_monitorchangedinput schemalist_heartbeatschangedinput schemaget_statuschangedinput schemaFull history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +dns-namespace +website -unreachable(1 failures) +updated-2d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://pawpulse.dougalpaw.workers.dev/mcp streamable-http | none | no (1 failures) | 92% | 155 ms | 2025-06-18 | 2026-10-19 |
create_monitor | Create a new anonymous Paw Pulse monitor. Returns ingest_token and manage_token exactly once — store them, they cannot be recovered. |
delete_monitordestructive | Permanently delete a monitor and all its heartbeats. Cannot be undone. |
get_statusread-only | Get the current status of a monitor. Private monitors require manage_token. |
list_heartbeatsread-only | List recent heartbeats for a monitor (newest first). Private monitors require manage_token. |
setup_instructionsread-only | 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. |
update_monitor | Change a monitor's name, grace period, slow threshold, webhook or visibility. Only the fields you pass change. |
Schemas: list_tools.
{
"name": "dev.workers.dougalpaw.pawpulse/pawpulse",
"title": "Paw Pulse",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://pawpulse.dougalpaw.workers.dev/mcp",
"type": "streamable-http"
}
],
"version": "0.3.0",
"repository": {
"url": "https://github.com/dougal-paw/pawpulse",
"source": "github"
},
"websiteUrl": "https://pawpulse.dougalpaw.workers.dev",
"description": "Heartbeat and tokens/sec monitoring for self-hosted LLM servers (Ollama etc.), with down alerts."
}