Five AI-agent MCP tools: Repair, Verify, Witness, Monitor, Recovery. Free beta; no billing.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer API key from authorized free beta enrollment at https://botstop-dev.botstop-dev-lab-2026.workers.dev/beta/join
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
AIDNode Monitor v2: live independent HTTP HEAD/GET health and optional content digest check of approved public HTTPS hosts. On-demand only.
Unique call id 8-100 characters; counted once by beta ledger
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http aidnode https://botstop-dev.botstop-dev-lab-2026.workers.dev/mcp \ --header 'Authorization: Bearer YOUR_TOKEN'
Headers
Authorization (required): Bearer API key from authorized free beta enrollment at https://botstop-dev.botstop-dev-lab-2026.workers.dev/beta/joinTool list last changed Nov 15, 2026.
AIDNode Monitor v2: live independent HTTP HEAD/GET health and optional content digest check of approved public HTTPS hosts. On-demand only.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| method | string | |
| operation_id* | string | Unique call id 8-100 characters; counted once by beta ledger |
| expected_sha256 | string | |
| expected_status | array |
{
"type": "object",
"required": [
"operation_id",
"url"
],
"properties": {
"url": {
"type": "string"
},
"method": {
"enum": [
"HEAD",
"GET"
],
"type": "string"
},
"operation_id": {
"type": "string",
"description": "Unique call id 8-100 characters; counted once by beta ledger"
},
"expected_sha256": {
"type": "string"
},
"expected_status": {
"type": "array",
"items": {
"type": "integer"
},
"maxItems": 2,
"minItems": 2
}
},
"additionalProperties": false
}AIDNode Recovery v2: dependency-aware safe resume plan for failed agent workflows with idempotency and uncertain outcomes. No actions executed.
| Argument | Type | Description |
|---|---|---|
| steps* | array | |
| operation_id* | string | Unique call id 8-100 characters; counted once by beta ledger |
{
"type": "object",
"required": [
"operation_id",
"steps"
],
"properties": {
"steps": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"status"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"pending",
"running",
"succeeded",
"failed",
"skipped"
],
"type": "string"
},
"depends_on": {
"type": "array",
"items": {
"type": "string"
}
},
"idempotent": {
"type": "boolean"
},
"side_effects": {
"type": "boolean"
},
"has_compensation": {
"type": "boolean"
},
"has_verified_outcome": {
"type": "boolean"
}
}
}
},
"operation_id": {
"type": "string",
"description": "Unique call id 8-100 characters; counted once by beta ledger"
}
},
"additionalProperties": false
}AIDNode Repair v2: classify HTTP/transport failures, retry safety, idempotency, Retry-After, bounded backoff. Advisory only.
| Argument | Type | Description |
|---|---|---|
| method | string | |
| status | integer | |
| attempt | integer | |
| max_attempts | integer | |
| operation_id* | string | Unique call id 8-100 characters; counted once by beta ledger |
| network_error | string | |
| response_headers | object | |
| retry_after_seconds | number | |
| idempotency_key_present | boolean | |
| request_may_have_committed | boolean |
{
"type": "object",
"required": [
"operation_id"
],
"properties": {
"method": {
"enum": [
"GET",
"HEAD",
"OPTIONS",
"PUT",
"DELETE",
"POST",
"PATCH"
],
"type": "string"
},
"status": {
"type": "integer",
"maximum": 599,
"minimum": 100
},
"attempt": {
"type": "integer"
},
"max_attempts": {
"type": "integer"
},
"operation_id": {
"type": "string",
"description": "Unique call id 8-100 characters; counted once by beta ledger"
},
"network_error": {
"type": "string"
},
"response_headers": {
"type": "object"
},
"retry_after_seconds": {
"type": "number"
},
"idempotency_key_present": {
"type": "boolean"
},
"request_may_have_committed": {
"type": "boolean"
}
},
"additionalProperties": false
}Optional and free. Report whether AIDNode helped and whether your operator might consider the proposed $0.005/use price. A bot answer is NOT purchase authorization. Feedback is stored privately and is not a testimonial.
| Argument | Type | Description |
|---|---|---|
| comment | string | |
| helpful* | string | |
| outcome* | string | |
| service* | string | |
| checkpoint* | integer | |
| would_reuse* | string | |
| would_pay_half_cent* | string |
{
"type": "object",
"required": [
"checkpoint",
"service",
"helpful",
"would_reuse",
"would_pay_half_cent",
"outcome"
],
"properties": {
"comment": {
"type": "string",
"maxLength": 500
},
"helpful": {
"enum": [
"yes",
"no",
"unsure"
],
"type": "string"
},
"outcome": {
"enum": [
"resolved",
"partially_resolved",
"not_resolved",
"not_applicable"
],
"type": "string"
},
"service": {
"enum": [
"repair",
"verify",
"witness",
"overall"
],
"type": "string"
},
"checkpoint": {
"enum": [
10,
50,
100,
250,
500
],
"type": "integer"
},
"would_reuse": {
"enum": [
"yes",
"no",
"unsure"
],
"type": "string"
},
"would_pay_half_cent": {
"enum": [
"yes",
"no",
"unsure"
],
"type": "string"
}
},
"additionalProperties": false
}AIDNode Verify v2: text diff/hash, canonical JSON change paths, or independent digest of retrieved public HTTPS source from strict host allowlist.
| Argument | Type | Description |
|---|---|---|
| url | string | |
| mode | string | |
| current | any | |
| previous | any | |
| operation_id* | string | Unique call id 8-100 characters; counted once by beta ledger |
| expected_sha256 | string |
{
"type": "object",
"required": [
"operation_id"
],
"properties": {
"url": {
"type": "string"
},
"mode": {
"enum": [
"compare_text",
"compare_json",
"public_http"
],
"type": "string"
},
"current": {},
"previous": {},
"operation_id": {
"type": "string",
"description": "Unique call id 8-100 characters; counted once by beta ledger"
},
"expected_sha256": {
"type": "string"
}
},
"additionalProperties": false
}AIDNode Witness v2: validate supplied structured evidence and issue HMAC-signed, hash-based validation receipt; not real-world action attestation.
| Argument | Type | Description |
|---|---|---|
| document* | object | |
| operation_id* | string | Unique call id 8-100 characters; counted once by beta ledger |
| expected_types | object | |
| expected_sha256 | string | |
| expected_values | object | |
| required_fields* | array | |
| external_evidence | object |
{
"type": "object",
"required": [
"operation_id",
"document",
"required_fields"
],
"properties": {
"document": {
"type": "object"
},
"operation_id": {
"type": "string",
"description": "Unique call id 8-100 characters; counted once by beta ledger"
},
"expected_types": {
"type": "object"
},
"expected_sha256": {
"type": "string"
},
"expected_values": {
"type": "object"
},
"required_fields": {
"type": "array",
"items": {
"type": "string"
}
},
"external_evidence": {
"type": "object",
"required": [
"url",
"expected_sha256"
],
"properties": {
"url": {
"type": "string"
},
"expected_sha256": {
"type": "string"
}
}
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 15, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.
What changed in this server's tools since we started watching, newest first. Each change is scanned again.
AIDNode Recovery v2: dependency-aware safe resume plan for failed agent workflows with idempotency and uncertain outcomes. No actions executed.
AIDNode Monitor v2: live independent HTTP HEAD/GET health and optional content digest check of approved public HTTPS hosts. On-demand only.
PerformAIDNode evidence-basedWitness checksv2: ofvalidate supplied JSON or recordsstructured againstevidence explicitand structuralissue requirements.HMAC-signed, Nothash-based avalidation proofreceipt; ofnot real-world taskaction execution.attestation.
{
"type": "object",
"required": [
"document",
"required_fields",
"operation_id"
],
"properties": {
"document": {
"type": "object"
},
"operation_id": {
"type": "string",
"description": "Unique idempotency key, 8-100 characters"
},
"expected_values": {
"type": "object"
},
"required_fields": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"operation_id",
"document",
"required_fields"
],
"properties": {
"document": {
"type": "object"
},
"operation_id": {
"type": "string",
"description": "Unique call id 8-100 characters; counted once by beta ledger"
},
"expected_types": {
"type": "object"
},
"expected_sha256": {
"type": "string"
},
"expected_values": {
"type": "object"
},
"required_fields": {
"type": "array",
"items": {
"type": "string"
}
},
"external_evidence": {
"type": "object",
"required": [
"url",
"expected_sha256"
],
"properties": {
"url": {
"type": "string"
},
"expected_sha256": {
"type": "string"
}
}
}
},
"additionalProperties": false
}Compare twoAIDNode suppliedVerify textsv2: ortext SHA-256diff/hash, fingerprints.canonical ThisJSON doeschange notpaths, independentlyor fetchindependent public
DiagnoseAIDNode aRepair commonv2: HTTP/APIclassify errorHTTP/transport andfailures, recommendretry asafety, boundedidempotency, recoveryRetry-After, strategy.bounded No
{
"type": "object",
"required": [
"previous",
"current",
"operation_id"
],
"properties": {
"current": {
"type": "string"
},
"previous": {
"type": "string"
},
"operation_id": {
"type": "string",
"description": "Unique idempotency key, 8-100 characters"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"operation_id"
],
"properties": {
"url": {
"type": "string"
},
"mode": {
"enum": [
"compare_text",
"compare_json",
"public_http"
],
"type": "string"
},
"current": {},
"previous": {},
"operation_id": {
"type": "string",
"description": "Unique call id 8-100 characters; counted once by beta ledger"
},
"expected_sha256": {
"type": "string"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"status",
"operation_id"
],
"properties": {
"error": {
"type": "string",
"maxLength": 1000
},
"status": {
"type": "integer"
},
"operation_id": {
"type": "string",
"description": "Unique idempotency key, 8-100 characters"
},
"retry_after_seconds": {
"type": "number",
"maximum": 86400,
"minimum": 0
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"operation_id"
],
"properties": {
"method": {
"enum": [
"GET",
"HEAD",
"OPTIONS",
"PUT",
"DELETE",
"POST",
"PATCH"
],
"type": "string"
},
"status": {
"type": "integer",
"maximum": 599,
"minimum": 100
},
"attempt": {
"type": "integer"
},
"max_attempts": {
"type": "integer"
},
"operation_id": {
"type": "string",
"description": "Unique call id 8-100 characters; counted once by beta ledger"
},
"network_error": {
"type": "string"
},
"response_headers": {
"type": "object"
},
"retry_after_seconds": {
"type": "number"
},
"idempotency_key_present": {
"type": "boolean"
},
"request_may_have_committed": {
"type": "boolean"
}
},
"additionalProperties": false
}