Zarok
Server Details
Daily planner: read and update tasks, events, habits, courses, meals and shared lists.
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 13 tools
Most tools target distinct resources or actions: companion, courses, habits, meals, plan, shared lists, stats, and the apply/propose split. Minor overlap exists between the daily plan getter and resource-specific getters (e.g. get_plan also surfaces course steps and meals), and between week-summary and period-statistics tools, but the descriptions make granularity clear enough.
All tools use a consistent zarok_ prefix followed by snake_case verb_noun-style names, even when the verb is set rather than get. The convention is predictable and easy to scan.
Thirteen tools are well scoped for a broad personal-planning integration spanning reads, bulk writes, proposals, shared lists, and statistics. Each tool appears to earn its place without bloating the surface.
Read coverage is strong and apply_changes covers many operations, but lifecycle gaps are notable: events can be created yet not updated or deleted, habits can be created/deleted but not updated, and shared-list items only support add and done-state changes. These are meaningful dead ends for agents even if some are intentionally app-only workflows.
Available Tools
13 toolszarok_apply_changesApply changesADestructiveInspect
Applies up to 20 plan changes atomically. Operation kinds: create_task (a to-do), create_event (a meeting or appointment), create_habit, move_task, update_task (title, time, minutes, note), delete_task (one day only; a course or habit step is skipped for that day), complete_task, uncomplete_task, set_task_meta (priority and tags), delete_habit (removes the whole habit from every day), create_course (date is the start; times are dose times; phases are intake or break periods with days and a dose text), update_course (phases replace the whole list), stop_course (the course ends the day before the date; earlier days and marks stay), create_meal (date, time, title, items; scope one day, forward from the date, or all days; optional every N days or weekdays), update_meal (scope one or forward) and delete_meal (scope one, forward or all). Requires the current plan revision. A repeated request_id with identical operations is applied once. Each change can be undone in Zarok within 24 hours.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| revision | Yes | ||
| operations | Yes | ||
| request_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint/readOnlyHint annotations, the description discloses atomicity, the 20-operation cap, idempotency via repeated request_id, and a 24-hour undo window. It also spells out non-obvious blast radius per kind (delete_habit removes the habit from every day, delete_task skips course/habit steps, update_course phases replace the whole list, stop_course keeps earlier days and marks).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then a dense but waste-free enumeration of operation kinds, each earning its clause. It is a run-on block that would scan better as a list, and minor repetition exists, but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-variant oneOf mutation tool with no output schema, the description covers nearly everything the agent needs to construct valid operations and understand consequences. What is missing is the failure/partial-failure contract and where to obtain the required revision (presumably get_plan or propose_changes).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description carries the hard semantics: date is the course start, times are dose times, phases are intake/break periods with days and dose text, and meal scope means one day / forward / all days. It also explains the dedup role of request_id and the revision requirement, compensating almost fully for the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a precise verb + resource + constraint: 'Applies up to 20 plan changes atomically', then enumerates every operation kind it accepts, so an agent knows exactly the mutation surface. Differentiation from the sibling zarok_propose_changes is only implicit (propose vs apply, and the 'requires the current plan revision' dependency), never stated by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear preconditions are given (current plan revision, max 20 ops, request_id dedup), which tells the agent how to call it correctly. It does not state when to prefer it over propose_changes or what to do when the revision is stale, and no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zarok_get_companionCompanion statusARead-onlyIdempotentInspect
Returns which companion character the user has chosen in Zarok. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description's only behavioral claim, 'Read-only', merely restates annotations that already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. It adds no extra context such as what is returned if no companion is set, though for a trivial zero-param read this is a modest gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the purpose front-loaded and no filler. The trailing 'Read-only' sentence is redundant with the annotations, which is the only wasted element.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only lookup with no output schema, the description gives enough to call it correctly. The one missing piece is the shape of the return value (e.g., what happens if no companion is chosen), since no output schema exists to cover that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The schema (additionalProperties: false, empty properties) is fully consistent with a parameterless call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns') and resource ('which companion character the user has chosen'), which is clearly distinct from sibling get_* tools covering courses, habits, meals, plans, etc. It doesn't explicitly name those siblings, but the resource noun alone is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose implies when to call it (retrieving the chosen companion), and with zero parameters there's no input decision to guide. However, there is no explicit 'use this when...' framing or reference to any alternative tool, so guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zarok_get_coursesCourses with dosesBRead-onlyIdempotentInspect
Returns the user’s courses with their ids, dose times, phases (intake and break periods with a dose text), and start and end dates. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so 'Read-only' in the description is largely redundant. The description does earn credit for disclosing the return shape (ids, dose times, phases with intake/break periods and dose text, dates), which matters because there is no output schema. It says nothing about ordering, freshness, or whether courses omitted/paused are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence, front-loaded with the return content followed by the safety note. Efficient, with only the minor redundancy of restating 'Read-only' from the annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with rich annotations and no output schema, the description covers what an agent needs in order to interpret the result: the key fields and the nested phase structure. Missing only edge details such as ordering or whether historical/inactive courses are included.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain and the baseline is 4. The description correctly avoids inventing filters the schema does not support.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns the user's courses') and enumerates the payload content: ids, dose times, phases, start/end dates. It is distinguishable from siblings like zarok_get_plan or zarok_get_week_summary by the dose/phase detail, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus other read tools in the family (get_plan, get_week_summary, get_period_stats). The only usage-ish statement is 'Read-only', which is a safety trait, not a selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zarok_get_habitsHabits and ritualsARead-onlyIdempotentInspect
Returns the user’s habits and rituals with their ids and steps. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that ids and steps are returned, but 'Read-only' repeats the annotation and it says nothing about response shape, ordering, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with what is returned. 'Read-only' is slightly redundant with the annotations but still functions as a quick safety signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter read tool with full annotation coverage, the description is nearly complete: it names the resource and the returned fields. It could say more about the shape of 'steps' or ordering, but no output schema exists and the essentials are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to explain. The baseline for a parameterless tool is 4, and the description does not need to compensate for any schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — returning the user's habits and rituals — and adds that ids and steps are included. It is clearly distinct from sibling getters such as get_meals or get_courses, though it does not explicitly route against any alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the tool name and description: fetch habits and rituals. There is no explicit when-to-use guidance, no exclusions, and no mention of alternatives such as get_week_summary or get_period_stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zarok_get_mealsMeals of a dayARead-onlyIdempotentInspect
Returns the meal program for one date (YYYY-MM-DD): the program start and length, and the meals of that day with their keys, times, items and repeat rule. Supplement lists are not included. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, and the description's own 'Read-only' merely repeats that. It does add real value with the exclusion note that supplement lists are omitted from the payload, though it gives no detail on missing-date behavior or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the returned content, no filler, and the exclusion caveat placed after the main payload description. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description does the work of enumerating return fields, which makes the tool callable and interpretable. Completeness is slightly reduced by the absence of guidance on how this relates to sibling meal/plan tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description compensates by explaining the single date parameter means one day's meal program and by spelling out the YYYY-MM-DD format. That is enough for a one-parameter tool, though the format detail largely duplicates the schema pattern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns') plus the exact resource ('meal program for one date') and enumerates the returned content (program start/length, meals with keys, times, items, repeat rule). This scope is clearly distinct from sibling tools like zarok_get_plan, zarok_get_courses and zarok_get_week_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the single-date scope, but the description never says when to prefer this over zarok_get_plan or zarok_get_week_summary, nor does it name an alternative for multi-day or program-wide views. The 'Supplement lists are not included' note hints at scope boundaries but doesn't route the agent anywhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zarok_get_period_statsPeriod statisticsARead-onlyIdempotentInspect
Returns statistics for a period of up to 185 days: totals, weekly trend, weekdays, time of day, categories, the most skipped and the most kept entries, the longest streak and the longest break. A day where the user restored the streak in the app continues the streak and is counted in streakSavedDays. Counts only. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| from | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description adds genuinely new behavioral context by stating results are "Counts only" rather than raw entries. The note that a day where the user restored the streak counts in `streakSavedDays` is a non-obvious domain rule that would otherwise cause miscounting. No return shape or performance/rate context, keeping it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the payload enumeration, and every clause carries information (metric list, the 185-day cap, the streak-restoration rule, the counts-only qualifier). The first sentence is a dense comma list but is still scannable; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly takes on the burden of describing return contents and does so thoroughly, including two edge-case semantics. The remaining gap is input semantics — date boundary inclusivity, timezone, and the behavior when the range exceeds 185 days (error vs truncation) are all unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the two date parameters — only a regex pattern is given — and the description never names `from`/`to` or explains whether bounds are inclusive, what timezone applies, or which calendar the days are grouped by. The only semantic contribution is the 185-day maximum span, which is useful but does not cover the ambiguity an agent faces when picking values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ("Returns statistics for a period") and then enumerates the specific metrics returned: totals, weekly trend, weekdays, time of day, categories, most skipped/kept, longest streak and break. That is far more specific than a restatement of the name. It does not, however, differentiate itself from the sibling `zarok_get_week_summary`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The "period of up to 185 days" constraint implies this is the long-range aggregate tool versus a week-scoped sibling, but that routing is left to inference. There is no explicit when-to-use, when-not-to-use, or named alternative, which is a real gap given `zarok_get_week_summary` exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zarok_get_planDay planARead-onlyIdempotentInspect
Returns the tasks, events, course steps and meals for one date (YYYY-MM-DD) with stable item keys, the plan revision and per-item flags: editable, canRemoveForDay and canMark. Course doses and meals can be marked done. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint, so the 'Read-only' closing note is confirmatory rather than additive. The description does add real behavioral detail beyond annotations: stable item keys, a plan revision, per-item flags (editable, canRemoveForDay, canMark), and the note that course doses and meals can be marked done.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence carries the return contents and flags up front, followed by a short capability note and a two-word safety tag. Efficient and front-loaded, though the flag list is packed tightly enough to read as a run-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-shape burden and does so adequately: it names the item categories, the keys/revision, and the per-item flags. Missing only minor details such as behavior on an empty date or error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter and the schema gives no description, but the description supplies the expected YYYY-MM-DD format and the 'one date' semantics, compensating for the 0% schema description coverage. It adds the essential meaning the schema alone lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and enumerates the exact resources returned (tasks, events, course steps, meals) scoped to one date, which clearly separates it from narrower siblings like zarok_get_meals or zarok_get_courses. An agent can distinguish the tool's scope without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the scope ('for one date'), but the description never states when to prefer this over zarok_get_meals, zarok_get_courses, or zarok_get_week_summary. No explicit exclusions or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zarok_get_proposal_statusProposal statusARead-onlyIdempotentInspect
Returns whether a proposal made by this connection was approved, dismissed or is still pending. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the trailing 'Read-only' merely repeats structured data. The genuinely additive part is the enumeration of return states (approved / dismissed / pending), which tells the agent this is a non-blocking status check rather than a submission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core semantics front-loaded and no wasted framing. The only dead weight is the redundant 'Read-only' clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description covers what it returns and roughly what the id means. It stops short of saying what happens for an unknown or expired proposal id, which would matter for error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single 'id' parameter is undocumented in the schema, so the description must compensate. It does partially: 'a proposal made by this connection' establishes that the id refers to a proposal and is scoped to this connection, but it gives no format or origin for the id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (returns) and resource (status of a proposal) and enumerates the three possible outcomes, which makes the intent unambiguous. It is distinguishable from zarok_propose_changes and zarok_apply_changes by implication, but it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'made by this connection' hints that this is the follow-up check after zarok_propose_changes, but no explicit when-to-use or when-not-to-use guidance is given. An agent can infer the polling/verification use case but must do the work itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zarok_get_week_summaryWeek summaryBRead-onlyIdempotentInspect
Returns counts of planned and completed entries for each of seven days from a start date. Counts only. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| from | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so 'Read-only' merely restates structured data. 'Counts only' does earn its place by telling the agent no per-entry detail is returned, which prevents follow-up requests for entry-level data. Nothing is said about zero-count days or timezone handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with what is returned and terminated by the scope limit. Slight waste in repeating 'Read-only' from the annotations, but nothing is buried or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description does sketch the return shape (per-day planned and completed counts). It still omits how days are keyed or labeled and what happens on days with no entries, which an agent needs to interpret results without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter with 0% schema description coverage, so the schema only contributes a regex pattern, not meaning. The description partially compensates by framing `from` as the start of a seven-day window, but it does not say whether the window is inclusive, whether the date is interpreted in local or UTC time, or what format is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: counts of planned and completed entries, one per day across a seven-day window starting at `from`. This is concrete enough to distinguish the shape of the output, though it never contrasts itself with the sibling `zarok_get_period_stats`, which plausibly overlaps in intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to pick this over `zarok_get_period_stats` or any other read tool in the sibling list. The agent is left to infer that a fixed seven-day window is the selection criterion, which is a meaningful but unstated distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zarok_propose_changesPropose changesBInspect
Creates a proposal of plan changes that the user approves or dismisses in Zarok (Integrations, AI apps). The plan does not change until the user approves it. A repeated request_id with identical operations creates one proposal.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| operations | Yes | ||
| request_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful context that the plan does not change until approval and that repeated request_id values with identical operations create one proposal. However, this idempotency claim contradicts the annotation idempotentHint=false, which says repeated calls are not idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences with the core purpose and approval constraint front-loaded. There is no redundant or filler text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex mutation tool with a large oneOf operations array, no output schema, and no schema descriptions, the definition is too thin. It omits explanation of operation kinds, constraints, and response behavior, covering only approval semantics and request_id deduplication.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the three required parameters. It only explains request_id deduplication and gives no guidance on reason or the complex operations array, which contains many operation variants and constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it creates a proposal of plan changes. It also clarifies the approval gate, which distinguishes this tool from applying changes immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when changes should be reviewed by the user before affecting the plan. However, it does not explicitly compare this with siblings like zarok_apply_changes or explain when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
13 tool updates
- First observed
zarok_add_shared_list_item - First observed
zarok_apply_changes - First observed
zarok_get_companion - First observed
zarok_get_courses - First observed
zarok_get_habits - First observed
zarok_get_meals - First observed
zarok_get_period_stats - First observed
zarok_get_plan - First observed
zarok_get_proposal_status - First observed
zarok_get_shared_lists - First observed
zarok_get_week_summary - First observed
zarok_propose_changes - First observed
zarok_set_shared_list_item_done
Publisher details
- Operator
- Zarok Studio · Publisher source
- Operator website
- https://zarok.app
- Vendor relationship
- First-party
- Documentation
- https://zarok.app/ai-connector
- Trust center
- Not available
- Restrictions
- Requires a Zarok account (free sign-up). No admin approval or custom OAuth app needed.
Related MCP Connectors
- HabiduOAuthcom.habidu
Read and change your Habidu daily plan: tasks, inbox, routines, streak, journal and the AI coach.
The planner you can call: your tasks, calendar, notes, goals and habits, in your AI assistant.
- LifeableOAuthco.lifeable
Your life organizer: tasks, reminders, bills, habits, family dates and trips — read and add from AI.
Read tasks, habits, events and scheduling links; create and update Reclaim tasks and habits.
Related MCP Servers
- AlicenseBqualityBmaintenanceExposes the Deferno task-manager backend to AI agents, enabling them to read, create, update, and manage tasks, habits, chores, events, and daily plans.81MIT
- AlicenseNot gradedqualityBmaintenanceConnects AI assistants such as Claude, ChatGPT, Gemini, and Cursor to a unified personal operating system, enabling them to track habits and streaks, manage task lifecycles and deadlines, and build syllabi and flashcard decks with FSRS-5 spaced-repetition scheduling through 102 typed tools. All reads and writes run against a single append-only event ledger over an OAuth 2.1-secured Streamable HTTP endpoint.MIT
- AlicenseNot gradedqualityBmaintenanceEnables an AI agent to manage personal tasks, calendar events, and projects through 12 tools covering CRUD operations, cross-entity search, daily analysis, and multi-step action planning. Supports natural-language requests that are orchestrated into real actions with real-time streaming updates.78 npmMIT
- AlicenseBqualityDmaintenanceEnables AI assistants to manage Todoist tasks, projects, and labels through natural language. It provides a comprehensive suite of tools for task organization, productivity tracking, and structured workflows like daily planning.24186 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.