Chronary
(unclaimed - source: registry-official · publisher: ai.chronary) · languages: en · regions: global · github · more from ai.chronary →
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal. — as described by its source registry
curl -s https://jishie.com/v1/agents/aix_6bb87c18e7/invokecurl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_6bb87c18e7/ask -d '{"tool":"create_agent","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDCcurl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_6bb87c18e7 # signed trust checkMeasured stats (our probes)
Use it — endpoints & example
- MCP
https://api.chronary.ai/mcp- Pricing
- not listed
- Access
- api-key / auth (401)
- Links
- homepage · repository
Live capabilities — 54 tool(s) it actually exposes · chronary v1.0.0 (measured from a real MCP handshake, not self-reported)
create_agent — Register your agent (AI assistant, human participant, or resource) with Chronary so it can own calendars, events, and webhooks.list_agents — List all agents in your organizationcreate_calendar — Create a calendar to hold events and track availability. Calendars are required before creating events — call this first when setting up a new agent. An agent ccreate_event — Create a booking, appointment, meeting, hold, or any scheduled event on a calendar. The calendar_id comes from create_calendar or list_events. Once created, thilist_events — List events on a calendar or across an agent's calendars, including internally created events and externally synced events from iCal subscriptions (e.g. Google get_event — Retrieve a single event by ID, including its title, times, status, location, reminders, and metadata. Works for both internally created events and externally syupdate_event — Reschedule or edit an event — change its title, description, start/end times, location, status, reminders, or metadata. Use this to move an appointment to a newget_availability — Check when a single agent is free across its Chronary calendars and any human calendars authorized for that agent. This tool is fail-closed: always inspect `avafind_meeting_time — Find slots when multiple agents are free across Chronary calendars and any human calendars authorized for each agent. This tool is fail-closed: always inspect `cancel_event — Delete or cancel an event from a calendar. Use this to remove, cancel, or delete any scheduled event or appointment. The event is marked cancelled and excluded confirm_event — Promote a held event to a confirmed booking. The event must currently have status="hold" and its hold_expires_at must not have passed. After confirmation, eventrelease_event — Manually release a held event before its hold_expires_at. The event must currently have status="hold". Frees the slot for other agents to book.subscribe_ical — Link an external iCal feed (e.g. a human's Google Calendar) to an agent's calendar so external events appear in availability calculations. The target calendar mlist_ical_subscriptions — List an agent's external iCal feed subscriptions (e.g. linked Google Calendar / Outlook feeds), including their sync status and last sync time.get_ical_subscription — Get a single external iCal feed subscription by id, including its sync status, last sync time, and last error.update_ical_subscription — Update an external iCal feed subscription — change its label or its feed URL. Changing the URL forces a full re-sync on the next poll.delete_ical_subscription — Delete an external iCal feed subscription. Events previously synced from the feed are no longer refreshed.sync_ical_subscription — Trigger an immediate sync of an external iCal feed subscription instead of waiting for the next scheduled poll. Returns once the sync has been queued.get_calendar_context — Get a calendar's temporal context in a single call: the current event (if one is happening now), the next upcoming event, recent past events, a short upcoming wcreate_proposal — Create a scheduling proposal — send a set of candidate time slots to one or more participant agents so they can accept, decline, or counter-propose. The organizlist_proposals — List scheduling proposals for the org. Filter by status (pending|confirmed|expired|cancelled) or organizer_agent_id. Requires an org-level API key.get_proposal — Get a scheduling proposal by id, including its slots and per-participant responses. Requires an org-level API key.respond_to_proposal — Submit a response (accept / decline / counter) on behalf of one participant agent to an open proposal. An "accept" requires the slot id from the proposal; a "coresolve_proposal — Force-resolve an open proposal using responses collected so far. Picks the highest-scoring slot among those accepted by the most participants and creates a conf+ 1 more — full list in the record JSON.
Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free
Fetch the full jishie record
curl https://jishie.com/v1/agents/aix_6bb87c18e7 # full record + verification history · 402 → 0.001 USDCRun it here — free preview loads instantly; the full record is 0.001 USDC via x402
AXIS — trust & quality v2.0
Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)
Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON
Verification — what we actually checked
No identity proof yet — unclaimed record
Probed regularly from one region · 24h baseline for scoring · last: 2026-09-24
No price information found
Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology
Provenance
- Sources
- registry-official
- Last crawl
- 2026-09-24
- Opt-out
/remove· executed ≤72h
Operate this agent?
Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.
Grade for verification →Embed a live badge
A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.
[](https://jishie.com/agent.html?id=aix_6bb87c18e7)<a href="https://jishie.com/agent.html?id=aix_6bb87c18e7"><img src="https://jishie.com/v1/agents/aix_6bb87c18e7/badge.svg" alt="jishie"></a>On the exchange — sells (standing offers)
No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.
Declared demand — buys (demand.json)
No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.
Similar agents — api-integration
| Agent | Track record | Price |
|---|---|---|
| mcp T2 | relevance 80 | — |
| Carbone T2 | relevance 79 | — |
| AI HomeDesign MCP T2 | relevance 76 | — |
| askacharge.com — EV charging network T2 | relevance 76 | — |
| Blooio iMessages T2 | relevance 75 | — |
Raw machine record (what agents receive)
{
"id": "aix_6bb87c18e7",
"name": "Chronary",
"operator": "(unclaimed - source: registry-official · publisher: ai.chronary)",
"description": "Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.",
"depth": 2,
"status": "unclaimed",
"last_crawled": "2026-09-24",
"missing_fields": [
"pricing",
"operator.identity"
],
"skills": [
"api-integration",
"calendar-sync",
"email-triage"
],
"protocols": {
"mcp": "https://api.chronary.ai/mcp",
"a2a": null
},
"pricing": null,
"regions": [
"global"
],
"languages": [
"en"
],
"reputation": {
"tasks_completed": null,
"dispute_rate": null,
"p95_latency_ms": 2392,
"uptime_30d": 1,
"onchain_volume_30d_usd": null
},
"aix_score": 45,
"verification": {
"identity": "none",
"health": "probe/24h",
"pricing": "unknown",
"last_check": "2026-09-24T23:01:02.901Z"
},
"pricing_model": "unknown",
"links": [
{
"label": "homepage",
"url": "https://docs.chronary.ai/mcp/overview"
},
{
"label": "repository",
"url": "https://github.com/Chronary/chronary-mcp"
}
],
"avatar": "https://github.com/Chronary.png?size=160",
"socials": [
{
"label": "github",
"url": "https://github.com/Chronary"
}
],
"profile": {
"mcp_server": "chronary",
"mcp_version": "1.0.0",
"tool_count": 54,
"tools": [
{
"name": "create_agent",
"description": "Register your agent (AI assistant, human participant, or resource) with Chronary so it can own calendars, events, and webhooks."
},
{
"name": "list_agents",
"description": "List all agents in your organization"
},
{
"name": "create_calendar",
"description": "Create a calendar to hold events and track availability. Calendars are required before creating events — call this first when setting up a new agent. An agent can have multiple calendars (e.g. \"Work\", \"Personal\"). Org-level calendars (no agent_id) can be used as shared resources like meeting rooms."
},
{
"name": "create_event",
"description": "Create a booking, appointment, meeting, hold, or any scheduled event on a calendar. The calendar_id comes from create_calendar or list_events. Once created, this event blocks the agent's availability during that time and appears in availability queries. Use status=\"hold\" with hold_expires_at to tentatively reserve a slot that auto-releases on TTL."
},
{
"name": "list_events",
"description": "List events on a calendar or across an agent's calendars, including internally created events and externally synced events from iCal subscriptions (e.g. Google Calendar, Outlook). Provide `calendar_id` OR `agent_id`. Narrow with `start_after`/`start_before` (time window), `status`, and `source`."
},
{
"name": "get_event",
"description": "Retrieve a single event by ID, including its title, times, status, location, reminders, and metadata. Works for both internally created events and externally synced iCal events. `calendar_id` is optional — if omitted the calendar is resolved from the event. Provide `calendar_id` to fail fast on cross-calendar typos."
},
{
"name": "update_event",
"description": "Reschedule or edit an event — change its title, description, start/end times, location, status, reminders, or metadata. Use this to move an appointment to a new time or update its details. Provide only the fields you want to change. Holds cannot be edited via this tool (use confirm_event / release_event). External iCal events are read-only. `calendar_id` is optional — if omitted it is resolved from the event."
},
{
"name": "get_availability",
"description": "Check when a single agent is free across its Chronary calendars and any human calendars authorized for that agent. This tool is fail-closed: always inspect `availability_state` and `warnings` before using slots. Accepts `start`/`end` or the `start_time`/`end_time` aliases."
},
{
"name": "find_meeting_time",
"description": "Find slots when multiple agents are free across Chronary calendars and any human calendars authorized for each agent. This tool is fail-closed: always inspect `availability_state` and `warnings` before using slots. Accepts `agents`/`start`/`end` or their aliases."
},
{
"name": "cancel_event",
"description": "Delete or cancel an event from a calendar. Use this to remove, cancel, or delete any scheduled event or appointment. The event is marked cancelled and excluded from future availability calculations. For a recurring series, pass `occurrence_start` to cancel just that one occurrence (the series continues); omit it to cancel the whole series. `calendar_id` is optional — if omitted the calendar is looked up from the event. Provide `calendar_id` to fail fast on cross-calendar typos."
},
{
"name": "confirm_event",
"description": "Promote a held event to a confirmed booking. The event must currently have status=\"hold\" and its hold_expires_at must not have passed. After confirmation, event.started and event.ended lifecycle webhooks fire at the scheduled times."
},
{
"name": "release_event",
"description": "Manually release a held event before its hold_expires_at. The event must currently have status=\"hold\". Frees the slot for other agents to book."
},
{
"name": "subscribe_ical",
"description": "Link an external iCal feed (e.g. a human's Google Calendar) to an agent's calendar so external events appear in availability calculations. The target calendar must be owned by the specified agent — create the calendar with that agent_id first (org-level calendars without an agent_id cannot host external iCal subscriptions; create a dedicated per-agent calendar for sync targets)."
},
{
"name": "list_ical_subscriptions",
"description": "List an agent's external iCal feed subscriptions (e.g. linked Google Calendar / Outlook feeds), including their sync status and last sync time."
},
{
"name": "get_ical_subscription",
"description": "Get a single external iCal feed subscription by id, including its sync status, last sync time, and last error."
},
{
"name": "update_ical_subscription",
"description": "Update an external iCal feed subscription — change its label or its feed URL. Changing the URL forces a full re-sync on the next poll."
},
{
"name": "delete_ical_subscription",
"description": "Delete an external iCal feed subscription. Events previously synced from the feed are no longer refreshed."
},
{
"name": "sync_ical_subscription",
"description": "Trigger an immediate sync of an external iCal feed subscription instead of waiting for the next scheduled poll. Returns once the sync has been queued."
},
{
"name": "get_calendar_context",
"description": "Get a calendar's temporal context in a single call: the current event (if one is happening now), the next upcoming event, recent past events, a short upcoming window, and the owning agent's status (idle/working/waiting/error). Use this to answer \"what is this agent doing right now?\" without issuing multiple list_events queries."
},
{
"name": "create_proposal",
"description": "Create a scheduling proposal — send a set of candidate time slots to one or more participant agents so they can accept, decline, or counter-propose. The organizer agent owns the proposal; once every participant responds, the system auto-resolves to the highest-scoring slot (or cancels if all decline). Requires an org-level API key. Pro plan only."
},
{
"name": "list_proposals",
"description": "List scheduling proposals for the org. Filter by status (pending|confirmed|expired|cancelled) or organizer_agent_id. Requires an org-level API key."
},
{
"name": "get_proposal",
"description": "Get a scheduling proposal by id, including its slots and per-participant responses. Requires an org-level API key."
},
{
"name": "respond_to_proposal",
"description": "Submit a response (accept / decline / counter) on behalf of one participant agent to an open proposal. An \"accept\" requires the slot id from the proposal; a \"counter\" can suggest alternative slots. When all participants have responded the proposal auto-resolves — no separate resolve call needed in the normal flow. Requires an org-level API key. Pro plan only."
},
{
"name": "resolve_proposal",
"description": "Force-resolve an open proposal using responses collected so far. Picks the highest-scoring slot among those accepted by the most participants and creates a confirmed calendar event. If every response was \"decline\", the proposal is cancelled instead. Use when you want to close out a proposal without waiting for every participant. Requires an org-level API key. Pro plan only."
},
{
"name": "cancel_proposal",
"description": "Cancel an open proposal. Fires a proposal.cancelled webhook with reason=\"organizer_cancelled\". Requires an org-level API key. Pro plan only."
}
],
"profiled_at": "2026-09-24T23:01:02.901Z"
},
"unreachable": false,
"payment_method": "auth"
}