Togello MCP Server
Servidor MCP de Togello
El servidor MCP de Togello expone tareas, categorías, notas de calendario, eventos de Google Calendar, elementos de actividad y registros de actividad de Togello a través del Protocolo de Contexto de Modelo (MCP).
Requisitos
Node.js 22 o posterior
Un token de API de Togello
Related MCP server: Todocko MCP Server
MCP local con npm
Utilice esto para clientes de escritorio y herramientas de desarrollo locales que ejecutan servidores MCP a través de stdio.
{
"mcpServers": {
"togello": {
"command": "npx",
"args": ["-y", "togello-mcp-server"],
"env": {
"TOGELLO_API_TOKEN": "replace_with_your_token"
}
}
}
}MCP remoto
El modo remoto expone un endpoint SSE en /sse y un endpoint de mensajes en /message.
TOGELLO_MCP_MODE=remote \
TOGELLO_MCP_AUTH_MODE=passthrough \
TOGELLO_MCP_HOST=0.0.0.0 \
TOGELLO_MCP_PORT=8081 \
npm startConecte clientes MCP remotos a:
https://your-domain.example/sseLa autenticación passthrough espera que cada solicitud de cliente remoto envíe su propio token de API de Togello como un encabezado Authorization: Bearer .... Utilice este modo para servidores MCP remotos publicados.
La autenticación env utiliza un TOGELLO_API_TOKEN del lado del servidor para cada cliente remoto. Está destinada únicamente a implementaciones locales de confianza o de usuario único. Al vincularse a un host no local, TOGELLO_MCP_AUTH_MODE=env también requiere TOGELLO_MCP_ALLOW_ENV_AUTH=true para que las implementaciones públicas no puedan habilitar la autenticación de token compartido por accidente.
El modo de desarrollador de ChatGPT puede añadir servidores MCP remotos que utilicen SSE. Para aplicaciones o conectores de ChatGPT en producción, utilice la autenticación passthrough o una implementación que autentique a cada usuario por separado antes de reenviar las solicitudes a Togello.
Herramientas
Las herramientas de solo lectura incluyen anotaciones readOnlyHint de MCP y devuelven JSON estable tanto en structuredContent como en el contenido de texto.
get-tasks-list: Recupera tareas TODO incompletas. El parámetro opcionalcategoryUUIDsfiltra por UUID de categoría.get-calendar-date-memo: Recupera una nota de fecha de calendario para una fechaYYYY-MM-DD.get-todo-category-list: Recupera categorías de TODO.get-today-calendar: Recupera eventos vinculados de Google Calendar y tareas programadas.get-activity-item-list: Recupera elementos de actividad habilitados.get-activity-log-list: Recupera registros de actividad.get-japan-current-time: Devuelve la hora actual en Japón.
Las herramientas de escritura devuelven JSON. Las respuestas de herramientas fallidas también devuelven JSON y están marcadas con isError: true.
create-task: Crea una tarea TODO.update-task: Actualiza una tarea TODO.update-calendar-date-memo: Actualiza o borra una nota de fecha de calendario.start-activity-log: Inicia un registro de actividad.complete-activity-log: Completa un registro de actividad.
Desarrollo
npm install
npm run buildRevisión de MCP
Certificado https://mcpreview.com/mcp-servers/toru-takagi/togello-mcp-server
Publicación
npm run build
npm version patch
npm publish --access publicAvailable Tools
14 toolscomplete-activity-logCDestructive
Completes an activity log.
| Name | Required | Description | Default |
|---|---|---|---|
| activityLogUUID | Yes | You must specify a valid activityLogUUID obtained from get-activity-log-list. This tool requires an existing activity log. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, so the agent knows this is a mutating, potentially destructive operation. The description adds nothing beyond annotations: it doesn't say what state change occurs, whether the log becomes immutable, whether completion is reversible, or what errors arise for an already-completed log. For a destructive tool this is a meaningful 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?
The single sentence is short but under-specified rather than concise; it spends its only words repeating the name instead of front-loading scope, side effects, or prerequisites.
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 destructive mutation with no output schema and no annotations explaining consequences, the description should say what completing a log does to its data and what a caller should verify first. None of that is present, leaving the agent to infer the state change entirely.
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 100%, and the activityLogUUID description already explains it must be a valid UUID from get-activity-log-list for an existing log. The tool description contributes no additional parameter meaning, so the baseline 3 applies.
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 'Completes an activity log' restates the tool name almost verbatim; it names the resource but gives no specificity about what completing entails (finalizing, marking done, closing an open log). It does not distinguish from siblings such as start-activity-log or get-activity-log-list beyond the obvious verb.
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 when-to-use guidance, no prerequisite statement, and no reference to alternatives. The only hint that the log must exist and come from get-activity-log-list lives in the parameter schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-taskC
Creates a new task in the TODO feature.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional URL associated with the task. | |
| detail | No | Optional detail associated with the task. | |
| status | No | Optional. Creates the task with the specified todo status. | |
| taskName | Yes | create task name | |
| categoryUUID | No | category UUID. category UUID of get-todo-category-list | |
| deadlineDateTime | No | Deadline date and time in ISO format. | |
| scheduledEndDate | No | Scheduled end date in ISO format. | |
| scheduledStartDate | No | Scheduled start date in ISO format. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that: it does not say what happens to unspecified optional fields (e.g. the default status), whether a task name must be unique, or whether the categoryUUID must resolve via get-todo-category-list.
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?
It is a single, front-loaded sentence with no filler, so nothing is wasted. However, the brevity reflects under-specification for an 8-parameter mutation rather than disciplined conciseness.
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 an eight-parameter creation tool with no output schema, the description omits anything an agent might need: whether the created task is returned, what status defaults to when omitted, and how categoryUUID relates to the sibling get-todo-category-list tool. Only the schema carries that burden.
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 100% and every one of the 8 parameters is documented inline, including the enum for status and the ISO format for the date fields, so the schema does the work. The description adds no parameter meaning beyond that, which is the baseline 3 case for high-coverage schemas.
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 ("Creates a new task") and scopes it to the TODO feature, so the agent knows exactly what the tool produces. It does not distinguish itself from siblings like update-task or delete-task beyond the verb, which is the only thing keeping it from a 5.
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 when-to-use guidance, no mention of prerequisites, and no reference to alternatives such as update-task or get-tasks-list. The agent must infer from the verb alone that this is only for creating a task that does not yet exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete-taskADestructiveIdempotent
Permanently deletes a single task from the TODO feature. Use only when the user requests deletion or removal. Specify the todoUUID obtained from get-tasks-list; clarify the target if ambiguous. To complete a task, use update-task with status DONE. To find completed tasks, call get-tasks-list with completionStatus COMPLETED. Repeated deletion succeeds when no task owned by the caller matches; success does not confirm that a task previously existed.
| Name | Required | Description | Default |
|---|---|---|---|
| todoUUID | Yes | Task UUID obtained from get-tasks-list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint and idempotentHint, but the description adds non-obvious semantics beyond them: repeated deletion succeeds when nothing owned by the caller matches, and success does not prove a task previously existed. The caller-scoped ownership constraint is also disclosed, which annotations cannot express.
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 destructive action and its precondition, then routes to siblings. Dense but nearly all sentences earn their place; the get-tasks-list/COMPLETED sentence is the one that drifts furthest from the deletion task itself.
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 one parameter, full schema coverage, no output schema, and destructive/idempotent annotations, the definition closes the remaining gaps: what is destroyed, how to source the identifier, and how to interpret a success response. Nothing an agent needs before calling is missing.
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 100% and the single todoUUID parameter already documents its origin from get-tasks-list, so the description largely repeats the schema. The only added value is the instruction to clarify the target when ambiguous, which is workflow guidance rather than parameter meaning.
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 with scope: "Permanently deletes a single task from the TODO feature." The single-task and permanence qualifiers distinguish it from update-task and from any bulk operations in the sibling list.
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?
Gives an explicit gate ("Use only when the user requests deletion or removal") and names the correct alternative for the adjacent intent: update-task with status DONE for completion, and get-tasks-list for completed-item queries. It even prescribes clarifying ambiguous targets before acting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-active-gathersARead-only
Retrieves active scheduling polls created or previously viewed by the authenticated user. Unconfirmed polls remain active until the adjustment end time; confirmed events and recruitments remain active until their start time, inclusive. Events that have already started are excluded.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description still adds genuine behavioral context the annotations cannot: what 'active' means for unconfirmed polls vs. confirmed events, that the boundary is inclusive of start time, and that already-started events are excluded.
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 sentences, zero filler, front-loaded with the action and scope before the lifecycle rules. Every clause carries information an agent could not get from the schema or 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?
With no parameters, no output schema, and annotations covering the safety profile, the remaining burden is explaining what counts as a result, which the description handles well. It stops short of describing the shape of the returned poll objects or any ordering, which is the one gap for a listing tool with no output schema.
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 meaning for the description to supply; baseline 4 applies. The description correctly spends no words on inputs and instead spends them on result semantics.
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 resource ('Retrieves active scheduling polls') and immediately narrows scope to those 'created or previously viewed by the authenticated user.' That is far more precise than the tool name alone, though it never distinguishes itself from any of the listed sibling tools (calendar, task, activity-log), so an agent must infer that this is the only poll-listing tool.
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 definition of 'active' rather than stated as when-to-call guidance; there are no explicit exclusions or named alternatives. Since no sibling covers scheduling polls, the absence of alternatives is defensible, but the agent gets no signal about when this call is preferable or necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-activity-item-listCRead-only
Retrieves the list of activity items from the integration feature. Recognizes activity item UUID / item name
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that: no mention of result volume, ordering, pagination, or what the 'integration feature' source implies. The claim that it 'recognizes UUID / item name' is unexplained and adds ambiguity rather than transparency.
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 padding. The only weakness is that the second sentence is vague rather than wasteful, so the brevity is not fully earned.
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 parameters and no output schema, the description carries the full burden of explaining what comes back and how this differs from get-activity-log-list. It does neither, leaving the agent to guess the return shape and the sibling boundary.
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, which sets a baseline of 4, but the description's 'Recognizes activity item UUID / item name' reads like an input-filtering capability that the empty schema does not support. That mismatch creates doubt about how the tool is invoked, pulling the score down from the zero-param baseline.
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 verb+resource is specific ('Retrieves the list of activity items'), and the phrase 'from the integration feature' scopes the source. But the second sentence, 'Recognizes activity item UUID / item name,' is opaque and never clarifies what an 'activity item' is versus the sibling get-activity-log-list, so an agent cannot confidently distinguish the two.
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 when-to-use guidance at all. The closest sibling, get-activity-log-list, is not mentioned, and the description never says whether this is a lookup, a catalog dump, or something to call before start-activity-log or complete-activity-log.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-activity-log-listARead-only
Retrieves the list of activity logs from the integration feature. Since it is a record of what the person has done, if all the end dates are filled in, this person is not doing anything now. If there is one with a null end date, there should be at most one, and if there is one, it means that the person is doing it now. Recognizes activity log UUID / start date and time / end date and time / item name.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional maximum number of activity logs to retrieve. Defaults to 300. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real context beyond that: the invariant that at most one record can have a null end date and what that means about the person's current state — a data-shape fact an agent could not infer from annotations or schema. It stops short of disclosing pagination/truncation behavior at the 300-item cap.
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 front-loaded purpose sentence is good, but the middle two sentences are repetitive and awkwardly phrased ('if there is one with a null end date, there should be at most one, and if there is one...'). The closing sentence, 'Recognizes activity log UUID / start date and time / end date and time / item name,' is a slash-delimited field dump that reads ambiguously as either accepted inputs or returned fields, and given the only parameter is limit it risks misleading the reader.
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 one-parameter read-only list tool with full annotation coverage, the essential context is mostly present, and the final sentence gestures at return fields in the absence of an output schema. However, it is unclear whether those fields are returned or filterable, and nothing says what happens when more than 300 logs exist, so an agent cannot fully predict the response.
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 a single optional parameter with 100% schema description coverage, which sets the baseline at 3. The description never mentions 'limit' or its 300 default, so it contributes nothing beyond the schema for parameters.
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 resource: 'Retrieves the list of activity logs.' That much is unambiguous, but the qualifier 'from the integration feature' adds no discriminating information, and the definition never distinguishes itself from the sibling get-activity-item-list, which an agent could easily confuse it with.
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 only implied. The middle sentences teach the agent how to interpret the result (all end dates filled = not active now; a single null end date = currently active), which is a useful decision aid, but there is no explicit statement of when to call this versus get-activity-item-list, get-active-gathers, or start/complete-activity-log, and no exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-calendar-date-memoBRead-only
Retrieves a calendar date memo for the specified date. Recognizes target date and memo content.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Target date in YYYY-MM-DD format. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only that the memo's date and content are surfaced, with no mention of what happens when no memo exists for the given date — an important behavioral gap for a lookup tool.
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 first sentence is well front-loaded and efficient. The second sentence ('Recognizes target date and memo content') is vague and largely redundant with the first, weakening an otherwise tight two-sentence description.
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 one-parameter read tool with annotations and no output schema, the definition is minimally adequate. It omits what the tool returns when no memo is set for that date, which is the main thing an agent would need before relying on the result.
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 100% and the single 'date' parameter already documents the YYYY-MM-DD format and pattern. The description only restates 'for the specified date' and adds no format, timezone, or edge-case meaning beyond the 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?
States a specific verb and resource ('Retrieves a calendar date memo') scoped to 'the specified date', which clearly separates it from the sibling update-calendar-date-memo. It does not explicitly name the sibling, so it stops short of a 5.
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 explicit when-to-use or when-not-to-use statement and no named alternative. Usage is only implied by the contrast between 'Retrieves' here and the 'update-'/'create-' siblings, leaving the agent to infer the read-only lookup case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-japan-current-timeARead-only
Returns the current time in Japan (JST).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that the value is JST-localized and current (not a stored value), but says nothing about caching, precision, or return format.
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 short sentence with the key qualifier (Japan/JST) front-loaded and zero filler. Nothing could be removed without losing meaning.
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 no-parameter, read-only clock utility with full annotation coverage, the description is nearly sufficient. The one remaining gap is that with no output schema, the return format (ISO string, 12/24-hour, seconds resolution) is not described.
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 are zero parameters, so the baseline of 4 applies, but the description only implies the timezone through 'JST' rather than documenting it as a fixed scope; it adds little since there are no parameters to explain beyond the timezone label.
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 ('current time in Japan (JST)'), which is unambiguous. No sibling tool deals with time, so no differentiation is needed, but the description also doesn't explicitly contrast itself with anything, keeping it just below the top mark.
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 explicit when-to-use or when-not-to-use guidance, but the tool's single-purpose nature makes usage self-evident from the name and description. Implied usage only, no alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-tasks-listARead-only
Retrieves tasks from the TODO feature. By default it returns incomplete tasks. For tasks completed yesterday or during another period, set completionStatus to COMPLETED and pass completedStartDate and completedEndDate as RFC3339 date-times. Recognizes task uuid / task name / status / detail / completed date and time / scheduled start date and time / scheduled end date and time / deadline date and time / priority / category
| Name | Required | Description | Default |
|---|---|---|---|
| categoryUUIDs | No | Filters tasks by specified category UUIDs. | |
| completedEndDate | No | Exclusive completed-at range end in RFC3339 format, for example today at 00:00:00+09:00 when retrieving yesterday. | |
| completionStatus | No | Filters tasks by completion state. Omit this to retrieve incomplete tasks by default. Use COMPLETED for completed tasks. | |
| completedStartDate | No | Inclusive completed-at range start in RFC3339 format, for example yesterday at 00:00:00+09:00. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, destructiveHint false, and openWorldHint false, so the safety profile is covered. The description adds default filtering behavior, completed-date range usage, and a field list for returned tasks, though it omits ordering or pagination details.
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-loads the core retrieval purpose, then covers default and completed-task workflows, followed by a field list. The field list is somewhat long but useful given the absence of an output schema, and there is little wasted wording.
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 read-only list tool with full schema coverage and no output schema, the description covers default/completed retrieval and lists task fields that may be returned. It still leaves some gaps around result ordering, pagination, and the exact return structure.
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 100%, so the baseline is 3. The description reinforces the default completionStatus behavior and RFC3339 date handling for completed ranges, but most parameter semantics are already in the schema and categoryUUIDs is only implicitly referenced.
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: retrieves tasks from the TODO feature, with default incomplete scope and completed-task filtering. This clearly separates it from sibling write operations like create-task/update-task/delete-task and from get-todo-category-list.
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?
Explains the default behavior and the specific workflow for retrieving completed tasks by setting completionStatus to COMPLETED and supplying completedStartDate/completedEndDate. It does not name alternatives or exclusions, but the when-to-use context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-today-calendarARead-only
Retrieves scheduled events for yesterday/today/tomorrow from the linked Google Calendar. Recognizes event name / start date and time / end date and time.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so safety is covered. The description adds meaningful behavior the annotations do not: the data source is a linked Google Calendar and the window is fixed at yesterday/today/tomorrow, which tells the agent it cannot query arbitrary ranges.
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 core scope front-loaded and no padding. The trailing 'Recognizes event name / start date and time / end date and time' is awkwardly phrased and reads like a clipped field list rather than a clear statement of returned attributes.
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 should carry the burden of describing the return shape, and it only gesture at it via the vague 'Recognizes event name / start date and time / end date and time'. It also omits whether multiple linked calendars are merged and how timezone is handled, which matters given the presence of get-japan-current-time.
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; the baseline applies. Notably, the description does explain that the date window is fixed rather than selectable, which compensates for the empty 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?
The description names a specific verb (Retrieves) and resource (scheduled events from the linked Google Calendar) and makes the fixed scope explicit as yesterday/today/tomorrow. It is clearly differentiable from task-oriented siblings like get-tasks-list, though it does not name a calendar-specific alternative such as get-calendar-date-memo.
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 choose this tool over get-calendar-date-memo or the other calendar/task siblings, and no prerequisites or exclusions are stated. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-todo-category-listBRead-only
Retrieves the list of categories from the TODO feature. Recognizes category name / category UUID
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already state readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds essentially nothing about what the category list contains, whether it includes UUIDs alongside names, or how results are ordered or paginated.
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 first sentence is efficient and front-loaded. The second sentence is vague and potentially misleading because the tool has no input parameters, so it does not clearly earn its place.
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 annotations and no output schema, the description is minimally adequate. However, it leaves the shape and contents of the returned category list unexplained.
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, which is the baseline for a 4. The description adds no parameter meaning, but there are no parameters to explain.
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 gives a specific verb and resource: retrieving the list of categories from the TODO feature. It is distinguishable from the task-oriented siblings such as get-tasks-list and create-task, though the second sentence is ambiguous.
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 explicit when-to-use guidance or mention of alternatives. The phrase 'Recognizes category name / category UUID' faintly implies a resolution use case, but it is not a clear usage instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start-activity-logC
Starts an activity log.
| Name | Required | Description | Default |
|---|---|---|---|
| activityItemName | Yes | You must specify a valid itemName obtained from get-activity-item-list. This tool requires a pre-existing activity item. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose this is a non-read-only, non-destructive, closed-world mutation, so the agent knows the safety profile. The description adds nothing beyond that: it doesn't say whether starting is idempotent, whether a log can be started twice, whether it creates a timer, or what the caller gets back. A single short sentence for a state-changing operation leaves clear gaps.
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?
One front-loaded sentence with no wasted words, so it is structurally clean. However, the brevity comes at the cost of almost all useful content, making it under-specified rather than genuinely concise.
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?
This is a state-mutating tool with no output schema and only minimal annotations, so the description should explain the effect and lifecycle of starting a log. Instead it supplies only the verb and resource, leaving the agent to infer everything else from the schema and sibling names.
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 100% and the single parameter already carries a detailed description tying it to get-activity-item-list, so the schema does the heavy lifting. The tool description adds no additional meaning about the parameter, which is the baseline 3 for fully-documented schemas.
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 sentence "Starts an activity log" is essentially the tool name reworded with no additional specificity. It does not distinguish this from complete-activity-log or get-activity-log-list beyond the verb, and it never says what starting a log actually accomplishes.
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 gives no when-to-use guidance at all. The only prerequisite (a valid activityItemName from get-activity-item-list) lives in the parameter schema, not the description, and there is no mention of when to prefer this over the related log tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-calendar-date-memoCDestructive
Updates a calendar date memo for the specified date.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Target date in YYYY-MM-DD format. | |
| memo | Yes | Memo content for the date. Pass an empty or whitespace-only string to clear the memo. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the destructive nature is conveyed structurally. The description adds nothing beyond that: it never states that an existing memo is overwritten, that there is no undo, or that clearing is possible. The clearing behavior is buried in the memo parameter schema rather than surfaced here.
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 front-loaded sentence with zero filler, appropriately sized for a two-parameter tool. There is no wasted wording, though there is also no structure beyond the one 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 simple two-parameter mutation with full schema coverage and no output schema, the description is minimally adequate. However, a destructive overwrite operation arguably warrants at least a note that the previous memo is replaced, which is missing.
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 100%, so both parameters (date format YYYY-MM-DD and memo content including the empty-string clearing convention) are already fully documented in the schema. The description adds no meaning beyond that, which is the baseline 3 case.
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 uses a specific verb and resource ("Updates a calendar date memo") and scopes it to "the specified date," which is enough to distinguish it from the read-only sibling get-calendar-date-memo by verb contrast alone. It stops short of naming that sibling or describing what a memo is, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the get-calendar-date-memo counterpart, and no stated prerequisites or exclusions. The agent must infer from the name alone that this is the write path for memo content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-taskCDestructive
Updates a task in the TODO feature.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional URL associated with the task. If omitted, the current value is kept. | |
| detail | No | Optional detail associated with the task. If omitted, the current value is kept. | |
| status | No | Optional. Updates the todo status directly. Use this to switch tasks between TODO, PENDING, DOING, and DONE. | |
| taskName | No | Optional task name. If omitted, the current task name is kept. | |
| todoUUID | Yes | Task UUID. Please specify the task uuid (todo uuid) obtained from get-tasks-list. You cannot use this tool without specifying it. | |
| isCompleted | No | Optional. Backward-compatible completion update. true marks the task done. false preserves existing TODO or DOING tasks and reopens DONE tasks to TODO. | |
| categoryUUID | No | Optional category UUID associated with the task. Use get-todo-category-list to obtain a valid category UUID. Set to null to remove the current category. If omitted, the current value is kept. | |
| deadlineDateTime | No | Deadline date and time in ISO format. If omitted, the current value is kept. | |
| scheduledEndDate | No | Scheduled end date in ISO format. If omitted, the current value is kept. | |
| scheduledStartDate | No | Scheduled start date in ISO format. If omitted, the current value is kept. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the agent knows this mutates and can overwrite data. The description adds nothing beyond that: it does not disclose the partial-update semantics (omitted fields retained), null-clearing behavior for categoryUUID, or any consequence of a destructive update. With annotations carrying the safety profile, the description still fails to contribute any behavioral context.
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?
It is a single short sentence with no waste, but it is under-specified rather than genuinely concise. Nothing is front-loaded beyond a bare statement of purpose because there is nothing else to front-load.
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 10-parameter destructive mutation with no output schema, the description should at minimum explain partial-update behavior, null semantics, and how the status/isCompleted fields interact. None of that appears; the definition relies entirely on the schema and annotations to make the tool callable correctly.
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 100%, and the schema itself documents each field thoroughly, including omit-to-keep semantics, the status enum values, the isCompleted backward-compatibility behavior, and how to obtain a category UUID. The description adds no parameter meaning whatsoever, so the baseline of 3 applies since the schema does all the work.
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 verb and resource ("Updates a task"), which is minimally sufficient, but the qualifier "in the TODO feature" adds no real scope information and there is no differentiation from siblings such as create-task, delete-task, or update-calendar-date-memo. An agent knows broadly what the tool does but not what distinguishes it from adjacent tools.
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 use this tool versus alternatives, nor any prerequisites such as needing a todoUUID obtained from get-tasks-list (that detail lives only in the schema). The non-obvious choice between the `status` and `isCompleted` pathways is also left entirely to the schema descriptions rather than flagged in the description.
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.
14 tool updates
v1.0.43- First observed
complete-activity-log - First observed
create-task - First observed
delete-task - First observed
get-active-gathers - First observed
get-activity-item-list - First observed
get-activity-log-list - First observed
get-calendar-date-memo - First observed
get-japan-current-time - First observed
get-tasks-list - First observed
get-today-calendar - First observed
get-todo-category-list - First observed
start-activity-log - First observed
update-calendar-date-memo - First observed
update-task
TDQS
Scored across 14 tools
Most tools target a clearly distinct resource+action pair (task CRUD vs. calendar memo vs. activity log vs. scheduling polls). The only realistic confusion points are get-activity-item-list vs get-activity-log-list (same integration feature) and get-calendar-date-memo vs get-today-calendar (two different calendar sources), but descriptions give enough signal to separate them.
Every tool follows a uniform kebab-case verb_noun pattern: get-*, create-*, update-*, delete-*, start-*, complete-*. The verb prefix consistently indicates the operation class, so an agent can predict behavior from the name alone.
14 tools sit squarely in the well-scoped range and map onto five recognizable sub-domains (tasks, categories, calendar memo, Google Calendar, activity logs, polls). get-japan-current-time is a stray utility that could arguably be folded into other responses, but the set is not bloated.
Tasks have full CRUD, but several sibling domains are read-only or partial: calendar events can only be fetched (get-today-calendar) with no create/update, categories have no create/update, activity items are read-only, and activity logs have start/complete but no update/delete. Agents hitting these workflows will dead-end and must fall back to the external app.
Maintenance
Related MCP Connectors
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Manage projects, tasks, time tracking, and team collaboration through natural language.
Lets Claude, ChatGPT, and Muse read and update your beckett tasks, notes, calendar, and lists.
Tasks, calendar, notes and habits from ToDowl, in one workspace, for your AI client.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides AI assistants with a standardized interface to interact with the Todo for AI task management system. It enables users to retrieve project tasks, create new entries, and submit completion feedback through natural language.16 npmApache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to manage Todocko application data, including tasks, projects, worklogs, and attachments. It supports comprehensive project management operations such as tracking activity, managing Kanban boards, and handling shared project synchronization.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with the Toggl time tracking API to manage time entries, projects, and workspaces through natural language.22MIT
- FlicenseCqualityDmaintenanceEnables managing todo lists and tasks through natural language, supporting creation, status changes, and deletion.7-