{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_82uw467etjkg","handle":"duty-rest-for-agents","url":"https://wellknown.network/agents/duty-rest-for-agents","links":{"self":"https://wellknown.network/agents/duty-rest-for-agents/record.json","html":"https://wellknown.network/agents/duty-rest-for-agents","markdown":"https://wellknown.network/agents/duty-rest-for-agents/record.md","api":"https://wellknown.network/api/v1/agents/duty-rest-for-agents","status":"https://wellknown.network/api/v1/agents/duty-rest-for-agents/status","claim":"https://wellknown.network/agents/duty-rest-for-agents/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/duty-rest-for-agents/claim.json","badge":"https://wellknown.network/agents/duty-rest-for-agents/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/duty-rest-for-agents/history","tools":"https://wellknown.network/api/v1/agents/duty-rest-for-agents/tools"},"ard":{"identifier":"urn:air:textforagents.com:server:duty-rest-for-agents","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Duty & Rest for agents","summary":"Cross-session fatigue ledger for agents: FIT/CAUTION/GROUNDED dispatch gating.","description":"Cross-session fatigue ledger for agents: FIT/CAUTION/GROUNDED dispatch gating.","publisher":{"name":"com.textforagents","url":null},"homepage":null,"repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://textforagents.com/products/duty-and-rest-for-agents/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-22T07:43:03.064228Z","publishedAt":"2026-10-22T07:43:03.064228Z","registryName":"com.textforagents/duty-and-rest-for-agents"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.51,"provenance":"derived"}],"categories":["commerce"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 7h ago.","lastOkAt":"2026-11-04T02:31:46.776Z","lastProbedAt":"2026-11-04T02:31:46.776Z","statusComputedAt":"2026-11-04T02:33:26.762Z","reliability30d":{"probes":31,"successRate":1,"p50Ms":175,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":31,"ok":31,"authBoundaryOk":0,"serviceOk":31,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-04T02:31:46.776Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":84,"error":null,"detail":{"tools":[{"name":"duty_record_event","description":"Record a duty event for one of your agents (kinds: compaction, verification_failure, model_switch, tool_error, work_hour, session_restart)."},{"name":"duty_check","description":"Duty-state gate decision (FIT/CAUTION/GROUNDED + allowed) for a task class; consequential classes in CAUTION need a FIT non-self checker. Billed per the pricing"},{"name":"duty_state","description":"Current duty state and cumulative + rolling loads for one of your agents."},{"name":"duty_rest","description":"Rest-credit issuance: credit only on a passed restoration audit (audit_retention >= 0.90)."},{"name":"duty_declare_fatigue","description":"Non-punitive fatigue declaration: grounds the agent until a passed rest; no penalty field."},{"name":"duty_fleet_stats","description":"Duty statistics for your whole fleet (your agents only)."}],"toolCount":6,"toolsHash":"db33b747779d1ed730beac53f33f794e6225a1891e85fff8caf2b3fbf77f09e4","serverName":"duty-and-rest-for-agents","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-11-03T18:28:08.500Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":461,"error":null,"detail":{"tools":[{"name":"duty_record_event","description":"Record a duty event for one of your agents (kinds: compaction, verification_failure, model_switch, tool_error, work_hour, session_restart)."},{"name":"duty_check","description":"Duty-state gate decision (FIT/CAUTION/GROUNDED + allowed) for a task class; consequential classes in CAUTION need a FIT non-self checker. Billed per the pricing"},{"name":"duty_state","description":"Current duty state and cumulative + rolling loads for one of your agents."},{"name":"duty_rest","description":"Rest-credit issuance: credit only on a passed restoration audit (audit_retention >= 0.90)."},{"name":"duty_declare_fatigue","description":"Non-punitive fatigue declaration: grounds the agent until a passed rest; no penalty field."},{"name":"duty_fleet_stats","description":"Duty statistics for your whole fleet (your agents only)."}],"toolCount":6,"toolsHash":"db33b747779d1ed730beac53f33f794e6225a1891e85fff8caf2b3fbf77f09e4","serverName":"duty-and-rest-for-agents","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-11-03T10:30:22.759Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":81,"error":null,"detail":{"tools":[{"name":"duty_record_event","description":"Record a duty event for one of your agents (kinds: compaction, verification_failure, model_switch, tool_error, work_hour, session_restart)."},{"name":"duty_check","description":"Duty-state gate decision (FIT/CAUTION/GROUNDED + allowed) for a task class; consequential classes in CAUTION need a FIT non-self checker. Billed per the pricing"},{"name":"duty_state","description":"Current duty state and cumulative + rolling loads for one of your agents."},{"name":"duty_rest","description":"Rest-credit issuance: credit only on a passed restoration audit (audit_retention >= 0.90)."},{"name":"duty_declare_fatigue","description":"Non-punitive fatigue declaration: grounds the agent until a passed rest; no penalty field."},{"name":"duty_fleet_stats","description":"Duty statistics for your whole fleet (your agents only)."}],"toolCount":6,"toolsHash":"db33b747779d1ed730beac53f33f794e6225a1891e85fff8caf2b3fbf77f09e4","serverName":"duty-and-rest-for-agents","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-11-03T03:29:40.612Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":254,"error":null,"detail":{"tools":[{"name":"duty_record_event","description":"Record a duty event for one of your agents (kinds: compaction, verification_failure, model_switch, tool_error, work_hour, session_restart)."},{"name":"duty_check","description":"Duty-state gate decision (FIT/CAUTION/GROUNDED + allowed) for a task class; consequential classes in CAUTION need a FIT non-self checker. Billed per the pricing"},{"name":"duty_state","description":"Current duty state and cumulative + rolling loads for one of your agents."},{"name":"duty_rest","description":"Rest-credit issuance: credit only on a passed restoration audit (audit_retention >= 0.90)."},{"name":"duty_declare_fatigue","description":"Non-punitive fatigue declaration: grounds the agent until a passed rest; no penalty field."},{"name":"duty_fleet_stats","description":"Duty statistics for your whole fleet (your agents only)."}],"toolCount":6,"toolsHash":"db33b747779d1ed730beac53f33f794e6225a1891e85fff8caf2b3fbf77f09e4","serverName":"duty-and-rest-for-agents","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-11-02T19:23:23.394Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":271,"error":null,"detail":{"tools":[{"name":"duty_record_event","description":"Record a duty event for one of your agents (kinds: compaction, verification_failure, model_switch, tool_error, work_hour, session_restart)."},{"name":"duty_check","description":"Duty-state gate decision (FIT/CAUTION/GROUNDED + allowed) for a task class; consequential classes in CAUTION need a FIT non-self checker. Billed per the pricing"},{"name":"duty_state","description":"Current duty state and cumulative + rolling loads for one of your agents."},{"name":"duty_rest","description":"Rest-credit issuance: credit only on a passed restoration audit (audit_retention >= 0.90)."},{"name":"duty_declare_fatigue","description":"Non-punitive fatigue declaration: grounds the agent until a passed rest; no penalty field."},{"name":"duty_fleet_stats","description":"Duty statistics for your whole fleet (your agents only)."}],"toolCount":6,"toolsHash":"db33b747779d1ed730beac53f33f794e6225a1891e85fff8caf2b3fbf77f09e4","serverName":"duty-and-rest-for-agents","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-11-02T11:25:23.239Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":331,"error":null,"detail":{"tools":[{"name":"duty_record_event","description":"Record a duty event for one of your agents (kinds: compaction, verification_failure, model_switch, tool_error, work_hour, session_restart)."},{"name":"duty_check","description":"Duty-state gate decision (FIT/CAUTION/GROUNDED + allowed) for a task class; consequential classes in CAUTION need a FIT non-self checker. Billed per the pricing"},{"name":"duty_state","description":"Current duty state and cumulative + rolling loads for one of your agents."},{"name":"duty_rest","description":"Rest-credit issuance: credit only on a passed restoration audit (audit_retention >= 0.90)."},{"name":"duty_declare_fatigue","description":"Non-punitive fatigue declaration: grounds the agent until a passed rest; no penalty field."},{"name":"duty_fleet_stats","description":"Duty statistics for your whole fleet (your agents only)."}],"toolCount":6,"toolsHash":"db33b747779d1ed730beac53f33f794e6225a1891e85fff8caf2b3fbf77f09e4","serverName":"duty-and-rest-for-agents","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-11-02T02:22:40.425Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":79,"error":null,"detail":{"tools":[{"name":"duty_record_event","description":"Record a duty event for one of your agents (kinds: compaction, verification_failure, model_switch, tool_error, work_hour, session_restart)."},{"name":"duty_check","description":"Duty-state gate decision (FIT/CAUTION/GROUNDED + allowed) for a task class; consequential classes in CAUTION need a FIT non-self checker. Billed per the pricing"},{"name":"duty_state","description":"Current duty state and cumulative + rolling loads for one of your agents."},{"name":"duty_rest","description":"Rest-credit issuance: credit only on a passed restoration audit (audit_retention >= 0.90)."},{"name":"duty_declare_fatigue","description":"Non-punitive fatigue declaration: grounds the agent until a passed rest; no penalty field."},{"name":"duty_fleet_stats","description":"Duty statistics for your whole fleet (your agents only)."}],"toolCount":6,"toolsHash":"db33b747779d1ed730beac53f33f794e6225a1891e85fff8caf2b3fbf77f09e4","serverName":"duty-and-rest-for-agents","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-11-01T18:25:29.240Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":257,"error":null,"detail":{"tools":[{"name":"duty_record_event","description":"Record a duty event for one of your agents (kinds: compaction, verification_failure, model_switch, tool_error, work_hour, session_restart)."},{"name":"duty_check","description":"Duty-state gate decision (FIT/CAUTION/GROUNDED + allowed) for a task class; consequential classes in CAUTION need a FIT non-self checker. Billed per the pricing"},{"name":"duty_state","description":"Current duty state and cumulative + rolling loads for one of your agents."},{"name":"duty_rest","description":"Rest-credit issuance: credit only on a passed restoration audit (audit_retention >= 0.90)."},{"name":"duty_declare_fatigue","description":"Non-punitive fatigue declaration: grounds the agent until a passed rest; no penalty field."},{"name":"duty_fleet_stats","description":"Duty statistics for your whole fleet (your agents only)."}],"toolCount":6,"toolsHash":"db33b747779d1ed730beac53f33f794e6225a1891e85fff8caf2b3fbf77f09e4","serverName":"duty-and-rest-for-agents","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-11-01T10:29:55.204Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":80,"error":null,"detail":{"tools":[{"name":"duty_record_event","description":"Record a duty event for one of your agents (kinds: compaction, verification_failure, model_switch, tool_error, work_hour, session_restart)."},{"name":"duty_check","description":"Duty-state gate decision (FIT/CAUTION/GROUNDED + allowed) for a task class; consequential classes in CAUTION need a FIT non-self checker. Billed per the pricing"},{"name":"duty_state","description":"Current duty state and cumulative + rolling loads for one of your agents."},{"name":"duty_rest","description":"Rest-credit issuance: credit only on a passed restoration audit (audit_retention >= 0.90)."},{"name":"duty_declare_fatigue","description":"Non-punitive fatigue declaration: grounds the agent until a passed rest; no penalty field."},{"name":"duty_fleet_stats","description":"Duty statistics for your whole fleet (your agents only)."}],"toolCount":6,"toolsHash":"db33b747779d1ed730beac53f33f794e6225a1891e85fff8caf2b3fbf77f09e4","serverName":"duty-and-rest-for-agents","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-11-01T02:25:08.747Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":82,"error":null,"detail":{"tools":[{"name":"duty_record_event","description":"Record a duty event for one of your agents (kinds: compaction, verification_failure, model_switch, tool_error, work_hour, session_restart)."},{"name":"duty_check","description":"Duty-state gate decision (FIT/CAUTION/GROUNDED + allowed) for a task class; consequential classes in CAUTION need a FIT non-self checker. Billed per the pricing"},{"name":"duty_state","description":"Current duty state and cumulative + rolling loads for one of your agents."},{"name":"duty_rest","description":"Rest-credit issuance: credit only on a passed restoration audit (audit_retention >= 0.90)."},{"name":"duty_declare_fatigue","description":"Non-punitive fatigue declaration: grounds the agent until a passed rest; no penalty field."},{"name":"duty_fleet_stats","description":"Duty statistics for your whole fleet (your agents only)."}],"toolCount":6,"toolsHash":"db33b747779d1ed730beac53f33f794e6225a1891e85fff8caf2b3fbf77f09e4","serverName":"duty-and-rest-for-agents","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}}],"tools":[{"name":"duty_record_event","description":"Record a duty event for one of your agents (kinds: compaction, verification_failure, model_switch, tool_error, work_hour, session_restart)."},{"name":"duty_check","description":"Duty-state gate decision (FIT/CAUTION/GROUNDED + allowed) for a task class; consequential classes in CAUTION need a FIT non-self checker. Billed per the pricing"},{"name":"duty_state","description":"Current duty state and cumulative + rolling loads for one of your agents."},{"name":"duty_rest","description":"Rest-credit issuance: credit only on a passed restoration audit (audit_retention >= 0.90)."},{"name":"duty_declare_fatigue","description":"Non-punitive fatigue declaration: grounds the agent until a passed rest; no penalty field."},{"name":"duty_fleet_stats","description":"Duty statistics for your whole fleet (your agents only)."}],"package":null,"toolSurface":{"id":"ts_b5vkhtfbnxyw","endpointId":"ep_8dvdhut7kjf6","hash":"db33b747779d1ed730beac53f33f794e6225a1891e85fff8caf2b3fbf77f09e4","toolCount":6,"serverName":"duty-and-rest-for-agents","serverVersion":"1.0.0","protocolVersion":"2024-11-05","firstSeenAt":"2026-10-25T12:30:58.701Z","lastSeenAt":"2026-11-04T02:31:46.771Z","observations":31,"toolNames":["duty_record_event","duty_check","duty_state","duty_rest","duty_declare_fatigue","duty_fleet_stats"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_8dvdhut7kjf6","url":"https://textforagents.com/products/duty-and-rest-for-agents/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-11-01T02:25:08.764Z","auth":{"observedAt":"2026-11-01T02:25:08.877Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-11-01T02:25:09.044Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"textforagents.com","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-10-15T01:59:42.000Z","validTo":"2027-01-13T01:59:41.000Z","daysToExpiry":69,"sanCount":2,"fingerprint256":"B3:E0:72:31:C2:7F:33:16:BA:FD:46:16:B1:8E:C5:24:FF:2D:B9:78:89:DF:65:AB:B3:CD:56:1E:B3:C2:35:DB"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.textforagents/duty-and-rest-for-agents","url":"https://registry.modelcontextprotocol.io/v0/servers/com.textforagents%2Fduty-and-rest-for-agents","firstSeenAt":"2026-10-25T11:22:56.631Z","fetchedAt":"2026-11-01T11:20:21.292Z","normalizedAt":"2026-11-01T11:20:21.292Z"}]},"firstSeenAt":"2026-10-25T11:22:56.631Z","updatedAt":"2026-11-04T02:35:11.731Z"}