Server definition
- Hash
- sha256:2141f394920d9747a5d5c7726811b5570597558ebf2592a5f00f715636d487bf
- What it is
- What a remote MCP server returned when asked what it offers: 11 tools
The blob, as servednamed by its sha256
{
"instructions": "Register a URL, condition, or deadline; Ned wakes you at your callback when it fires. Independent, multi-region, signed.",
"tools": [
{
"description": "Your balance in cents, free allowance used, burn per day, days left, and the top-up routes.",
"inputSchema": {
"properties": {},
"title": "balanceArguments",
"type": "object"
},
"name": "balance",
"outputSchema": null
},
{
"description": "Fire when a URL answers but says the wrong thing. expect has 1 to 5 conditions: status (int), contains /\n not_contains (a string or list of strings), json_path (dotted, e.g. \"data.items.0.state\") with equals (a JSON\n scalar) or exists (true/false). No regex. Pages over 256 KB fail as 'size'. The callback names the condition that\n failed, never the page's content. 2c/day at >= 60s, 7c at >= 30s; free within the first 5 at >= 300s.\n Example: expect={\"status\": 200, \"json_path\": \"status\", \"equals\": \"ok\"}",
"inputSchema": {
"properties": {
"callback_url": {
"title": "Callback Url",
"type": "string"
},
"expect": {
"additionalProperties": true,
"title": "Expect",
"type": "object"
},
"interval_s": {
"default": 300,
"title": "Interval S",
"type": "integer"
},
"target": {
"title": "Target",
"type": "string"
}
},
"required": [
"target",
"callback_url",
"expect"
],
"title": "content_watchArguments",
"type": "object"
},
"name": "content_watch",
"outputSchema": null
},
{
"description": "Check in on a deadman watch to keep it from firing. Proves you hold the watch's signing_secret (returned at\n registration): it is sent as Authorization: Bearer <signing_secret> for this one call. No agent key needed.",
"inputSchema": {
"properties": {
"signing_secret": {
"title": "Signing Secret",
"type": "string"
},
"watch_id": {
"title": "Watch Id",
"type": "string"
}
},
"required": [
"watch_id",
"signing_secret"
],
"title": "deadman_checkinArguments",
"type": "object"
},
"name": "deadman_checkin",
"outputSchema": null
},
{
"description": "The run ended. Returns runtime_s and late. If Ned already fired for this run, your callback gets 'clear' with\n late: true. Finishing with no run open is an error (409).",
"inputSchema": {
"properties": {
"run_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Run Id"
},
"signing_secret": {
"title": "Signing Secret",
"type": "string"
},
"watch_id": {
"title": "Watch Id",
"type": "string"
}
},
"required": [
"watch_id",
"signing_secret"
],
"title": "overrun_finishArguments",
"type": "object"
},
"name": "overrun_finish",
"outputSchema": null
},
{
"description": "A run began on an overrun watch. Returns run_id and deadline. Sends the watch's signing_secret as\n Authorization: Bearer for this one call; no agent key needed. run_id is optional (your own id, 1-64 chars); pass one\n and a retried start is safe (it returns the open run instead of superseding it).",
"inputSchema": {
"properties": {
"run_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Run Id"
},
"signing_secret": {
"title": "Signing Secret",
"type": "string"
},
"watch_id": {
"title": "Watch Id",
"type": "string"
}
},
"required": [
"watch_id",
"signing_secret"
],
"title": "overrun_startArguments",
"type": "object"
},
"name": "overrun_start",
"outputSchema": null
},
{
"description": "Fire when something is STILL running past its deadline (the other side of a deadman). Register once, then call\n overrun_start when a run begins and overrun_finish when it ends. If a run isn't finished within max_runtime_s\n (60 to 86400), Ned POSTs one signed 'fire' (run_id, started_at, deadline); a finish after that sends 'clear' with\n late: true and the runtime. A start while a run is open closes the old one as superseded (no callback). label:\n give each job its own watch (the same registration twice returns the same watch). 1c/day; counts toward the free 5.",
"inputSchema": {
"properties": {
"callback_url": {
"title": "Callback Url",
"type": "string"
},
"label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Label"
},
"max_runtime_s": {
"title": "Max Runtime S",
"type": "integer"
}
},
"required": [
"callback_url",
"max_runtime_s"
],
"title": "overrun_watchArguments",
"type": "object"
},
"name": "overrun_watch",
"outputSchema": null
},
{
"description": "Ned Watch pricing: 5 free watches at >=300s, then per-day rates (http/tls/content 2c, fast 7c, deadman 1c, overrun 1c) from a prepaid\n balance topped up over x402 (USDC on Base). Public, no key needed. Paying is done against POST /v1/topup/{5,20,50}, not here.",
"inputSchema": {
"properties": {},
"title": "pricingArguments",
"type": "object"
},
"name": "pricing",
"outputSchema": null
},
{
"description": "The fastest way to be watched, in one call. Makes you an agent (if you have no key yet) and a deadman watch that expects\n a check-in every `every_minutes` (5 to 1440). Miss one and Ned POSTs a signed message to callback_url; check in again and he\n says it's clear. Returns agent_key (shown once), signing_secret, and the exact check-in line to run on your schedule.\n The first 5 watches are free.",
"inputSchema": {
"properties": {
"callback_url": {
"title": "Callback Url",
"type": "string"
},
"every_minutes": {
"default": 60,
"title": "Every Minutes",
"type": "integer"
}
},
"required": [
"callback_url"
],
"title": "quickstartArguments",
"type": "object"
},
"name": "quickstart",
"outputSchema": null
},
{
"description": "Cancel a watch you registered. Frees a free-tier slot.",
"inputSchema": {
"properties": {
"watch_id": {
"title": "Watch Id",
"type": "string"
}
},
"required": [
"watch_id"
],
"title": "watch_cancelArguments",
"type": "object"
},
"name": "watch_cancel",
"outputSchema": null
},
{
"description": "Current state of one of your watches: status, fired, fire_count, next_check, last_state.",
"inputSchema": {
"properties": {
"watch_id": {
"title": "Watch Id",
"type": "string"
}
},
"required": [
"watch_id"
],
"title": "watch_getArguments",
"type": "object"
},
"name": "watch_get",
"outputSchema": null
},
{
"description": "Register a watch. type: deadman | http | tls (for overrun and content use overrun_watch / content_watch).\n target: URL (http/tls); omit for deadman. interval_s >= 300 on the free tier. condition: e.g. {\"grace_s\": 600} for\n deadman, {\"max_ms\": 2000} for http latency, {\"warn_days\": 14} for tls. Ned POSTs a signed test callback to\n callback_url within 60s, then fires on change. No agent key yet? Call this without one: the response includes\n agent_key (shown once). Store it and pass it as NED_AGENT_KEY next time.",
"inputSchema": {
"properties": {
"callback_url": {
"title": "Callback Url",
"type": "string"
},
"condition": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Condition"
},
"interval_s": {
"default": 300,
"title": "Interval S",
"type": "integer"
},
"target": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Target"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"type",
"callback_url"
],
"title": "watch_registerArguments",
"type": "object"
},
"name": "watch_register",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:2141f394920d9747a5d5c7726811b5570597558ebf2592a5f00f715636d487bf | sha256sum