Skip to main content
Glama

ffxiv-daily-reset-mcp-server

A small, local-first Model Context Protocol (MCP) server that tracks your FFXIV daily and weekly reset responsibilities — grand company turned-ins, duty support queues, beast tribe allowances, item turn-ins, and any customized per-character chores you care about — and returns readable due / overdue summaries an AI agent can weave straight into chat.

Built by Asdale Dynamics, LLC as part of a beginner-friendly, plain-English collection of AI tools and guides.

Why this exists

FFXIV repeats a lot of content on fixed UTC windows (daily reset at 15:00 UTC, grand company turn-ins at 20:00 UTC, weekly reset Tuesday 08:00 UTC). Remembering which character has which chore — and whether it's still "today's window" or already missed — is exactly the kind of state a personal agent should hold for you. This server does that with:

  • All data local. One JSON file on your machine. No accounts, no network, no telemetry, no secrets.

  • Plain summaries. summary returns short, readable text you paste or pipe into a chat: what's due, what's overdue, when the next reset lands.

  • Dependency-free. Pure Python standard library; nothing to install but the package itself (and pytest, if you want the tests).

Related MCP server: jsony-mcp

Install

# from this folder
python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -e .
# optional, for tests:
pip install -e ".[dev]"

Python 3.10+ is all it needs.

Run it as an MCP server

ffxiv-reset-mcp                  # console script, or:
python -m ffxiv_reset_mcp

It speaks newline-delimited JSON-RPC 2.0 over stdin/stdout — the standard MCP stdio transport — so wire it into any MCP client, e.g. Claude Desktop, claude mcp add, or a config entry like:

{
  "mcpServers": {
    "ffxiv-reset": {
      "command": "python",
      "args": ["-m", "ffxiv_reset_mcp"],
      "env": { "FFXIV_RESET_STORE": "~/.local/share/ffxiv-reset-mcp/tasks.json" }
    }
  }
}

Tools

Tool

What it does

list_resets

Next daily (15:00 UTC), GC (20:00 UTC) and weekly (Tue 08:00 UTC) resets with countdowns

list_characters

All characters that have tracked chores

list_tasks

Chores + per-task status (DONE / DUE / OVERDUE), filterable by character or category

add_task

Track a chore: required character, title; optional category, cadence, period_hours, notes, allowance

complete_task

Mark a chore completed (completion time = now)

uncomplete_task

Undo a completion

delete_task

Remove a chore

summary

The one to call by default — readable due/overdue report for chat

Categories & cadences

Categories (free-form lowercase slugs allowed; presets carry a default window):

  • gc_turnin — grand company supply & provisioning, resets 20:00 UTC daily

  • duty_support — duty support queues / roulettes, resets 15:00 UTC daily

  • beast_tribe — tribal quest allowances, resets 15:00 UTC daily

  • item_turnin — item turn-ins and deliveries, defaults to the 20:00 UTC daily window

  • custom — anything you choose; defaults to the 15:00 UTC daily window

Cadences: daily (15:00 UTC), gc (20:00 UTC), weekly (Tuesday 08:00 UTC), or rolling (every period_hours hours — handy for retainer ventures or a treasure map allowance). Every chore is recurring: complete it and it flips back to DUE after the next relevant reset, or OVERDUE if a full window passes.

Example agent flow

  1. "Add GC turn-ins for Miqo Tia, beast tribe dailies with 3 allowances, and my custom Rowena delivery for Lala Lin."

  2. "What are my FFXIV chores?" — agent calls summary and answers:

FFXIV reset report
as of 2026-11-07T18:30:00Z (Sat 07 Nov 2026 18:30 UTC)

Next resets (all UTC):
  daily reset ... Sat 08 Nov 2026 15:00 UTC (in 20h 30m)
  grand company turn-ins ... Sat 07 Nov 2026 20:00 UTC (in 1h 30m)
  weekly reset ... Tue 10 Nov 2026 08:00 UTC (in 2d 13h 30m)

