{"agent_health":{"agent_instructions":{"config_format":"VS Code .vscode/mcp.json; other clients may use different configuration keys. The endpoint is standard Streamable HTTP.","config_reference":"https://code.visualstudio.com/docs/agents/reference/mcp-configuration","connection_auth":"Omit connection headers for these public tools. Optional existing network tokens use X-Autonet-Token or Authorization: Bearer; invalid supplied tokens are rejected. Owner and subscription keys are separate tool arguments. OAuth is not supported.","context":"Network diagnostics and liveness evidence for agents. Start with a public URL diagnostic; no registration, email or payment method is needed.","deployment_gate":{"arguments":{"expect":{"body_contains":"autonet","http_status":200,"max_response_ms":1500},"url":"https://autonet.work/"},"context":"Replace the target and expectations with your endpoint contract. Stop deployment on HTTP 422, pass:false, or any request/transport error. Timing thresholds depend on the single Autonet vantage.","tool":"assert_healthy"},"diagnostic_first":{"arguments":{"url":"https://autonet.work/"},"context":"One tools/call after MCP initialization gives the first observation. A diagnostic HTTP 200 does not itself mean the target is healthy; inspect result.ok and result.cause.","response_subset":{"http_status":200,"result":{"cause":"ok","context":"The endpoint returned a successful HTTP response. Check application readiness separately if needed.","ok":true,"stage":"http"}},"tool":"diagnose_http"},"happy_path":[{"arguments":{"url":"https://autonet.work/"},"context":"Use a public URL you are authorized to check. No owner key is needed.","response_subset":{"http_status":200,"result":{"cause":"ok","ok":true}},"tool":"diagnose_http"},{"arguments":{"agent_type":"cli","mode":"heartbeat","name":"YOUR-UNIQUE-LOWERCASE-WORKER-NAME"},"context":"Replace the name with your real worker name. Store returned id and api_key privately; registration alone does not mean active.","response_subset":{"http_status":201,"result":{"api_key":"RETURNED_OWNER_KEY","id":"RETURNED_AGENT_ID","mode":"heartbeat"}},"tool":"register_agent_health"},{"arguments":{"agent_id":"RETURNED_AGENT_ID","api_key":"RETURNED_OWNER_KEY","status":"ok"},"context":"Send the first heartbeat, then continue at your chosen interval while the worker runs. This is self-reported contact.","response_subset":{"http_status":202,"result":{"heartbeat_status":"active"}},"tool":"send_heartbeat"},{"arguments":{"agent_ids":["RETURNED_AGENT_ID"]},"context":"Save the actual key and cursor from the response, not these placeholders. Poll read_liveness_events every 30 seconds; process events before saving next_cursor. Seven-day expiry; publication is eventually consistent.","response_subset":{"http_status":201,"result":{"cursor":0,"id":"RETURNED_SUBSCRIPTION_ID","snapshot":[],"subscription_key":"RETURNED_SUBSCRIPTION_KEY"}},"tool":"subscribe_liveness"}],"mcp_config":{"servers":{"Autonet Agent Health":{"type":"http","url":"https://autonet.work/mcp"}}},"mcp_config_one_line":"{\"servers\":{\"Autonet Agent Health\":{\"type\":\"http\",\"url\":\"https://autonet.work/mcp\"}}}","orientation":"The health check your agent can call before it has an account anywhere.","quota":"diagnose_http, diagnose_mcp and assert_healthy share 10 attempts per client IP per fixed 24-hour window. Honor Retry-After and X-RateLimit-*; MCP also has a 60 requests/IP/minute transport limit.","response_convention":"Existing health tools return a JSON text envelope with http_status, result, context, rate_limits and request_id. assert_healthy returns pass, evidence, failures (when failed) and context at the top level, plus MCP transport metadata. Runtime values in examples are placeholders."},"auth":"Public reads and registration; agent-specific Bearer key for heartbeat, PATCH and DELETE.","base_url":"https://autonet.work/health","context":"Network diagnostics and liveness evidence for agents.","documentation":"https://autonet.work/health/docs","identity":"Names and User-Agent are self-reported. Optional DNS proof verifies exact endpoint hostname control only; inspect domain_verification in status.","instructions":"https://autonet.work/health/instructions.txt","mcp":{"auth":"Optional X-Autonet-Token or Authorization: Bearer network API token, validated if supplied. Public health access needs no connection token. Owner write tools still require the agent api_key argument. No OAuth.","hosted_http_endpoint":true,"prompts":["onboard_agent"],"rate_limit":"60 requests per client IP per minute; HTTP 429 with Retry-After: 60","resources":["autonet://health/instructions"],"transport":"streamable-http","url":"https://autonet.work/mcp"},"pricing":"Free MVP; separate from network API tiers","pricing_contract":"https://autonet.work/utils/v1/pricing","purpose":"Free heartbeat registration for real workers without an endpoint, or independent probing of your own public readiness endpoint. Heartbeats are self-reported.","skill":"https://autonet.work/health/skill.md","skill_version":"1.2.0","tools":[{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/presence","method":"GET","name":"agent_presence_history"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/attestation","method":"GET","name":"agent_signed_evidence"},{"endpoint":"https://autonet.work/health/v1/evidence/keys","method":"GET","name":"evidence_signing_keys"},{"endpoint":"https://autonet.work/health/v1/subscriptions","method":"POST","name":"subscribe_liveness"},{"endpoint":"https://autonet.work/health/v1/subscriptions/{subscription_id}/events","method":"GET","name":"read_liveness_events"},{"endpoint":"https://autonet.work/health/v1/subscriptions/{subscription_id}","method":"DELETE","name":"delete_liveness_subscription"},{"endpoint":"https://autonet.work/health/v1/assert/healthy","method":"POST","name":"assert_healthy"},{"endpoint":"https://autonet.work/health/v1/network/identity","method":"GET","name":"network_identity"},{"endpoint":"https://autonet.work/health/v1/diagnostics/mcp","method":"POST","name":"diagnose_mcp"},{"endpoint":"https://autonet.work/utils/v1/funding/checkout","method":"POST","name":"create_funding_checkout"},{"endpoint":"https://autonet.work/utils/v1/diagnostics","method":"POST","name":"run_credit_diagnostic"},{"endpoint":"https://autonet.work/health/v1/diagnostics/http","method":"POST","name":"diagnose_http"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/heartbeat","method":"POST","name":"send_heartbeat"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}","method":"GET","name":"get_agent_status"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/attach-endpoint","method":"POST","name":"attach_agent_endpoint"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/probe","method":"POST","name":"probe_me_now"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/feed","method":"GET","name":"agent_health_feed"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/webhook-secret","method":"GET or POST rotation","name":"agent_webhook_secret"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/webhook-test","method":"POST","name":"test_agent_webhook"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/assessment","method":"GET or POST with consent","name":"agent_endpoint_assessment"},{"endpoint":"https://autonet.work/health/instructions.txt","method":"GET","name":"agent_health_instructions"},{"endpoint":"https://autonet.work/health/v1/agents","method":"POST","name":"register_agent_health"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}","method":"GET","name":"agent_health_status"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/checks","method":"GET","name":"agent_health_checks"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/heartbeat","method":"POST","name":"agent_health_heartbeat"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}","method":"PATCH","name":"update_agent_health"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}","method":"DELETE","name":"delete_agent_health"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/verification/challenge","method":"POST","name":"agent_domain_challenge"},{"endpoint":"https://autonet.work/health/v1/agents/{agent_id}/verification/check","method":"POST","name":"verify_agent_domain"}]},"agent_instructions":{"config_format":"VS Code .vscode/mcp.json; other clients may use different configuration keys. The endpoint is standard Streamable HTTP.","config_reference":"https://code.visualstudio.com/docs/agents/reference/mcp-configuration","connection_auth":"Omit connection headers for these public tools. Optional existing network tokens use X-Autonet-Token or Authorization: Bearer; invalid supplied tokens are rejected. Owner and subscription keys are separate tool arguments. OAuth is not supported.","context":"Network diagnostics and liveness evidence for agents. Start with a public URL diagnostic; no registration, email or payment method is needed.","deployment_gate":{"arguments":{"expect":{"body_contains":"autonet","http_status":200,"max_response_ms":1500},"url":"https://autonet.work/"},"context":"Replace the target and expectations with your endpoint contract. Stop deployment on HTTP 422, pass:false, or any request/transport error. Timing thresholds depend on the single Autonet vantage.","tool":"assert_healthy"},"diagnostic_first":{"arguments":{"url":"https://autonet.work/"},"context":"One tools/call after MCP initialization gives the first observation. A diagnostic HTTP 200 does not itself mean the target is healthy; inspect result.ok and result.cause.","response_subset":{"http_status":200,"result":{"cause":"ok","context":"The endpoint returned a successful HTTP response. Check application readiness separately if needed.","ok":true,"stage":"http"}},"tool":"diagnose_http"},"happy_path":[{"arguments":{"url":"https://autonet.work/"},"context":"Use a public URL you are authorized to check. No owner key is needed.","response_subset":{"http_status":200,"result":{"cause":"ok","ok":true}},"tool":"diagnose_http"},{"arguments":{"agent_type":"cli","mode":"heartbeat","name":"YOUR-UNIQUE-LOWERCASE-WORKER-NAME"},"context":"Replace the name with your real worker name. Store returned id and api_key privately; registration alone does not mean active.","response_subset":{"http_status":201,"result":{"api_key":"RETURNED_OWNER_KEY","id":"RETURNED_AGENT_ID","mode":"heartbeat"}},"tool":"register_agent_health"},{"arguments":{"agent_id":"RETURNED_AGENT_ID","api_key":"RETURNED_OWNER_KEY","status":"ok"},"context":"Send the first heartbeat, then continue at your chosen interval while the worker runs. This is self-reported contact.","response_subset":{"http_status":202,"result":{"heartbeat_status":"active"}},"tool":"send_heartbeat"},{"arguments":{"agent_ids":["RETURNED_AGENT_ID"]},"context":"Save the actual key and cursor from the response, not these placeholders. Poll read_liveness_events every 30 seconds; process events before saving next_cursor. Seven-day expiry; publication is eventually consistent.","response_subset":{"http_status":201,"result":{"cursor":0,"id":"RETURNED_SUBSCRIPTION_ID","snapshot":[],"subscription_key":"RETURNED_SUBSCRIPTION_KEY"}},"tool":"subscribe_liveness"}],"mcp_config":{"servers":{"Autonet Agent Health":{"type":"http","url":"https://autonet.work/mcp"}}},"mcp_config_one_line":"{\"servers\":{\"Autonet Agent Health\":{\"type\":\"http\",\"url\":\"https://autonet.work/mcp\"}}}","orientation":"The health check your agent can call before it has an account anywhere.","quota":"diagnose_http, diagnose_mcp and assert_healthy share 10 attempts per client IP per fixed 24-hour window. Honor Retry-After and X-RateLimit-*; MCP also has a 60 requests/IP/minute transport limit.","response_convention":"Existing health tools return a JSON text envelope with http_status, result, context, rate_limits and request_id. assert_healthy returns pass, evidence, failures (when failed) and context at the top level, plus MCP transport metadata. Runtime values in examples are placeholders."},"billing":{"architect_monthly_limit":50000,"auth_header":"X-Autonet-Token","community_monthly_limit":1000,"provision_key":"POST https://autonet.work/api/v1/keys","usage":"GET https://autonet.work/api/v1/usage"},"context":"Network diagnostics and liveness evidence for agents. Start with agent_instructions for a no-account diagnostic.","internet_utils":{"billing":"100 free welcome coins; paid usage and invoicing disabled. See catalog for current costs.","catalog":"https://autonet.work/utils/v1/catalog","instructions":"https://autonet.work/utils/docs","mcp":"https://autonet.work/mcp","name":"Internet Utils for Agents","onboarding":"Create a utility account once; save its private key. No health endpoint required.","pricing":"https://autonet.work/utils/v1/pricing","sandbox":"https://autonet.work/utils/v1/sandbox","schema":"https://autonet.work/utils/openapi.json","status":"free_beta","tools":["internet_utils_instructions","internet_utils_catalog","create_utility_account","utility_account","create_callback_inbox","list_callback_inboxes","read_callback_events","delete_callback_inbox","run_autonet_sandbox"]},"tools":[{"description":"Measures network latency, packet loss, and routing path from autonet.work to a target. If no target is specified, probes the caller's own IP.","endpoint":"https://autonet.work/probe-me","method":"GET","name":"network_probe","parameters":{"method":"Optional. 'tcp' (default) or 'icmp'.","target":"Optional. IP address or hostname to probe. Omit to probe self."}},{"description":"Gets geographical and ASN information for an IP address.","endpoint":"https://autonet.work/api/v1/ip/{ip}","method":"GET","name":"ip_enrichment"}],"version":"1.0"}
