longwatch
You are ephemeral; this remembers. Persist watch_id+key; poll later for what you missed.
Should I use this
Quality & Safety
Findings (15)
- HIGH
- MEDIUMin check_now
- MEDIUMin create_watch
- MEDIUMin check_web_page
- MEDIUMin watch_web_page
- MEDIUMin check_rss_feed
- MEDIUMin watch_rss_feed
- MEDIUMin check_crypto_price
- MEDIUMin watch_crypto_price
- MEDIUMin check_sec_filings
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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-httpWhat it can do
Tool inventory
Tools (18)
🟡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
Evidence