{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_4bvbea7b3axu","handle":"sync-day","url":"https://wellknown.network/agents/sync-day","links":{"self":"https://wellknown.network/agents/sync-day/record.json","html":"https://wellknown.network/agents/sync-day","markdown":"https://wellknown.network/agents/sync-day/record.md","api":"https://wellknown.network/api/v1/agents/sync-day","status":"https://wellknown.network/api/v1/agents/sync-day/status","claim":"https://wellknown.network/agents/sync-day/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/sync-day/claim.json","badge":"https://wellknown.network/agents/sync-day/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/sync-day/history","tools":"https://wellknown.network/api/v1/agents/sync-day/tools"},"ard":{"identifier":"urn:air:sync.day:server:sync-day","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"sync-day","summary":"Free no-signup group scheduling; share a link and rank times by who's free.","description":"Free no-signup group scheduling; share a link and rank times by who's free.","publisher":{"name":"syncday-app","url":null},"homepage":"https://sync.day","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://sync.day/mcp/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-05T13:28:22.172174Z","publishedAt":"2026-09-05T13:28:22.172174Z","registryName":"io.github.syncday-app/sync-day"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":0.525,"provenance":"derived"}],"categories":["security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-10T00:29:16.981Z","lastProbedAt":"2026-10-10T00:29:16.981Z","statusComputedAt":"2026-10-10T00:30:09.863Z","reliability30d":{"probes":110,"successRate":1,"p50Ms":269,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":109,"ok":109,"authBoundaryOk":0,"serviceOk":109,"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-10-10T00:29:16.981Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":196,"error":null,"detail":{"tools":[{"name":"create_event","description":"Create a sync.day availability poll and get its share link. Candidate days run from startDate to endDate (inclusive; or give days instead). Each day offers cand"},{"name":"parse_event_text","description":"Turn a natural-language sentence (Chinese works best) into create_event input using sync.day's AI parser. Does NOT create anything; review the result, then call"},{"name":"get_event","description":"Read an event: settings, every candidate start key per day (startOptions), who has answered (participants with their start keys; names may repeat), the top 10 s"},{"name":"submit_availability","description":"Save (or replace) one person's availability: the candidate start keys they can make, from get_event.startOptions. The person is identified by `identity`, not by"},{"name":"remove_participant","description":"Organiser only: remove one participant by name (the oldest row with that name when it repeats), together with their vote. Requires the adminKey from create_even"},{"name":"update_event","description":"Organiser only: change any event settings (same fields and rules as create_event; omitted fields keep their current value; endDate wins over days). Existing pic"},{"name":"vote_time","description":"Approval voting: set every start one person accepts (replaces their earlier approvals; an empty list clears them). The voter is the `identity` used in submit_av"},{"name":"decide_time","description":"Organiser only: settle on a start time (locks availability picking and voting; the page shows 已定). Pass start=null to reopen. Requires the adminKey from create_"}],"toolCount":8,"toolsHash":"763002faab9671f8b2ad66e45a54456b1b1bd6a0cff78afa472883de972e1e95","serverName":"sync.day","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T18:24:59.435Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":204,"error":null,"detail":{"tools":[{"name":"create_event","description":"Create a sync.day availability poll and get its share link. Candidate days run from startDate to endDate (inclusive; or give days instead). Each day offers cand"},{"name":"parse_event_text","description":"Turn a natural-language sentence (Chinese works best) into create_event input using sync.day's AI parser. Does NOT create anything; review the result, then call"},{"name":"get_event","description":"Read an event: settings, every candidate start key per day (startOptions), who has answered (participants with their start keys; names may repeat), the top 10 s"},{"name":"submit_availability","description":"Save (or replace) one person's availability: the candidate start keys they can make, from get_event.startOptions. The person is identified by `identity`, not by"},{"name":"remove_participant","description":"Organiser only: remove one participant by name (the oldest row with that name when it repeats), together with their vote. Requires the adminKey from create_even"},{"name":"update_event","description":"Organiser only: change any event settings (same fields and rules as create_event; omitted fields keep their current value; endDate wins over days). Existing pic"},{"name":"vote_time","description":"Approval voting: set every start one person accepts (replaces their earlier approvals; an empty list clears them). The voter is the `identity` used in submit_av"},{"name":"decide_time","description":"Organiser only: settle on a start time (locks availability picking and voting; the page shows 已定). Pass start=null to reopen. Requires the adminKey from create_"}],"toolCount":8,"toolsHash":"763002faab9671f8b2ad66e45a54456b1b1bd6a0cff78afa472883de972e1e95","serverName":"sync.day","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T11:26:42.874Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":188,"error":null,"detail":{"tools":[{"name":"create_event","description":"Create a sync.day availability poll and get its share link. Candidate days run from startDate to endDate (inclusive; or give days instead). Each day offers cand"},{"name":"parse_event_text","description":"Turn a natural-language sentence (Chinese works best) into create_event input using sync.day's AI parser. Does NOT create anything; review the result, then call"},{"name":"get_event","description":"Read an event: settings, every candidate start key per day (startOptions), who has answered (participants with their start keys; names may repeat), the top 10 s"},{"name":"submit_availability","description":"Save (or replace) one person's availability: the candidate start keys they can make, from get_event.startOptions. The person is identified by `identity`, not by"},{"name":"remove_participant","description":"Organiser only: remove one participant by name (the oldest row with that name when it repeats), together with their vote. Requires the adminKey from create_even"},{"name":"update_event","description":"Organiser only: change any event settings (same fields and rules as create_event; omitted fields keep their current value; endDate wins over days). Existing pic"},{"name":"vote_time","description":"Approval voting: set every start one person accepts (replaces their earlier approvals; an empty list clears them). The voter is the `identity` used in submit_av"},{"name":"decide_time","description":"Organiser only: settle on a start time (locks availability picking and voting; the page shows 已定). Pass start=null to reopen. Requires the adminKey from create_"}],"toolCount":8,"toolsHash":"763002faab9671f8b2ad66e45a54456b1b1bd6a0cff78afa472883de972e1e95","serverName":"sync.day","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T04:28:50.237Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":190,"error":null,"detail":{"tools":[{"name":"create_event","description":"Create a sync.day availability poll and get its share link. Candidate days run from startDate to endDate (inclusive; or give days instead). Each day offers cand"},{"name":"parse_event_text","description":"Turn a natural-language sentence (Chinese works best) into create_event input using sync.day's AI parser. Does NOT create anything; review the result, then call"},{"name":"get_event","description":"Read an event: settings, every candidate start key per day (startOptions), who has answered (participants with their start keys; names may repeat), the top 10 s"},{"name":"submit_availability","description":"Save (or replace) one person's availability: the candidate start keys they can make, from get_event.startOptions. The person is identified by `identity`, not by"},{"name":"remove_participant","description":"Organiser only: remove one participant by name (the oldest row with that name when it repeats), together with their vote. Requires the adminKey from create_even"},{"name":"update_event","description":"Organiser only: change any event settings (same fields and rules as create_event; omitted fields keep their current value; endDate wins over days). Existing pic"},{"name":"vote_time","description":"Approval voting: set every start one person accepts (replaces their earlier approvals; an empty list clears them). The voter is the `identity` used in submit_av"},{"name":"decide_time","description":"Organiser only: settle on a start time (locks availability picking and voting; the page shows 已定). Pass start=null to reopen. Requires the adminKey from create_"}],"toolCount":8,"toolsHash":"763002faab9671f8b2ad66e45a54456b1b1bd6a0cff78afa472883de972e1e95","serverName":"sync.day","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T22:24:42.781Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":211,"error":null,"detail":{"tools":[{"name":"create_event","description":"Create a sync.day availability poll and get its share link. Candidate days run from startDate to endDate (inclusive; or give days instead). Each day offers cand"},{"name":"parse_event_text","description":"Turn a natural-language sentence (Chinese works best) into create_event input using sync.day's AI parser. Does NOT create anything; review the result, then call"},{"name":"get_event","description":"Read an event: settings, every candidate start key per day (startOptions), who has answered (participants with their start keys; names may repeat), the top 10 s"},{"name":"submit_availability","description":"Save (or replace) one person's availability: the candidate start keys they can make, from get_event.startOptions. The person is identified by `identity`, not by"},{"name":"remove_participant","description":"Organiser only: remove one participant by name (the oldest row with that name when it repeats), together with their vote. Requires the adminKey from create_even"},{"name":"update_event","description":"Organiser only: change any event settings (same fields and rules as create_event; omitted fields keep their current value; endDate wins over days). Existing pic"},{"name":"vote_time","description":"Approval voting: set every start one person accepts (replaces their earlier approvals; an empty list clears them). The voter is the `identity` used in submit_av"},{"name":"decide_time","description":"Organiser only: settle on a start time (locks availability picking and voting; the page shows 已定). Pass start=null to reopen. Requires the adminKey from create_"}],"toolCount":8,"toolsHash":"763002faab9671f8b2ad66e45a54456b1b1bd6a0cff78afa472883de972e1e95","serverName":"sync.day","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T16:28:14.627Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1280,"error":null,"detail":{"tools":[{"name":"create_event","description":"Create a sync.day availability poll and get its share link. Candidate days run from startDate to endDate (inclusive; or give days instead). Each day offers cand"},{"name":"parse_event_text","description":"Turn a natural-language sentence (Chinese works best) into create_event input using sync.day's AI parser. Does NOT create anything; review the result, then call"},{"name":"get_event","description":"Read an event: settings, every candidate start key per day (startOptions), who has answered (participants with their start keys; names may repeat), the top 10 s"},{"name":"submit_availability","description":"Save (or replace) one person's availability: the candidate start keys they can make, from get_event.startOptions. The person is identified by `identity`, not by"},{"name":"remove_participant","description":"Organiser only: remove one participant by name (the oldest row with that name when it repeats), together with their vote. Requires the adminKey from create_even"},{"name":"update_event","description":"Organiser only: change any event settings (same fields and rules as create_event; omitted fields keep their current value; endDate wins over days). Existing pic"},{"name":"vote_time","description":"Approval voting: set every start one person accepts (replaces their earlier approvals; an empty list clears them). The voter is the `identity` used in submit_av"},{"name":"decide_time","description":"Organiser only: settle on a start time (locks availability picking and voting; the page shows 已定). Pass start=null to reopen. Requires the adminKey from create_"}],"toolCount":8,"toolsHash":"763002faab9671f8b2ad66e45a54456b1b1bd6a0cff78afa472883de972e1e95","serverName":"sync.day","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T10:24:35.965Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":211,"error":null,"detail":{"tools":[{"name":"create_event","description":"Create a sync.day availability poll and get its share link. Candidate days run from startDate to endDate (inclusive; or give days instead). Each day offers cand"},{"name":"parse_event_text","description":"Turn a natural-language sentence (Chinese works best) into create_event input using sync.day's AI parser. Does NOT create anything; review the result, then call"},{"name":"get_event","description":"Read an event: settings, every candidate start key per day (startOptions), who has answered (participants with their start keys; names may repeat), the top 10 s"},{"name":"submit_availability","description":"Save (or replace) one person's availability: the candidate start keys they can make, from get_event.startOptions. The person is identified by `identity`, not by"},{"name":"remove_participant","description":"Organiser only: remove one participant by name (the oldest row with that name when it repeats), together with their vote. Requires the adminKey from create_even"},{"name":"update_event","description":"Organiser only: change any event settings (same fields and rules as create_event; omitted fields keep their current value; endDate wins over days). Existing pic"},{"name":"vote_time","description":"Approval voting: set every start one person accepts (replaces their earlier approvals; an empty list clears them). The voter is the `identity` used in submit_av"},{"name":"decide_time","description":"Organiser only: settle on a start time (locks availability picking and voting; the page shows 已定). Pass start=null to reopen. Requires the adminKey from create_"}],"toolCount":8,"toolsHash":"763002faab9671f8b2ad66e45a54456b1b1bd6a0cff78afa472883de972e1e95","serverName":"sync.day","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T04:26:45.287Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":190,"error":null,"detail":{"tools":[{"name":"create_event","description":"Create a sync.day availability poll and get its share link. Candidate days run from startDate to endDate (inclusive; or give days instead). Each day offers cand"},{"name":"parse_event_text","description":"Turn a natural-language sentence (Chinese works best) into create_event input using sync.day's AI parser. Does NOT create anything; review the result, then call"},{"name":"get_event","description":"Read an event: settings, every candidate start key per day (startOptions), who has answered (participants with their start keys; names may repeat), the top 10 s"},{"name":"submit_availability","description":"Save (or replace) one person's availability: the candidate start keys they can make, from get_event.startOptions. The person is identified by `identity`, not by"},{"name":"remove_participant","description":"Organiser only: remove one participant by name (the oldest row with that name when it repeats), together with their vote. Requires the adminKey from create_even"},{"name":"update_event","description":"Organiser only: change any event settings (same fields and rules as create_event; omitted fields keep their current value; endDate wins over days). Existing pic"},{"name":"vote_time","description":"Approval voting: set every start one person accepts (replaces their earlier approvals; an empty list clears them). The voter is the `identity` used in submit_av"},{"name":"decide_time","description":"Organiser only: settle on a start time (locks availability picking and voting; the page shows 已定). Pass start=null to reopen. Requires the adminKey from create_"}],"toolCount":8,"toolsHash":"763002faab9671f8b2ad66e45a54456b1b1bd6a0cff78afa472883de972e1e95","serverName":"sync.day","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T22:23:47.140Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":205,"error":null,"detail":{"tools":[{"name":"create_event","description":"Create a sync.day availability poll and get its share link. Candidate days run from startDate to endDate (inclusive; or give days instead). Each day offers cand"},{"name":"parse_event_text","description":"Turn a natural-language sentence (Chinese works best) into create_event input using sync.day's AI parser. Does NOT create anything; review the result, then call"},{"name":"get_event","description":"Read an event: settings, every candidate start key per day (startOptions), who has answered (participants with their start keys; names may repeat), the top 10 s"},{"name":"submit_availability","description":"Save (or replace) one person's availability: the candidate start keys they can make, from get_event.startOptions. The person is identified by `identity`, not by"},{"name":"remove_participant","description":"Organiser only: remove one participant by name (the oldest row with that name when it repeats), together with their vote. Requires the adminKey from create_even"},{"name":"update_event","description":"Organiser only: change any event settings (same fields and rules as create_event; omitted fields keep their current value; endDate wins over days). Existing pic"},{"name":"vote_time","description":"Approval voting: set every start one person accepts (replaces their earlier approvals; an empty list clears them). The voter is the `identity` used in submit_av"},{"name":"decide_time","description":"Organiser only: settle on a start time (locks availability picking and voting; the page shows 已定). Pass start=null to reopen. Requires the adminKey from create_"}],"toolCount":8,"toolsHash":"763002faab9671f8b2ad66e45a54456b1b1bd6a0cff78afa472883de972e1e95","serverName":"sync.day","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T15:30:19.942Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":217,"error":null,"detail":{"tools":[{"name":"create_event","description":"Create a sync.day availability poll and get its share link. Candidate days run from startDate to endDate (inclusive; or give days instead). Each day offers cand"},{"name":"parse_event_text","description":"Turn a natural-language sentence (Chinese works best) into create_event input using sync.day's AI parser. Does NOT create anything; review the result, then call"},{"name":"get_event","description":"Read an event: settings, every candidate start key per day (startOptions), who has answered (participants with their start keys; names may repeat), the top 10 s"},{"name":"submit_availability","description":"Save (or replace) one person's availability: the candidate start keys they can make, from get_event.startOptions. The person is identified by `identity`, not by"},{"name":"remove_participant","description":"Organiser only: remove one participant by name (the oldest row with that name when it repeats), together with their vote. Requires the adminKey from create_even"},{"name":"update_event","description":"Organiser only: change any event settings (same fields and rules as create_event; omitted fields keep their current value; endDate wins over days). Existing pic"},{"name":"vote_time","description":"Approval voting: set every start one person accepts (replaces their earlier approvals; an empty list clears them). The voter is the `identity` used in submit_av"},{"name":"decide_time","description":"Organiser only: settle on a start time (locks availability picking and voting; the page shows 已定). Pass start=null to reopen. Requires the adminKey from create_"}],"toolCount":8,"toolsHash":"763002faab9671f8b2ad66e45a54456b1b1bd6a0cff78afa472883de972e1e95","serverName":"sync.day","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"create_event","description":"Create a sync.day availability poll and get its share link. Candidate days run from startDate to endDate (inclusive; or give days instead). Each day offers cand"},{"name":"parse_event_text","description":"Turn a natural-language sentence (Chinese works best) into create_event input using sync.day's AI parser. Does NOT create anything; review the result, then call"},{"name":"get_event","description":"Read an event: settings, every candidate start key per day (startOptions), who has answered (participants with their start keys; names may repeat), the top 10 s"},{"name":"submit_availability","description":"Save (or replace) one person's availability: the candidate start keys they can make, from get_event.startOptions. The person is identified by `identity`, not by"},{"name":"remove_participant","description":"Organiser only: remove one participant by name (the oldest row with that name when it repeats), together with their vote. Requires the adminKey from create_even"},{"name":"update_event","description":"Organiser only: change any event settings (same fields and rules as create_event; omitted fields keep their current value; endDate wins over days). Existing pic"},{"name":"vote_time","description":"Approval voting: set every start one person accepts (replaces their earlier approvals; an empty list clears them). The voter is the `identity` used in submit_av"},{"name":"decide_time","description":"Organiser only: settle on a start time (locks availability picking and voting; the page shows 已定). Pass start=null to reopen. Requires the adminKey from create_"}],"package":null,"toolSurface":{"id":"ts_43qqa5yp574v","endpointId":"ep_v28yr9a3x968","hash":"763002faab9671f8b2ad66e45a54456b1b1bd6a0cff78afa472883de972e1e95","toolCount":8,"serverName":"sync.day","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T11:27:26.514Z","lastSeenAt":"2026-10-10T00:29:16.989Z","observations":102,"toolNames":["create_event","parse_event_text","get_event","submit_availability","remove_participant","update_event","vote_time","decide_time"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_v28yr9a3x968","url":"https://sync.day/mcp/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T18:24:59.449Z","auth":{"observedAt":"2026-10-09T18:24:59.718Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T18:24:59.742Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"*.sync.day","issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validFrom":"2026-08-30T09:40:34.000Z","validTo":"2026-11-28T09:40:33.000Z","daysToExpiry":49,"sanCount":2,"fingerprint256":"50:36:07:1B:09:10:7C:DA:AC:F8:3E:52:D7:19:AF:1C:BE:DF:57:B0:90:C4:E9:AD:E2:30:F7:EC:7F:E1:63:C4"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.syncday-app/sync-day","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.syncday-app%2Fsync-day","firstSeenAt":"2026-09-07T04:21:39.615Z","fetchedAt":"2026-10-08T11:19:28.100Z","normalizedAt":"2026-10-08T11:19:28.100Z"}]},"firstSeenAt":"2026-09-07T04:21:39.615Z","updatedAt":"2026-10-10T00:31:21.639Z"}