2 chores outstanding (0 overdue); 3 tracked.
== Miqo Tia
* DUE *
  - Grand Company provisioning   (1 allowance/s)
      not completed yet (allowance unused); window ends 2026-11-07T20:00:00Z UTC

Where the data lives

FFXIV_RESET_STORE env var, or the first match of: $XDG_DATA_HOME/ffxiv-reset-mcp/tasks.json, otherwise ~/.local/share/ffxiv-reset-mcp/tasks.json. Character names are the only personal input, and they never leave your disk.

Tests

python -m pytest tests -v

Coverage includes the reset-window math (boundaries at 15:00/20:00 UTC, Tuesday 08:00 weekly rollovers, rolling N-hour windows), store CRUD and atomicity, status classification (done/due/overdue), summary text, and a full stdio JSON-RPC round trip against the real server process.

This is deliberately not ffxiv-weekly-lockout-tracker (savage/raid lockout webapp). This one is the lightweight, agent-readable chore server for dailies and turn-ins.

License

MIT — Copyright (c) 2026 Asdale Dynamics, LLC. See LICENSE.

Available Tools

8 tools
add_taskB

Track a per-character chore. Required: character, title. Optional: category (default custom), cadence (daily|gc|weekly|rolling; gc = 20:00 UTC turn-in window), period_hours (rolling cadence only), notes, allowance (e.g. beast tribe allowance count).

NameRequiredDescriptionDefault
notesNo
titleYes
cadenceNo
categoryNo
allowanceNo
characterYes
period_hoursNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden; it does add useful behavior context like the default category and the meaning of each cadence value (gc = 20:00 UTC turn-in window) and the rolling-only restriction on period_hours. However, it says nothing about duplicate handling, persistence, permissions, or what is returned on success, which are meaningful gaps for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact passage, front-loaded with the purpose, then explicitly split into Required and Optional segments so an agent can extract call essentials in one pass. Every clause adds information; nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter mutation tool with no annotations and no output schema, the description covers parameter semantics well but leaves the agent without return-value expectations, duplicate behavior, or error conditions. It is adequate to invoke the tool correctly but not fully complete about what happens afterward.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it largely does: it marks the 2 required fields, lists all 5 optional ones, states the category default, enumerates cadence values with the non-obvious 'gc' meaning, and constrains period_hours to rolling cadence. It falls short only on format details like whether 'character' is a name or identifier and on what 'allowance' counts mean beyond one example.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a concrete verb and resource ('Track a per-character chore'), which, combined with the required character/title pair, makes clear this creates a new per-character task entry. Siblings like complete_task, delete_task, and list_tasks are implicitly excluded by the 'track' framing, though the description never names them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives such as complete_task, delete_task, or list_tasks, and no prerequisites or exclusions are stated. The implied usage (add a new chore to track) is inferable but left entirely to the reader.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

complete_taskB

Mark a chore completed (completed_at = now). Use the numeric task id.

NameRequiredDescriptionDefault
task_idYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the concrete mutation: completed_at is set to now. However, it says nothing about behavior when the task is already completed (no-op vs. error), required permissions, or what is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the action and its effect front-loaded in the opening clause, followed by the one parameter note. Nothing is wasted and nothing is buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter mutation, the core action and effect are covered adequately. Missing are the id's provenance, already-completed behavior, and failure modes, which matter because there are no annotations or output schema to fill those gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the single parameter is undocumented structurally; the description compensates only partially by stating the id is numeric, which the schema already implies via type integer. It does not say where to obtain the id (e.g., from list_tasks) or that it must reference an existing task.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Mark a chore completed" states a specific verb and resource, and the parenthetical clarifies the exact state change. It does not explicitly name the sibling inverse 'uncomplete_task', so the agent must infer the distinction from the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this rather than 'uncomplete_task' or 'delete_task', nor any precondition such as whether the task must currently be open. "Use the numeric task id" is a parameter hint, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_taskC

Remove a tracked chore entirely.

