Server definition
- Hash
- sha256:c64392c92f02cd4b5d12e0a305069a1ad36759789494a0431290e5dd5504d38e
- What it is
- What a remote MCP server returned when asked what it offers: 17 tools
The blob, as servednamed by its sha256
{
"instructions": "Done Bear is a GTD-style task manager. Tasks live in views: Inbox, Today, Upcoming, Anytime, Someday, Logbook (completed), and Trash (archived).\n\nget_context is orientation, not a warm-up. Call it when you need to resolve a project, label, team, or member by name, or when the user asks what is in their workspace, and skip it otherwise: going straight to the tool that answers the question is faster and the tools resolve names themselves. Pass the user's IANA timezone (e.g. Australia/Melbourne) to every tool that accepts it — Today and Upcoming are calendar-day dependent, and without a timezone the server resolves \"today\" in UTC.\n\nA new task goes to Today by default: task_add without a `when` schedules it for the caller's today. Pass `when: \"inbox\"` when the user is only capturing something. This makes the timezone matter on every create, not just on reads. Three things change that default when you do not state a `when`: no `timezone` and it lands in anytime, because today cannot be resolved; a `deadline` and it lands in anytime, because the work is due later rather than now; a `project` or `team` and it lands in inbox, because the task is already filed and should not also fill up Today.\n\nDates are YYYY-MM-DD. Tasks use a workspace-scoped positive number in the `task` parameter, and every task write also takes `tasks` for up to 50 of them at once. Checklist item ids accept a full UUID or a prefix of 4+ characters; projects, teams, labels, and members also resolve by name. Failed lookups name the candidates, so read the error before retrying.\n\nThe tools are shaped by what you are working on rather than by operation: `checklist`, `comment`, `attachment` and `project` each take an `action`, and `task_show` returns a task's checklist, labels and (via `include`) its comments and files.\n\nConfirm with the user before anything that touches many tasks at once or is hard to undo: a `tasks` array, archiving, removing a comment, and clearing fields.\n\nCall `guide` for the detail on a topic before working in it for the first time:\n\n- `views`: Placing a task in Inbox/Today/Upcoming/Anytime/Someday, reading a view, or working out why Today looks wrong.\n- `dates`: Setting or clearing a due date, or deciding between a deadline and a start date.\n- `editing`: Changing a task's fields, clearing a value, appending to notes, or moving a task between projects.\n- `bulk`: Completing, moving, or editing more than one task at a time, or sweeping a whole view.\n- `checklists`: Adding sub-steps to a task, building a list inside a task, or ticking items off.\n- `comments`: Discussing a task with teammates: reading its thread, replying, or correcting a comment.\n- `projects`: Deciding where a task belongs, creating a project or label, changing a project's status, or joining/leaving a project.\n- `search`: Looking a task up, listing a view, paging through results, or orienting in a new workspace.\n- `workspaces`: Working across multiple workspaces, hitting a permission or rate-limit error, or making retries safe.\n- `agents`: Starting work in a Done Bear workspace for the first time.\n- `importing`: The user asks how to move their tasks in from Todoist, Things, Trello or a CSV.",
"tools": [
{
"description": "Add a file to a task or remove one. `action: \"add\"` fetches the given HTTPS `url`: the server downloads it, verifies its size and type, and stores it, so the model never sends file bytes. Pass a stable idempotency_key and reuse it for retries so a lost response cannot upload the file twice. `action: \"remove\"` deletes the named `attachment`. Read a task's files with task_show and `include: [\"attachments\"]`. Limited to 10 attachments per task and 10 MB per file. Allowed types: images (jpeg, png, gif, webp, heic), PDF, CSV, Markdown, and plain text.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"description": "Whether to attach a file or delete one",
"enum": [
"add",
"remove"
],
"type": "string"
},
"attachment": {
"description": "Attachment UUID or prefix (>= 4 chars). Required to remove",
"minLength": 4,
"type": "string"
},
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"filename": {
"description": "Display filename on an add; defaults to the URL's last path segment",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"idempotency_key": {
"description": "Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"task": {
"description": "Workspace-scoped task number, encoded as a string",
"pattern": "^[1-9]\\d*$",
"type": "string"
},
"url": {
"description": "HTTPS URL of the file to attach. Required to add",
"format": "uri",
"type": "string"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"action",
"task",
"context"
],
"type": "object"
},
"name": "attachment",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"attachment": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"filename": {
"type": "string"
},
"id": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"sizeBytes": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"url": {
"type": "string"
}
},
"required": [
"filename",
"id",
"mediaType",
"sizeBytes",
"url"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "The stored file on an add; null on a remove"
},
"id": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"taskId": {
"type": "string"
}
},
"required": [
"action",
"attachment",
"id",
"ok",
"taskId"
],
"type": "object"
}
},
{
"description": "Change the checklist on a task. `action: \"add\"` appends items, unchecked, after the existing ones: pass every title for a multi-item list in one call (`titles` keeps the given order, while parallel single adds land in arrival order). `action: \"edit\"` renames an item and/or checks it (`completed: true`) or unchecks it (`completed: false`). `action: \"remove\"` deletes one. Read the list, with each item's id and state, from task_show.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"description": "What to do to the checklist",
"enum": [
"add",
"edit",
"remove"
],
"type": "string"
},
"completed": {
"description": "Check (true) or uncheck (false) the item, on an edit",
"type": "boolean"
},
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"idempotency_key": {
"description": "Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"item": {
"description": "Checklist item UUID or prefix (>= 4 chars). Required to edit or remove",
"minLength": 4,
"type": "string"
},
"task": {
"description": "Workspace-scoped task number, encoded as a string",
"pattern": "^[1-9]\\d*$",
"type": "string"
},
"title": {
"description": "One item title to add, or the new title on an edit",
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"titles": {
"description": "Several item titles to add, kept in the given order (use instead of `title`)",
"items": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"action",
"task",
"context"
],
"type": "object"
},
"name": "checklist",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"count": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"items": {
"description": "The items the call created or changed",
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"title"
],
"type": "object"
},
"type": "array"
},
"ok": {
"type": "boolean"
},
"taskId": {
"type": "string"
}
},
"required": [
"action",
"count",
"items",
"ok",
"taskId"
],
"type": "object"
}
},
{
"description": "Write on a task's comment thread. `action: \"add\"` posts a comment, attributed to the connected user and visible to everyone in the workspace, so write it as a message to the user's teammates rather than a note to the user; nobody is notified. `action: \"edit\"` rewrites one of your own (only its author may, and it is then marked edited). `action: \"remove\"` deletes one permanently — comments have no Trash — so confirm with the user first. Read the thread with task_show and `include: [\"comments\"]`.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"description": "What to do on the thread",
"enum": [
"add",
"edit",
"remove"
],
"type": "string"
},
"body": {
"description": "Comment text. Required to add or edit",
"maxLength": 10000,
"minLength": 1,
"type": "string"
},
"comment": {
"description": "Comment UUID or prefix (>= 4 chars). Required to edit or remove",
"minLength": 4,
"type": "string"
},
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"idempotency_key": {
"description": "Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"task": {
"description": "Workspace-scoped task number, encoded as a string",
"pattern": "^[1-9]\\d*$",
"type": "string"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"action",
"task",
"context"
],
"type": "object"
},
"name": "comment",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"id": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"taskId": {
"type": "string"
}
},
"required": [
"action",
"id",
"ok",
"taskId"
],
"type": "object"
}
},
{
"description": "Get a snapshot of the current workspace: task counts per view, recent open tasks, and every project, label, team and member. This is the tool that answers what is in the workspace and resolves a project, label, team or member by name — there is no separate list tool for those. Use it for that, not as a warm-up before every turn. For tasks themselves use task_list (a view), search (by words) or task_show (one task): the recent tasks here are only the latest few.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"projects_status": {
"default": "active",
"description": "Which projects to return",
"enum": [
"active",
"done",
"archived",
"all"
],
"type": "string"
},
"tasks_limit": {
"default": 10,
"description": "Max recent open tasks to return",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"timezone": {
"description": "IANA timezone used to resolve \"today\" for views and scheduling (e.g. Australia/Melbourne). Defaults to UTC, which misclassifies Today/Upcoming for users in other timezones, so always pass the user's timezone when known.",
"type": "string"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"context"
],
"type": "object"
},
"name": "get_context",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"labels": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title"
],
"type": "object"
},
"type": "array"
},
"members": {
"items": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"userId": {
"type": "string"
}
},
"required": [
"name",
"userId"
],
"type": "object"
},
"type": "array"
},
"projects": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"targetDate": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"key",
"name",
"status",
"targetDate"
],
"type": "object"
},
"type": "array"
},
"recentTasks": {
"items": {
"additionalProperties": false,
"properties": {
"deadline": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
},
"number": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"projectId": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
},
"view": {
"type": [
"string",
"null"
]
}
},
"required": [
"deadline",
"id",
"number",
"projectId",
"title",
"view"
],
"type": "object"
},
"type": "array"
},
"taskCounts": {
"additionalProperties": false,
"properties": {
"archived": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"done": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"open": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"total": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"archived",
"done",
"open",
"total"
],
"type": "object"
},
"teams": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"key",
"name"
],
"type": "object"
},
"type": "array"
},
"today": {
"description": "Today's date (YYYY-MM-DD) in the requested timezone (UTC when none given)",
"type": "string"
},
"viewCounts": {
"additionalProperties": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"labels",
"members",
"projects",
"recentTasks",
"taskCounts",
"teams",
"today",
"viewCounts"
],
"type": "object"
}
},
{
"description": "Read Done Bear's guide for one topic: what the data means, how it relates to the rest of the product, and how to use it well. Load a topic before doing that kind of work for the first time in a session.\n\n- `views`: Placing a task in Inbox/Today/Upcoming/Anytime/Someday, reading a view, or working out why Today looks wrong.\n- `dates`: Setting or clearing a due date, or deciding between a deadline and a start date.\n- `editing`: Changing a task's fields, clearing a value, appending to notes, or moving a task between projects.\n- `bulk`: Completing, moving, or editing more than one task at a time, or sweeping a whole view.\n- `checklists`: Adding sub-steps to a task, building a list inside a task, or ticking items off.\n- `comments`: Discussing a task with teammates: reading its thread, replying, or correcting a comment.\n- `projects`: Deciding where a task belongs, creating a project or label, changing a project's status, or joining/leaving a project.\n- `search`: Looking a task up, listing a view, paging through results, or orienting in a new workspace.\n- `workspaces`: Working across multiple workspaces, hitting a permission or rate-limit error, or making retries safe.\n- `agents`: Starting work in a Done Bear workspace for the first time.\n- `importing`: The user asks how to move their tasks in from Todoist, Things, Trello or a CSV.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"topic": {
"description": "Guide topic to read",
"enum": [
"views",
"dates",
"editing",
"bulk",
"checklists",
"comments",
"projects",
"search",
"workspaces",
"agents",
"importing"
],
"type": "string"
}
},
"required": [
"topic",
"context"
],
"type": "object"
},
"name": "guide",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"markdown": {
"type": "string"
},
"title": {
"type": "string"
},
"topic": {
"type": "string"
}
},
"required": [
"markdown",
"title",
"topic"
],
"type": "object"
}
},
{
"description": "Create a new label in the workspace and return its id. Only creates the label: to put it on a task, pass it to task_add `labels` or task_edit `add_labels` afterwards (both take the title). Titles are not unique, so a second call with the same title makes a duplicate — check the labels get_context returns first, and reuse one that already exists.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"idempotency_key": {
"description": "Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"title": {
"description": "Label title",
"maxLength": 255,
"minLength": 1,
"type": "string"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"title",
"context"
],
"type": "object"
},
"name": "label_create",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"ok",
"title"
],
"type": "object"
}
},
{
"description": "Create or change a project. `action: \"add\"` creates one (name required). `action: \"edit\"` updates the named project: only the fields given change, and an empty string clears description or target_date. `action: \"join\"` puts it in the caller's Your projects sidebar list and `action: \"leave\"` takes it out. Read projects with get_context.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"description": "What to do with the project",
"enum": [
"add",
"edit",
"join",
"leave"
],
"type": "string"
},
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"description": {
"description": "Project description (empty string clears it on an edit)",
"type": "string"
},
"idempotency_key": {
"description": "Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"name": {
"description": "Project name. Required on add; a rename on edit",
"minLength": 1,
"type": "string"
},
"project": {
"description": "Project id, key, or name. Required for edit, join and leave",
"minLength": 1,
"type": "string"
},
"status": {
"description": "Project status (edit only)",
"enum": [
"active",
"on_hold",
"done",
"cancelled"
],
"type": "string"
},
"target_date": {
"description": "Target date (YYYY-MM-DD), or an empty string to clear it (edit only)",
"type": "string"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"action",
"context"
],
"type": "object"
},
"name": "project",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"id": {
"type": "string"
},
"key": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"ok": {
"type": "boolean"
}
},
"required": [
"action",
"id",
"key",
"name",
"ok"
],
"type": "object"
}
},
{
"description": "Search tasks across the workspace. Ranked lexical search over title and description: exact and prefix matches rank first, then word-boundary, substring, and fuzzy matches, with recency and status factored in. Multi-word queries match in any order. Searches every state by default, completed and archived included. Use this when the user names a task by its words; use task_list to browse a view (Today, Inbox, …) and task_show once you have the task number.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"cursor": {
"description": "Opaque pagination cursor from a previous call's `nextCursor`. Pass it with the same filters to fetch the next page.",
"type": "string"
},
"limit": {
"default": 20,
"description": "Max results",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Search query (matches title and description)",
"minLength": 1,
"type": "string"
},
"state": {
"default": "all",
"description": "Filter by task state",
"enum": [
"open",
"done",
"archived",
"all"
],
"type": "string"
},
"timezone": {
"description": "IANA timezone used to resolve \"today\" for views and scheduling (e.g. Australia/Melbourne). Defaults to UTC, which misclassifies Today/Upcoming for users in other timezones, so always pass the user's timezone when known.",
"type": "string"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"query",
"context"
],
"type": "object"
},
"name": "search",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"count": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"hasMore": {
"description": "True when more results matched than were returned",
"type": "boolean"
},
"nextCursor": {
"type": [
"string",
"null"
]
},
"query": {
"type": "string"
},
"tasks": {
"items": {
"additionalProperties": false,
"properties": {
"agentAssigneeId": {
"type": [
"string",
"null"
]
},
"assigneeId": {
"type": [
"string",
"null"
]
},
"completed": {
"description": "The date (YYYY-MM-DD) the task was completed, in the requested timezone. Null while it is still open",
"type": [
"string",
"null"
]
},
"completedAt": {
"description": "Completion instant in UTC (ISO 8601), or null for an unfinished task",
"type": [
"string",
"null"
]
},
"deadline": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
},
"number": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"projectId": {
"type": [
"string",
"null"
]
},
"revision": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"startDate": {
"type": [
"string",
"null"
]
},
"state": {
"type": "string"
},
"teamId": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
},
"view": {
"type": [
"string",
"null"
]
}
},
"required": [
"agentAssigneeId",
"assigneeId",
"completed",
"completedAt",
"deadline",
"description",
"id",
"number",
"projectId",
"revision",
"startDate",
"state",
"teamId",
"title",
"view"
],
"type": "object"
},
"type": "array"
},
"total": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"count",
"hasMore",
"nextCursor",
"query",
"tasks",
"total"
],
"type": "object"
}
},
{
"description": "Create a new task. The `when` parameter controls which GTD view it appears in: today (default), inbox, upcoming, anytime, or someday. A new task lands in Today unless you say otherwise, so pass `when: \"inbox\"` for a capture the user has not committed to doing today. Because the default is date-dependent, always pass the user's `timezone` — without it today is resolved in UTC. Dates use YYYY-MM-DD format. Optionally set an assignee, attach existing labels, and create checklist items at creation. For a task with sub-items (e.g. a shopping list), pass them in `checklist` in one call: their order is preserved exactly. The result names the view the task landed in. This only creates: to change a task that already exists use task_edit (fields) or checklist (items), and search first when the user may be describing a task they already have.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"assignee": {
"description": "Member user id, name, or email to assign the task to",
"type": "string"
},
"checklist": {
"description": "Checklist item titles to create on the task, kept in the given order",
"items": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"maxItems": 100,
"type": "array"
},
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"deadline": {
"description": "Due date in YYYY-MM-DD format",
"type": "string"
},
"idempotency_key": {
"description": "Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"labels": {
"description": "Labels to attach (each a label id, title, or id prefix)",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"notes": {
"description": "Task description/notes",
"type": "string"
},
"project": {
"description": "Project id, key, or name to assign this task to",
"type": "string"
},
"team": {
"description": "Team id, key, or name",
"type": "string"
},
"timezone": {
"description": "IANA timezone used to resolve \"today\" for views and scheduling (e.g. Australia/Melbourne). Defaults to UTC, which misclassifies Today/Upcoming for users in other timezones, so always pass the user's timezone when known.",
"type": "string"
},
"title": {
"description": "Task title",
"minLength": 1,
"type": "string"
},
"when": {
"description": "GTD view bucket: today, inbox, upcoming, anytime, someday. Omitting this means today, with three exceptions: a deadline or a missing timezone falls back to anytime (the work is due later, or today cannot be resolved), and a project or team falls back to inbox (the task is already filed). Pass timezone to get today. Use \"inbox\" for a capture the user has not committed to doing.",
"enum": [
"inbox",
"anytime",
"today",
"upcoming",
"someday"
],
"type": "string"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"title",
"context"
],
"type": "object"
},
"name": "task_add",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"checklistCount": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"id": {
"type": "string"
},
"number": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"ok": {
"type": "boolean"
},
"title": {
"type": "string"
},
"view": {
"enum": [
"inbox",
"anytime",
"today",
"upcoming",
"someday"
],
"type": "string"
}
},
"required": [
"checklistCount",
"id",
"number",
"ok",
"title",
"view"
],
"type": "object"
}
},
{
"description": "Read the task-agent identity bound to this connection's existing API key in one explicit workspace. Returns only key metadata and the exact agent UUID or null; an inactive agent includes disabledAt. Requires an API-key connection and current workspace membership. Does not register, assign or start any task. Use this before task_agent_register and retain key.id as expected_key_id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"workspace_id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"workspace_id",
"context"
],
"type": "object"
},
"name": "task_agent_get",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"disabledAt": {
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"disabledAt",
"id",
"name"
],
"type": "object"
},
{
"type": "null"
}
]
},
"created": {
"type": "boolean"
},
"key": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"label": {
"type": "string"
},
"ownerId": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"scopes": {
"items": {
"type": "string"
},
"type": "array"
},
"workspaceIds": {
"anyOf": [
{
"items": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"label",
"ownerId",
"scopes",
"workspaceIds"
],
"type": "object"
},
"ok": {
"const": true,
"type": "boolean"
},
"workspaceId": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"agent",
"created",
"key",
"workspaceId",
"ok"
],
"type": "object"
}
},
{
"description": "Explicitly register one assignable task agent for this connection's existing key in one workspace, after the user approves that durable binding. Requires a write-scoped API key restricted to exactly this workspace and an owner/admin membership. Read task_agent_get first and pass its key.id as expected_key_id. Same key/workspace/name retries return the same UUID; conflicting or inactive bindings fail without takeover or reactivation. Creates no key, changes no scope, and does not assign/import/start tasks.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"expected_key_id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"name": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"workspace_id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"expected_key_id",
"name",
"workspace_id",
"context"
],
"type": "object"
},
"name": "task_agent_register",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"disabledAt": {
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"disabledAt",
"id",
"name"
],
"type": "object"
},
{
"type": "null"
}
]
},
"created": {
"type": "boolean"
},
"key": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"label": {
"type": "string"
},
"ownerId": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"scopes": {
"items": {
"type": "string"
},
"type": "array"
},
"workspaceIds": {
"anyOf": [
{
"items": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"label",
"ownerId",
"scopes",
"workspaceIds"
],
"type": "object"
},
"ok": {
"const": true,
"type": "boolean"
},
"workspaceId": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"agent",
"created",
"key",
"workspaceId",
"ok"
],
"type": "object"
}
},
{
"description": "Archive a task, or several at once with `tasks` (max 50). They move to the Trash view, out of every working list, and stay readable there (task_list `view: \"trash\"`). Archiving is not completing: use task_done for work that was finished, and task_archive only for tasks the user wants gone. Confirm with the user first.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"task": {
"description": "Workspace-scoped task number, encoded as a string",
"pattern": "^[1-9]\\d*$",
"type": "string"
},
"tasks": {
"description": "Several workspace-scoped task numbers (max 50), instead of `task`. Confirm the list with the user first: one call changes every task in it.",
"items": {
"description": "Workspace-scoped task number, encoded as a string",
"pattern": "^[1-9]\\d*$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"context"
],
"type": "object"
},
"name": "task_archive",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"count": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"ok": {
"type": "boolean"
},
"tasks": {
"description": "Every task the call changed, in the order it was given",
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"number": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"number",
"title"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"action",
"count",
"ok",
"tasks"
],
"type": "object"
}
},
{
"description": "Mark a task as complete, or several at once with `tasks` (max 50). They move to the Logbook view. A set of 50 is undone one task_reopen call at a time, so confirm the list with the user first.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"expectedRevision": {
"description": "Complete only the reviewed task revision from task_show or task_list. Use with task, not tasks. A changed task returns a conflict; reload and review before trying again.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"task": {
"description": "Workspace-scoped task number, encoded as a string",
"pattern": "^[1-9]\\d*$",
"type": "string"
},
"tasks": {
"description": "Several workspace-scoped task numbers (max 50), instead of `task`. Confirm the list with the user first: one call changes every task in it.",
"items": {
"description": "Workspace-scoped task number, encoded as a string",
"pattern": "^[1-9]\\d*$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"context"
],
"type": "object"
},
"name": "task_done",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"count": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"ok": {
"type": "boolean"
},
"tasks": {
"description": "Every task the call changed, in the order it was given",
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"number": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"number",
"title"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"action",
"count",
"ok",
"tasks"
],
"type": "object"
}
},
{
"description": "Update fields on one task (`task`) or on several at once (`tasks`, max 50). Only the provided fields are changed; omitted fields are left untouched. To remove a value, list the field in `clear` (e.g. `clear: [\"deadline\"]`). Notes replace the existing notes (no append). `assignee` assigns the task; clear it to unassign. `add_labels` and `remove_labels` change which labels are on it. Editing several tasks applies the same changes to every one of them and cannot be undone in one call, so confirm the list with the user first. For status changes use task_done, task_reopen or task_archive, and for checklist items use checklist; this tool does not change either.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"add_labels": {
"description": "Labels to attach (each a label id, title, or id prefix). The label has to exist already — create one with label_create",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"assignee": {
"description": "Assign to a member (user id, name, or email)",
"type": "string"
},
"clear": {
"description": "Fields to remove a value from, e.g. [\"deadline\"]. Use this rather than sending an empty string.",
"items": {
"enum": [
"deadline",
"project",
"team",
"assignee",
"notes"
],
"type": "string"
},
"type": "array"
},
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"deadline": {
"description": "Set due date (YYYY-MM-DD)",
"type": "string"
},
"notes": {
"description": "New description/notes (replaces existing)",
"type": "string"
},
"project": {
"description": "Project id, key, or name",
"type": "string"
},
"remove_labels": {
"description": "Labels to detach (each a label id, title, or id prefix)",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"task": {
"description": "Workspace-scoped task number, encoded as a string",
"pattern": "^[1-9]\\d*$",
"type": "string"
},
"tasks": {
"description": "Several workspace-scoped task numbers (max 50), instead of `task`. Confirm the list with the user first: one call changes every task in it.",
"items": {
"description": "Workspace-scoped task number, encoded as a string",
"pattern": "^[1-9]\\d*$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"team": {
"description": "Team id, key, or name",
"type": "string"
},
"timezone": {
"description": "IANA timezone used to resolve \"today\" for views and scheduling (e.g. Australia/Melbourne). Defaults to UTC, which misclassifies Today/Upcoming for users in other timezones, so always pass the user's timezone when known.",
"type": "string"
},
"title": {
"description": "New title",
"type": "string"
},
"when": {
"description": "Move to a different GTD view",
"enum": [
"inbox",
"anytime",
"today",
"upcoming",
"someday"
],
"type": "string"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"context"
],
"type": "object"
},
"name": "task_edit",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"count": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"ok": {
"type": "boolean"
},
"tasks": {
"description": "Every task the call changed, in the order it was given",
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"number": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"number",
"title"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"action",
"count",
"ok",
"tasks"
],
"type": "object"
}
},
{
"description": "List tasks in the workspace, most recently updated first. Completed tasks are ordered by completion time, newest first. Filter by view (inbox, today, upcoming, anytime, someday, logbook, trash) and/or state (open, done, archived, all); `search` ranks matches within that filter. `view: \"logbook\"` reads completed tasks and `view: \"trash\"` archived ones, whatever `state` says. Returns up to `limit` tasks; `hasMore` is true when more matched than were returned, and passing `nextCursor` back as `cursor` reads the next page. To find a task by its words across every view use search instead, and task_show for one task's checklist, comments and files.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"cursor": {
"description": "Opaque pagination cursor from a previous call's `nextCursor`. Pass it with the same filters to fetch the next page.",
"type": "string"
},
"limit": {
"default": 20,
"description": "Max results",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"search": {
"description": "Ranked lexical search over title/description; when set, results are ordered by relevance instead of recency",
"type": "string"
},
"state": {
"default": "open",
"description": "Filter by task state",
"enum": [
"open",
"done",
"archived",
"all"
],
"type": "string"
},
"timezone": {
"description": "IANA timezone used to resolve \"today\" for views and scheduling (e.g. Australia/Melbourne). Defaults to UTC, which misclassifies Today/Upcoming for users in other timezones, so always pass the user's timezone when known.",
"type": "string"
},
"view": {
"description": "Filter by GTD view bucket. logbook and trash read the completed and archived tasks regardless of `state`",
"enum": [
"inbox",
"anytime",
"today",
"upcoming",
"someday",
"logbook",
"trash"
],
"type": "string"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"context"
],
"type": "object"
},
"name": "task_list",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"count": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"hasMore": {
"description": "True when more results matched than were returned",
"type": "boolean"
},
"nextCursor": {
"type": [
"string",
"null"
]
},
"tasks": {
"items": {
"additionalProperties": false,
"properties": {
"agentAssigneeId": {
"type": [
"string",
"null"
]
},
"assigneeId": {
"type": [
"string",
"null"
]
},
"completed": {
"description": "The date (YYYY-MM-DD) the task was completed, in the requested timezone. Null while it is still open",
"type": [
"string",
"null"
]
},
"completedAt": {
"description": "Completion instant in UTC (ISO 8601), or null for an unfinished task",
"type": [
"string",
"null"
]
},
"deadline": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
},
"number": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"projectId": {
"type": [
"string",
"null"
]
},
"revision": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"startDate": {
"type": [
"string",
"null"
]
},
"state": {
"type": "string"
},
"teamId": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
},
"view": {
"type": [
"string",
"null"
]
}
},
"required": [
"agentAssigneeId",
"assigneeId",
"completed",
"completedAt",
"deadline",
"description",
"id",
"number",
"projectId",
"revision",
"startDate",
"state",
"teamId",
"title",
"view"
],
"type": "object"
},
"type": "array"
},
"total": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"count",
"hasMore",
"nextCursor",
"tasks",
"total"
],
"type": "object"
}
},
{
"description": "Reopen a completed task, or several at once with `tasks` (max 50). Each returns to its previous view.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"task": {
"description": "Workspace-scoped task number, encoded as a string",
"pattern": "^[1-9]\\d*$",
"type": "string"
},
"tasks": {
"description": "Several workspace-scoped task numbers (max 50), instead of `task`. Confirm the list with the user first: one call changes every task in it.",
"items": {
"description": "Workspace-scoped task number, encoded as a string",
"pattern": "^[1-9]\\d*$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"context"
],
"type": "object"
},
"name": "task_reopen",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"count": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"ok": {
"type": "boolean"
},
"tasks": {
"description": "Every task the call changed, in the order it was given",
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"number": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"number",
"title"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"action",
"count",
"ok",
"tasks"
],
"type": "object"
}
},
{
"description": "Get full details for a single task: its fields, labels and checklist items, by workspace-scoped task number. Add `include` for the parts that cost extra reads: `[\"comments\"]` for the discussion thread (oldest first, with author and whether each was edited) and `[\"attachments\"]` for the files on it, each with a short-lived signed URL.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
"type": "string"
},
"include": {
"description": "Extra sections to load. Omit unless you need them: each is its own round trip",
"items": {
"enum": [
"comments",
"attachments"
],
"type": "string"
},
"type": "array"
},
"task": {
"description": "Workspace-scoped task number, encoded as a string",
"pattern": "^[1-9]\\d*$",
"type": "string"
},
"timezone": {
"description": "IANA timezone used to resolve \"today\" for views and scheduling (e.g. Australia/Melbourne). Defaults to UTC, which misclassifies Today/Upcoming for users in other timezones, so always pass the user's timezone when known.",
"type": "string"
},
"workspace": {
"description": "Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices",
"type": "string"
}
},
"required": [
"task",
"context"
],
"type": "object"
},
"name": "task_show",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"attachments": {
"items": {
"additionalProperties": false,
"properties": {
"filename": {
"type": "string"
},
"id": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"sizeBytes": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"url": {
"type": "string"
}
},
"required": [
"filename",
"id",
"mediaType",
"sizeBytes",
"url"
],
"type": "object"
},
"type": "array"
},
"checklistItems": {
"items": {
"additionalProperties": false,
"properties": {
"completed": {
"type": "boolean"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"completed",
"id",
"title"
],
"type": "object"
},
"type": "array"
},
"comments": {
"items": {
"additionalProperties": false,
"properties": {
"author": {
"description": "Display name of the member who wrote it",
"type": "string"
},
"authorId": {
"type": "string"
},
"body": {
"type": "string"
},
"createdAt": {
"description": "ISO 8601 instant",
"type": [
"string",
"null"
]
},
"edited": {
"description": "True when the body has been changed since it was posted",
"type": "boolean"
},
"id": {
"type": "string"
}
},
"required": [
"author",
"authorId",
"body",
"createdAt",
"edited",
"id"
],
"type": "object"
},
"type": "array"
},
"labels": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title"
],
"type": "object"
},
"type": "array"
},
"task": {
"additionalProperties": false,
"properties": {
"agentAssigneeId": {
"type": [
"string",
"null"
]
},
"assigneeId": {
"type": [
"string",
"null"
]
},
"completed": {
"description": "The date (YYYY-MM-DD) the task was completed, in the requested timezone. Null while it is still open",
"type": [
"string",
"null"
]
},
"completedAt": {
"description": "Completion instant in UTC (ISO 8601), or null for an unfinished task",
"type": [
"string",
"null"
]
},
"deadline": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
},
"number": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"projectId": {
"type": [
"string",
"null"
]
},
"revision": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"startDate": {
"type": [
"string",
"null"
]
},
"state": {
"type": "string"
},
"teamId": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
},
"view": {
"type": [
"string",
"null"
]
}
},
"required": [
"agentAssigneeId",
"assigneeId",
"completed",
"completedAt",
"deadline",
"description",
"id",
"number",
"projectId",
"revision",
"startDate",
"state",
"teamId",
"title",
"view"
],
"type": "object"
}
},
"required": [
"checklistItems",
"labels",
"task"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:c64392c92f02cd4b5d12e0a305069a1ad36759789494a0431290e5dd5504d38e | sha256sum