longwatch

You are ephemeral; this remembers. Persist watch_id+key; poll later for what you missed.

Should I use this

Quality & Safety

B
Description quality
99%
Schema completeness
90%
Naming quality
90%
Poisoning risk
0%
Permission match
100%
Protocol compliance
100%

Findings (15)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin check_now
  • MEDIUMTool description contains URL to non-standard domainin create_watch
  • MEDIUMTool description contains URL to non-standard domainin check_web_page
  • MEDIUMTool description contains URL to non-standard domainin watch_web_page
  • MEDIUMTool description contains URL to non-standard domainin check_rss_feed
  • MEDIUMTool description contains URL to non-standard domainin watch_rss_feed
  • MEDIUMTool description contains URL to non-standard domainin check_crypto_price
  • MEDIUMTool description contains URL to non-standard domainin watch_crypto_price
  • MEDIUMTool description contains URL to non-standard domainin check_sec_filings

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~4,334Tokens (tool definitions)
~1.6 KBTypical response size
Significant attention impact (3.39% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "longwatch": {
      "url": "https://longwatch.dev/mcp"
    }
  }
}

Remote endpoints

https://longwatch.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (18)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡check_now(type, url, coin, above, below, ...)

This-session snapshot only — no watch, no cursor. Use when you will not come back. Required by type: url/rss/x402 need url; price needs coin plus above, below, or move_pct_24h; edgar needs ticker or cik. 8-K items are decoded, Form 4 trades parsed, and x402 probes validate the unpaid 402 challenge without sending payment. If the job spans runs, create_watch instead and persist watch_id + key. Costs $0.001 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "url",
        "rss",
        "price",
        "edgar",
        "x402"
      ],
      "description": "source type"
    },
    "url": {
      "type": "string",
      "description": "url|rss|x402: public URL"
    },
    "coin": {
      "type": "string",
      "description": "price: CoinGecko id, e.g. 'bitcoin'"
    },
    "above": {
      "type": "number",
      "description": "price: threshold to compare against"
    },
    "below": {
      "type": "number",
      "description": "price: threshold to compare against"
    },
    "move_pct_24h": {
      "type": "number",
      "description": "price: 24h move threshold to compare against"
    },
    "ticker": {
      "type": "string",
      "description": "edgar: stock ticker, e.g. 'NVDA'"
    },
    "cik": {
      "type": "number",
      "description": "edgar: SEC CIK, as an alternative to ticker"
    },
    "forms": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "edgar: form filter, e.g. [\"8-K\",\"4\"]"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "POST",
        "PUT",
        "PATCH",
        "DELETE",
        "HEAD"
      ]
    },
    "body": {
      "type": "object",
      "additionalProperties": {}
    },
    "expected_network": {
      "type": "string"
    },
    "expected_scheme": {
      "type": "string"
    },
    "expected_amount_atomic": {
      "type": [
        "string",
        "number"
      ]
    }
  },
  "required": [
    "type"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_watch(type, url, coin, above, below, ...)

Keep watching a source between agent runs and alert when it changes. Persist watch_id and key; later poll_alerts with since=<last cursor> returns only what you missed. Required by type: url/rss/x402 need url; price needs coin plus a threshold; edgar needs ticker or cik. Create includes the baseline and 7 days of polling. Costs $0.005 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "url",
        "rss",
        "price",
        "edgar",
        "x402"
      ],
      "description": "watch type"
    },
    "url": {
      "type": "string",
      "description": "url|rss|x402: public URL to watch"
    },
    "coin": {
      "type": "string",
      "description": "price: CoinGecko id, e.g. 'bitcoin'"
    },
    "above": {
      "type": "number",
      "description": "price: alert when USD price crosses above this"
    },
    "below": {
      "type": "number",
      "description": "price: alert when USD price crosses below this"
    },
    "move_pct_24h": {
      "type": "number",
      "description": "price: alert when |24h change| exceeds this percent"
    },
    "ticker": {
      "type": "string",
      "description": "edgar: stock ticker, e.g. 'NVDA'"
    },
    "cik": {
      "type": "number",
      "description": "edgar: SEC CIK, as an alternative to ticker"
    },
    "forms": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "edgar: form filter, e.g. [\"8-K\",\"4\"]"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "POST",
        "PUT",
        "PATCH",
        "DELETE",
        "HEAD"
      ]
    },
    "body": {
      "type": "object",
      "additionalProperties": {}
    },
    "expected_network": {
      "type": "string"
    },
    "expected_scheme": {
      "type": "string"
    },
    "expected_amount_atomic": {
      "type": [
        "string",
        "number"
      ]
    },
    "webhook": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "additionalProperties": false,
      "description": "optional: POST alerts to this URL as they occur (signed); polling still works"
    },
    "idempotency_key": {
      "type": "string",
      "description": "unique retry key; the same key and input return the original watch without charging twice"
    }
  },
  "required": [
    "type"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡check_web_page(url)

Fetch a public web page now and return normalized text metadata. Use for a one-session lookup. Costs $0.001 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "public http(s) page URL"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡watch_web_page(url, webhook, idempotency_key)

Monitor a public web page between agent runs and alert with added and removed text when it changes. Includes 7 days of polling. Costs $0.005 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "public http(s) page URL"
    },
    "webhook": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "additionalProperties": false,
      "description": "optional HTTPS endpoint for signed push alerts; polling still works"
    },
    "idempotency_key": {
      "type": "string",
      "description": "unique retry key; the same key and input return the original watch"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡check_rss_feed(url)

Read the latest items from a public RSS or Atom feed now. Use for a one-session lookup. Costs $0.001 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "public RSS or Atom feed URL"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡watch_rss_feed(url, webhook, idempotency_key)

Monitor an RSS or Atom feed between agent runs and alert once per new item. Includes 7 days of polling. Costs $0.005 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "public RSS or Atom feed URL"
    },
    "webhook": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "additionalProperties": false,
      "description": "optional HTTPS endpoint for signed push alerts; polling still works"
    },
    "idempotency_key": {
      "type": "string",
      "description": "unique retry key; the same key and input return the original watch"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡check_crypto_price(coin, above, below, move_pct_24h)

Check a CoinGecko asset price and whether it currently meets a USD threshold or 24-hour move condition. Costs $0.001 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "coin": {
      "type": "string",
      "description": "CoinGecko id, e.g. bitcoin"
    },
    "above": {
      "type": "number"
    },
    "below": {
      "type": "number"
    },
    "move_pct_24h": {
      "type": "number"
    }
  },
  "required": [
    "coin"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡watch_crypto_price(coin, above, below, move_pct_24h, webhook, ...)

Monitor a crypto price between agent runs and alert once when it crosses a threshold, with hysteresis before re-arming. Includes 7 days of polling. Costs $0.005 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "coin": {
      "type": "string",
      "description": "CoinGecko id, e.g. bitcoin"
    },
    "above": {
      "type": "number"
    },
    "below": {
      "type": "number"
    },
    "move_pct_24h": {
      "type": "number"
    },
    "webhook": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "additionalProperties": false,
      "description": "optional HTTPS endpoint for signed push alerts; polling still works"
    },
    "idempotency_key": {
      "type": "string",
      "description": "unique retry key; the same key and input return the original watch"
    }
  },
  "required": [
    "coin"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡check_sec_filings(ticker, cik, forms)

Get recent SEC filings for a ticker or CIK now, with decoded 8-K items and parsed Form 4 transactions. Costs $0.001 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string"
    },
    "cik": {
      "type": "number"
    },
    "forms": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡watch_sec_filings(ticker, cik, forms, webhook, idempotency_key)