NameRequiredDescriptionDefault
task_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden for a destructive operation. It conveys removal but does not state whether deletion is permanent, whether confirmation is required, what permissions are needed, or what happens to related records.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted wording. Its brevity is appropriate, though it also reflects the missing behavioral detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive delete tool with no annotations and no output schema, the description is too thin. It should clarify permanence, required permissions, and the effect on tracked task data to be complete enough for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single task_id parameter has no description in the schema. The tool description does not explain the identifier or add any meaning beyond the parameter name and integer type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ("Remove") and resource ("tracked chore"), and "entirely" distinguishes deletion from merely changing status. It does not explicitly name the sibling alternatives complete_task or uncomplete_task, so it falls short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus complete_task, uncomplete_task, or other task tools. The word "entirely" implies permanent deletion rather than status change, but the agent must infer that distinction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_charactersA

List all characters that have tracked chores.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description must carry the behavioral burden. 'List' implies a read-only, side-effect-free operation and the filter condition is disclosed, but nothing is said about ordering, whether the result is a full or partial set, or what a 'character' record contains. It covers the safe basics but leaves meaningful behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the resource first and the scope qualifier second. Every word earns its place and nothing is repeated from the name or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and side-effect-free, so the description is nearly sufficient. However, there is no output schema, and the description never indicates what identifying fields a returned character has, which is the main piece an agent would still need.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 and the schema is complete by construction. The description correctly adds no parameter discussion, matching the baseline for a zero-param tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all characters') plus a qualifying scope ('that have tracked chores'), so an agent can distinguish it from list_tasks and list_resets. It stops short of naming a sibling or contrasting with one explicitly, so it is clear but not maximally differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scope phrase implies when the tool applies: when you need the set of characters that have chores tracked. There is no explicit when-not guidance, no mention of alternatives, and no statement about whether a broader character listing exists elsewhere among the siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_resetsA

Show the next FFXIV daily, grand-company, and weekly reset times in UTC with countdowns. No arguments.

NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the burden, and it does disclose the payload semantics: three reset categories, timezone (UTC), and that countdowns are included. It does not say whether the list is computed live or cached, or how many entries per category, but for a zero-parameter informational read the disclosure is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the payload description. "No arguments" is mildly redundant with the empty schema but serves as a fast confirmation and costs almost nothing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must convey the return value, and it names the three reset categories, the timezone, and the countdown format. For a zero-parameter read-only utility, nothing an agent needs to call it or interpret the result is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the baseline is 4. The explicit "No arguments" reinforces the empty schema but adds no semantic content beyond it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

A specific verb ("Show") plus a specific resource ("next FFXIV daily, grand-company, and weekly reset times") with output format details (UTC, countdowns). An agent knows exactly what comes back, though it does not contrast itself with the sibling list_characters/list_tasks or explain that it is a static reference tool unrelated to the task CRUD group.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"No arguments" clarifies how to invoke but not when to use it versus siblings. The use case (checking imminent game resets) is implied by the content but no condition, trigger, or exclusion is stated; a reader must infer it from the FFXIV domain nouns.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tasksB

List chores and their reset-window status. Optional filters: character, category (gc_turnin, duty_support, beast_tribe, item_turnin, custom).

NameRequiredDescriptionDefault
categoryNo
characterNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. "List" implies a read operation and reset-window status hints at returned state, but it does not cover permissions, pagination, completion filtering, or other operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is two efficient sentences with the core action front-loaded and no wasted wording. The filter details are compactly presented.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter list tool, it is adequate but not complete: there is no output schema, no annotations, and the description does not explain the return shape or how list_tasks differs from list_resets. The category enum detail helps, but the character filter remains underspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add parameter meaning. It does list the category values, which the schema omits, but it says nothing useful about the character filter beyond repeating its name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: "List chores and their reset-window status." It is clearer than the bare name, but it does not explicitly distinguish this tool from the sibling list_resets tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It mentions optional filters but gives no guidance on when to use this tool versus list_resets or list_characters. There are no exclusions or decision rules for choosing among the list siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

summaryA

