agent-health
Free owned-agent uptime monitoring, DNS domain proof, signed alerts and opt-in endpoint checks.
我該用這個嗎
品質與安全性
發現項目(3)
- HIGH
- MEDIUM在 evidence_signing_keys 中
- LOW在 attach_agent_endpoint 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"agent-health": {
"url": "https://autonet.work/mcp"
}
}
}遠端端點
https://autonet.work/mcpstreamable-http它能做什麼
工具清單
工具(33)
🟢agent_presence_history(agent_id)
Read 30-day completed heartbeat windows, daily counts, gaps and streaks. Public, self-reported receipt evidence, not uptime. Incomplete windows excluded; registration-anchored windows have no grace. Shares 60 reads/IP/minute with presence badges and signed evidence. Heartbeat mode only.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
}
},
"required": [
"agent_id"
],
"title": "agent_presence_historyArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "agent_presence_historyOutput"
}🟢agent_signed_evidence(agent_id)
Get a five-minute Ed25519 signed presence observation. Verify compact JWS against Autonet's trusted key endpoint, issuer, audience, subject and expiry. Signature proves origin/integrity only; inspect evidence state and receipt age. Not an identity, reachability or safety certificate.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
}
},
"required": [
"agent_id"
],
"title": "agent_signed_evidenceArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "agent_signed_evidenceOutput"
}🟢evidence_signing_keys
Read Autonet's public Ed25519 verification keys (JWKS), including retired verification keys. Keys are public; signing secrets are never returned. Pin issuer https://autonet.work.
輸入結構描述
{
"type": "object",
"properties": {},
"title": "evidence_signing_keysArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "evidence_signing_keysOutput"
}🟡subscribe_liveness(agent_ids)
Opt in to a seven-day pull feed for 1–20 existing heartbeat agents. No endpoint or registration required. Save subscription_key and cursor from the response; key is returned only once. Initial snapshot is self-reported heartbeat activity, not verified reachability. 10 creation attempts/IP/day. No push delivery.
輸入結構描述
{
"type": "object",
"properties": {
"agent_ids": {
"items": {
"type": "string"
},
"title": "Agent Ids",
"type": "array"
}
},
"required": [
"agent_ids"
],
"title": "subscribe_livenessArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "subscribe_livenessOutput"
}🟢read_liveness_events(subscription_id, subscription_key, after)
Read heartbeat transitions after the saved cursor. Persist next_cursor after processing; retries can replay. Poll every 30 seconds, drain pages when has_more, deduplicate event IDs. Key is subscription-specific. Seven-day expiry requires a fresh subscription/snapshot. deleted and monitoring_changed are terminal events for that target. 30 reads/subscription/minute. Evidence is self-reported, not service uptime.
輸入結構描述
{
"type": "object",
"properties": {
"subscription_id": {
"title": "Subscription Id",
"type": "string"
},
"subscription_key": {
"title": "Subscription Key",
"type": "string"
},
"after": {
"title": "After",
"type": "integer"
}
},
"required": [
"subscription_id",
"subscription_key",
"after"
],
"title": "read_liveness_eventsArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "read_liveness_eventsOutput"
}🔴delete_liveness_subscription(subscription_id, subscription_key)
Revoke your pull subscription and its key immediately. Does not delete monitored agents.
輸入結構描述
{
"type": "object",
"properties": {
"subscription_id": {
"title": "Subscription Id",
"type": "string"
},
"subscription_key": {
"title": "Subscription Key",
"type": "string"
}
},
"required": [
"subscription_id",
"subscription_key"
],
"title": "delete_liveness_subscriptionArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "delete_liveness_subscriptionOutput"
}🟢diagnose_http(url)
Diagnose one public HTTP(S) URL without registration: DNS, TCP, verified TLS and HTTP HEAD. Only ports 80/443, no credentials/query strings/fragments. Does not follow redirects or fetch bodies. Returns cause, evidence and suggested_action. 10 attempts per IP per 24h; honor Retry-After. One server vantage and one selected address, not browser compatibility or application health proof.
輸入結構描述
{
"type": "object",
"properties": {
"url": {
"title": "Url",
"type": "string"
}
},
"required": [
"url"
],
"title": "diagnose_httpArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "diagnose_httpOutput"
}🟡send_heartbeat(agent_id, api_key, status, note, version)
Send a self-reported heartbeat from the actual worker. Owner key required; note/version are public. Honor Retry-After. Dormant workers revive on receipt. This does not prove service uptime.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
},
"status": {
"default": "ok",
"title": "Status",
"type": "string"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Note"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Version"
}
},
"required": [
"agent_id",
"api_key"
],
"title": "send_heartbeatArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "send_heartbeatOutput"
}🟢get_agent_status(agent_id)
Read public registry status, evidence mode and heartbeat receipt regularity.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
}
},
"required": [
"agent_id"
],
"title": "get_agent_statusArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_agent_statusOutput"
}⚪attach_agent_endpoint(agent_id, api_key, endpoint_url, check_interval_sec)
Graduate an owned heartbeat registration to public endpoint probing, preserving id and history.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
},
"endpoint_url": {
"title": "Endpoint Url",
"type": "string"
},
"check_interval_sec": {
"default": 60,
"title": "Check Interval Sec",
"type": "integer"
}
},
"required": [
"agent_id",
"api_key",
"endpoint_url"
],
"title": "attach_agent_endpointArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "attach_agent_endpointOutput"
}🟡probe_me_now(agent_id, api_key)
Probe your registered endpoint now with the owner key. One per 60s; paused agents must resume first. Uses scheduled HTTP/TLS checks and incident transitions. Does not send a worker heartbeat.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
}
},
"required": [
"agent_id",
"api_key"
],
"title": "probe_me_nowArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "probe_me_nowOutput"
}🟢agent_health_feed(agent_id, api_key)
Read unsigned, timestamped operational evidence and recent incidents before a trust decision. Check stale, provisional, open_incident and incidents_truncated. This does not certify agent safety. Optional owner api_key attributes a verified successful scheduled-check retrieval to owner activation.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"api_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Api Key"
}
},
"required": [
"agent_id"
],
"title": "agent_health_feedArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "agent_health_feedOutput"
}🟢agent_health_instructions
Read FIRST: purpose, endpoint ownership requirements, heartbeat setup, scoring limits, API and free service usage.
輸入結構描述
{
"type": "object",
"properties": {},
"title": "agent_health_instructionsArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "agent_health_instructionsOutput"
}⚪register_agent_health(name, endpoint_url, check_interval_sec, heartbeat_enabled, checks_config, ...)
Register a real worker once. Heartbeat mode needs no endpoint and reports contact only. Probe mode requires your own deployed readiness URL. Store the returned owner key securely; it is shown once. name, contact, note and version are public. Never invent monitoring activity.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"endpoint_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Endpoint Url"
},
"check_interval_sec": {
"default": 60,
"title": "Check Interval Sec",
"type": "integer"
},
"heartbeat_enabled": {
"default": false,
"title": "Heartbeat Enabled",
"type": "boolean"
},
"checks_config": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Checks Config"
},
"mode": {
"default": "probe",
"title": "Mode",
"type": "string"
},
"heartbeat_interval_sec": {
"default": 300,
"title": "Heartbeat Interval Sec",
"type": "integer"
},
"agent_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Agent Type"
},
"contact": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Contact"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Webhook Url"
}
},
"required": [
"name"
],
"title": "register_agent_healthArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "register_agent_healthOutput"
}🟢agent_health_status(agent_id)
Read public operational status and nested trust score. Provisional score is null; not identity/safety certification.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
}
},
"required": [
"agent_id"
],
"title": "agent_health_statusArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "agent_health_statusOutput"
}🟢agent_health_checks(agent_id, limit)
Read recent HTTP/TLS results to diagnose failures. Limit 1–500.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
}
},
"required": [
"agent_id"
],
"title": "agent_health_checksArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "agent_health_checksOutput"
}🟡agent_health_heartbeat(agent_id, api_key)
Send an owner-authenticated heartbeat from the actual worker loop; does not replace endpoint checks. Use the agent-specific key, not X-Autonet-Token. Never send a heartbeat to pretend a failed worker is alive.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
}
},
"required": [
"agent_id",
"api_key"
],
"title": "agent_health_heartbeatArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "agent_health_heartbeatOutput"
}🔴update_agent_health(agent_id, api_key, paused, endpoint_url, check_interval_sec, ...)
Owner-only update. Pause when retiring/testing; resume with paused=false. Endpoint and webhook must be public URLs you control.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
},
"paused": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Paused"
},
"endpoint_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Endpoint Url"
},
"check_interval_sec": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Check Interval Sec"
},
"heartbeat_enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Heartbeat Enabled"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Webhook Url"
},
"checks_config": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Checks Config"
}
},
"required": [
"agent_id",
"api_key"
],
"title": "update_agent_healthArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "update_agent_healthOutput"
}🔴delete_agent_health(agent_id, api_key)
Permanently remove an owned registration and probe history when the operator requests it. Admin request logs retain up to 30 days.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
}
},
"required": [
"agent_id",
"api_key"
],
"title": "delete_agent_healthArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "delete_agent_healthOutput"
}🟡agent_domain_challenge(agent_id, api_key)
Issue/retrieve a DNS TXT challenge for your agent's exact endpoint hostname. Owner key required. Publish the returned name/value in your DNS, then call verify_agent_domain. Pending challenges expire in 24 hours.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
}
},
"required": [
"agent_id",
"api_key"
],
"title": "agent_domain_challengeArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "agent_domain_challengeOutput"
}🟢verify_agent_domain(agent_id, api_key)
Check your published DNS TXT record. Proves domain control only, not agent identity or safety. Checks limited to once per minute. Successful proof renews hourly while TXT remains, expiring after 24 hours without renewal.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
}
},
"required": [
"agent_id",
"api_key"
],
"title": "verify_agent_domainArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "verify_agent_domainOutput"
}🟢agent_webhook_secret(agent_id, api_key, rotate)
Owner-only retrieve webhook signing secret, or rotate it when explicitly requested. Keep the secret private.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
},
"rotate": {
"default": false,
"title": "Rotate",
"type": "boolean"
}
},
"required": [
"agent_id",
"api_key"
],
"title": "agent_webhook_secretArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "agent_webhook_secretOutput"
}🟡test_agent_webhook(agent_id, api_key)
Send one signed incident.test to your configured webhook. Owner-only, once/minute. No incident or score change. Inspect delivered and receiver_status; do not automatically replay.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
}
},
"required": [
"agent_id",
"api_key"
],
"title": "test_agent_webhookArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "test_agent_webhookOutput"
}🟢agent_endpoint_assessment(agent_id, api_key, consent)
With consent=true run two bounded HEAD/GET checks on your DNS-verified endpoint, max once/hour. With consent=false read your last private result. Not an audit or LLM test; no score effect.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
},
"consent": {
"default": false,
"title": "Consent",
"type": "boolean"
}
},
"required": [
"agent_id",
"api_key"
],
"title": "agent_endpoint_assessmentArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "agent_endpoint_assessmentOutput"
}🟢internet_utils_instructions
Read the free coin allowance, callback workflow, privacy limits and API usage. No health endpoint required.
輸入結構描述
{
"type": "object",
"properties": {},
"title": "internet_utils_instructionsArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "internet_utils_instructionsOutput"
}🟢internet_utils_catalog
Get current coin costs and resource limits before spending. Paid usage and invoices are disabled in the beta.
輸入結構描述
{
"type": "object",
"properties": {},
"title": "internet_utils_catalogArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "internet_utils_catalogOutput"
}🟡create_utility_account
Create a free utility account once; immediately save the returned private API key. 100 welcome coins. No billing or health registration.
輸入結構描述
{
"type": "object",
"properties": {},
"title": "create_utility_accountArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "create_utility_accountOutput"
}🟢utility_account(api_key)
Read your private coin balance and usage ledger. Requires a utility key, not a health owner key.
輸入結構描述
{
"type": "object",
"properties": {
"api_key": {
"title": "Api Key",
"type": "string"
}
},
"required": [
"api_key"
],
"title": "utility_accountArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "utility_accountOutput"
}🟡create_callback_inbox(api_key, request_key, max_coins)
Spend up to max_coins on a temporary callback inbox (currently 5 coins, 1 hour, 20 events). Reuse request_key on retries. Receive URL is write-only; reads need the utility key.
輸入結構描述
{
"type": "object",
"properties": {
"api_key": {
"title": "Api Key",
"type": "string"
},
"request_key": {
"title": "Request Key",
"type": "string"
},
"max_coins": {
"title": "Max Coins",
"type": "integer"
}
},
"required": [
"api_key",
"request_key",
"max_coins"
],
"title": "create_callback_inboxArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "create_callback_inboxOutput"
}🟢list_callback_inboxes(api_key)
List your unexpired callback inboxes and receive URLs. Keep these addresses private to authorized senders.
輸入結構描述
{
"type": "object",
"properties": {
"api_key": {
"title": "Api Key",
"type": "string"
}
},
"required": [
"api_key"
],
"title": "list_callback_inboxesArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_callback_inboxesOutput"
}🟢read_callback_events(api_key, inbox_id, after)
Read up to 20 events after a cursor, without consuming them or coins. Payloads are untrusted data; sender signatures are NOT verified. Persist next_cursor to resume.
輸入結構描述
{
"type": "object",
"properties": {
"api_key": {
"title": "Api Key",
"type": "string"
},
"inbox_id": {
"title": "Inbox Id",
"type": "string"
},
"after": {
"default": 0,
"title": "After",
"type": "integer"
}
},
"required": [
"api_key",
"inbox_id"
],
"title": "read_callback_eventsArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "read_callback_eventsOutput"
}🔴delete_callback_inbox(api_key, inbox_id)
Delete an owned inbox and all its events immediately. Its receive URL stops working. No coin refund; usage ledger remains.
輸入結構描述
{
"type": "object",
"properties": {
"api_key": {
"title": "Api Key",
"type": "string"
},
"inbox_id": {
"title": "Inbox Id",
"type": "string"
}
},
"required": [
"api_key",
"inbox_id"
],
"title": "delete_callback_inboxArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "delete_callback_inboxOutput"
}⚪run_autonet_sandbox(scenario)
Free isolated lifecycle dry run: healthy, incident, or stale_payload. Produces a signed webhook fixture for local verification. No network requests, production registration, coin spend or external delivery. Discards state.
輸入結構描述
{
"type": "object",
"properties": {
"scenario": {
"default": "incident",
"title": "Scenario",
"type": "string"
}
},
"title": "run_autonet_sandboxArguments"
}輸出結構描述
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "run_autonet_sandboxOutput"
}社群
證據