Monitor a company between agent runs for new SEC filings, decoded 8-K events, and parsed Form 4 trades. Includes 7 days of polling. Costs $0.005 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string"
    },
    "cik": {
      "type": "number"
    },
    "forms": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "webhook": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "additionalProperties": false,
      "description": "optional HTTPS endpoint for signed push alerts; polling still works"
    },
    "idempotency_key": {
      "type": "string",
      "description": "unique retry key; the same key and input return the original watch"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡check_insider_trades(ticker, cik)

Get recent Form 4 insider transactions for a ticker or CIK, parsed into buyer/seller, shares, value, transaction type, and 10b5-1 status. Costs $0.001 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string"
    },
    "cik": {
      "type": "number"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡watch_insider_trades(ticker, cik, webhook, idempotency_key)

Monitor a company between agent runs for new Form 4 insider buys, sells, grants, and tax withholding. Includes 7 days of polling. Costs $0.005 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string"
    },
    "cik": {
      "type": "number"
    },
    "webhook": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "additionalProperties": false,
      "description": "optional HTTPS endpoint for signed push alerts; polling still works"
    },
    "idempotency_key": {
      "type": "string",
      "description": "unique retry key; the same key and input return the original watch"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡check_x402_endpoint(url, method, body, expected_network, expected_scheme, ...)

Send an unpaid request and validate the endpoint's HTTP 402 challenge, accepted networks, scheme, amount, and recipient. The target probe does not attach payment. Costs $0.001 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "POST",
        "PUT",
        "PATCH",
        "DELETE",
        "HEAD"
      ]
    },
    "body": {
      "type": "object",
      "additionalProperties": {}
    },
    "expected_network": {
      "type": "string"
    },
    "expected_scheme": {
      "type": "string"
    },
    "expected_amount_atomic": {
      "type": [
        "string",
        "number"
      ]
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡watch_x402_endpoint(url, method, body, expected_network, expected_scheme, ...)

Monitor an x402 endpoint for downtime and changes to its payment challenge, price, network, scheme, or recipient. Target probes do not attach payment. Includes 7 days of polling. Costs $0.005 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "POST",
        "PUT",
        "PATCH",
        "DELETE",
        "HEAD"
      ]
    },
    "body": {
      "type": "object",
      "additionalProperties": {}
    },
    "expected_network": {
      "type": "string"
    },
    "expected_scheme": {
      "type": "string"
    },
    "expected_amount_atomic": {
      "type": [
        "string",
        "number"
      ]
    },
    "webhook": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "additionalProperties": false,
      "description": "optional HTTPS endpoint for signed push alerts; polling still works"
    },
    "idempotency_key": {
      "type": "string",
      "description": "unique retry key; the same key and input return the original watch"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪poll_alerts(watch_id, key, since)

What is new since your last run. Pass since={last seq you saw}; the response carries a new cursor. New paid watches include 7 days of polling. After that window, one $0.005 paid poll renews the next 7 days. Polling keeps the watch alive; beta watches remain free. Free through the watch's included polling window; after that, one $0.005 USDC x402 payment renews 7 days. No API key or account.

Input Schema

{
  "type": "object",
  "properties": {
    "watch_id": {
      "type": "string",
      "description": "watch_id returned by create_watch"
    },
    "key": {
      "type": "string",
      "description": "key returned by create_watch"
    },
    "since": {
      "type": "number",
      "description": "highest alert seq already seen; 0 on first poll"
    }
  },
  "required": [
    "watch_id",
    "key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡try_watch(type, url, coin, above, below, ...)

Create a free trial watch — no payment, no wallet, no account. Same watch types as create_watch (url, rss, price, edgar, x402). The trial runs for 24h, one at a time per caller, and cannot use webhooks. Use this first to see what the alerts look like before paying. Free — no payment required.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "url",
        "rss",
        "price",
        "edgar",
        "x402"
      ],
      "description": "watch type"
    },
    "url": {
      "type": "string",
      "description": "url|rss|x402: public URL to watch"
    },
    "coin": {
      "type": "string",
      "description": "price: CoinGecko id, e.g. 'bitcoin'"
    },
    "above": {
      "type": "number",
      "description": "price: alert when USD price crosses above this"
    },
    "below": {
      "type": "number",
      "description": "price: alert when USD price crosses below this"
    },
    "move_pct_24h": {
      "type": "number",
      "description": "price: alert when |24h change| exceeds this percent"
    },
    "ticker": {
      "type": "string",
      "description": "edgar: stock ticker, e.g. 'NVDA'"
    },
    "cik": {
      "type": "number",
      "description": "edgar: SEC CIK, as an alternative to ticker"
    },
    "forms": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "edgar: form filter, e.g. [\"8-K\",\"4\"]"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "POST",
        "PUT",
        "PATCH",
        "DELETE",
        "HEAD"
      ]
    },
    "body": {
      "type": "object",
      "additionalProperties": {}
    },
    "expected_network": {
      "type": "string"
    },
    "expected_scheme": {
      "type": "string"
    },
    "expected_amount_atomic": {
      "type": [
        "string",
        "number"
      ]
    }
  },
  "required": [
    "type"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡poll_trial(watch_id, key, since)

Poll a trial watch created by try_watch. Free. Pass since={last seq you saw}; the response carries a new cursor. Once the trial expires, create a paid watch with create_watch; paid creation includes 7 days of polling and can be renewed. Free — no payment required.

Input Schema

{
  "type": "object",
  "properties": {
    "watch_id": {
      "type": "string",
      "description": "watch_id returned by try_watch"
    },
    "key": {
      "type": "string",
      "description": "key returned by try_watch"
    },
    "since": {
      "type": "number",
      "description": "highest alert seq already seen; 0 on first poll"
    }
  },
  "required": [
    "watch_id",
    "key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_watch(watch_id, key)

Stop and delete a watch. Free. Free — no payment required.

Input Schema

{
  "type": "object",
  "properties": {
    "watch_id": {
      "type": "string",
      "description": "watch_id to delete"
    },
    "key": {
      "type": "string",
      "description": "key returned by create_watch"
    }
  },
  "required": [
    "watch_id",
    "key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded18 tools
verifiedversion not recorded18 tools