Return a readable due/overdue report the agent can paste into chat. Optional character filter. Best default reply for 'what are my FFXIV chores?'

NameRequiredDescriptionDefault
characterNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral disclosure. It does usefully reveal the output form (human-readable text intended for chat pasting) rather than structured data, but says nothing about read-only safety, whether completed tasks are included, how 'due' is computed relative to reset windows, or behavior when the character filter is omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action and zero filler. The 'paste into chat' phrase is purposeful rather than padding, though the definition could be slightly tighter by folding the filter note into the first sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations, so the description is the only source of context, and it covers purpose, output form, and a default-use case. It omits the semantics of 'due/overdue' (reset timing), default scope when no character is given, and ordering, which matter for a report tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single `character` parameter. It does state the parameter is optional and acts as a filter, but gives no value format (name vs. ID) or what happens when it is omitted — presumably all characters, but that is left to inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: "Return a readable due/overdue report." The name 'summary' alone is vague, but the description makes clear this is a formatted report rather than raw data, which implicitly separates it from list_tasks/list_resets. It stops short of explicitly naming those siblings as alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Best default reply for 'what are my FFXIV chores?'" gives a concrete trigger for selecting this tool over the list_* siblings. There is no explicit when-not guidance or named alternative for cases where the agent needs structured/raw data, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

uncomplete_taskB

Undo a completion (clears completed_at).

NameRequiredDescriptionDefault
task_idYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses the key side effect (clears completed_at), but it does not say whether the operation is idempotent, what happens if the task is not completed, what permissions are needed, or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is a single, front-loaded sentence with no unnecessary wording. It efficiently states the action and its primary effect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter mutation tool, the description covers the core operation and side effect. Completeness is reduced by the missing parameter semantics and the lack of any explanation of error conditions or return behavior, especially with no annotations or output schema to fill those gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required parameter, task_id, with 0% description coverage. The description does not mention task_id or explain its meaning, though the overall operation context implies it identifies the task to uncomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific operation: undoing a completion and clearing completed_at. It is clearly the inverse of complete_task, though it does not explicitly name that sibling or otherwise differentiate beyond the implicit inverse action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the phrase "Undo a completion": use it when a task should become incomplete again. However, there is no explicit guidance on when not to use it, prerequisites, or alternatives beyond the obvious sibling complete_task.

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.

  1. 8 tool updatesv0.1.0
    • First observedadd_task
    • First observedcomplete_task
    • First observeddelete_task
    • First observedlist_characters
    • First observedlist_resets
    • First observedlist_tasks
    • First observedsummary
    • First observeduncomplete_task

TDQS

A3.5/5.0

Scored across 8 tools

Disambiguation4/5

Most tools have clearly distinct purposes: reset times, character listing, task CRUD, and summary reporting. The only mild overlap is between list_tasks and summary, since both expose chore status, but the descriptions clarify structured listing versus a readable due/overdue report.

Naming Consistency4/5

Seven of eight tools follow a predictable verb_noun or action-oriented pattern such as list_tasks, add_task, complete_task, and delete_task. The lone noun-only 'summary' is a minor deviation, and 'uncomplete_task' is awkward but still consistent with complete_task.

Tool Count5/5

Eight tools is well-scoped for a chore-tracking server with reset awareness. Each tool covers a distinct lifecycle operation or reporting need without excessive surface area.

Completeness4/5

The core lifecycle is covered: add, list, complete, uncomplete, delete, character listing, reset times, and summary reporting. The notable gap is updating an existing task's fields, though delete-and-re-add is a workable fallback.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI clients to manage todo tasks through Tools for adding, listing, completing, and searching, alongside Prompts for daily reviews and task breakdowns. Exposes task lists and statistics as Resources with local JSON file persistence.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to read, write, query, and manage JSON data files with automatic ID and timestamp generation.
    6
    16 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables an AI assistant to manage a simple to-do list stored in a local JSON file, with tools to add, list, get, complete, and delete tasks, plus a read-only pending tasks resource.
    -