Repository navigation
Releases: tasklite-net/tasklite-mcp
Release list
0.13.0 — see and test push notifications
Push notifications reached the API, so the tools can see and test them.
A live connection reaches a phone only while the app is on screen; the operating system closes it the moment the app goes to the background. What actually reaches someone whose app is closed is a push, and it now exists as a send_push automation action.
Added
push_status. Whether an app can notify phones, whose Firebase project it sends through, and how many devices have registered. When nothing is set up it says how to set it up — and says plainly that the service account is a private key which must not be pasted into a chat.send_test_push. One real notification to named app users, so the chain can be proven before an automation depends on it. The answer separates "delivered", "this user has no device yet" and "the service says this device is gone", because those are three different problems.
On the API
POST /apps/{slug}/api/devices registers a phone; POST /organizations/{org}/apps/{id}/push/credentials takes the customer's own Firebase service account, encrypted at rest; send_push is a new automation action that defaults to the row's owner.
0.12.0 — query_items can filter, sort and search
query_items could only page. Anyone who wanted "the workouts assigned to me that are not done, newest first" had to fetch every row and filter on their side — slow, expensive, and it reads like the product cannot query its own data. The REST endpoint behind it always accepted search, status, priority and a sort field; the tool simply never passed them.
Added
query_itemstakessearch,status,priority,sortandarchived.searchmatches the row title and its text cells;statusandprioritytake a comma-separated list;sorttakestitle,createdAt,updatedAtorstatuswith a leading-for descending;archivedchoosesactive(the default),archivedorall. They apply to the paging loop too, so an unpaged call comes back narrowed instead of pulling every row first.
Changed
query_itemsnow says in its description that a published app's own REST endpoints take a fuller grammar — nine filter operators per column, relation filters, per-field search — and points atget_app_spec. The tool is the admin view of a board, not the app's query language.
Alongside this, on the API
Sorting by updatedAt is new on the server too. The App API also gained the three things a client needs to work offline: ?since= (what changed, plus the ids that were deleted, plus a cursor), Idempotency-Key on writes, and POST /<endpoint>/batch for up to 50 operations. All three are in each app's generated OpenAPI.
v0.11.0 — delete_project, records not tasks, honest errors
From a reviewer's report on API quality.
Added
delete_project. Boards, columns and rows could be deleted and projects could not, so anything built for a test stayed forever. The project goes to the organization recycle bin and can be restored from the admin.
Changed
query_itemson a data board returns records, not tasks:status,priority,dueDate,subtaskProgressand the rest of the task fields are left out, matching what the App API already does for those boards.build_backendsays when a row has no title and no text value, so nothing can reference it, instead of reporting the missing title as a problem in the board that pointed at it. The description now matches the code.
v0.10.1 — build_backend cleans up after itself
Fixed
build_backendno longer leaves a half-built project behind. When the plan does not allow another published app it says so before creating anything, and if any later step fails it removes the project and the app it made instead of naming them in an error message.
Server-side fixes shipped the same day and need no client update: links made when a row is created are now written to the relation graph, a deleted row never comes back as a live link, and a required column cannot be emptied through any channel.
v0.10.0 — deploy a frontend from ChatGPT
Added
deploy_frontendtakes the site in one of three ways instead of only a local folder:files(inline path + content, base64 for binaries; up to 500 files / 8MB) so ChatGPT and every hosted client can write a page and put it live in the same turn;zipUrl(a public https zip such as a Lovable/Bolt export or a GitHub release asset, up to 50MB; a single top-level folder is re-rooted); anddiras before. Exactly one is required. Private hosts, plain http and non-zip answers are refused before anything is uploaded.
v0.9.0 — data boards
Requires a TaskLite server from 2026-09-06 for the new behaviour; older servers ignore kind.
Added
- Data boards.
create_boardtakeskind:"tasks"(default) also gives the board the built-in task columns;"data"creates a plain table with only the columns you add.build_backendboards default to"data": a backend's tables are customers, orders and payments, not to-dos. Rows of a data board come back from the App API withoutstatusandpriority. - Relation values from the App API always carry
relatedItems: [{ id, title }]next torelatedItemIds, so a frontend shows a name without a second request.
v0.8.3
v0.8.2
v0.8.1
v0.8.0
build_backend — one call builds a project, its boards, typed columns, optional sample rows, and optionally a published REST API with an endpoint per board and a server-side key. The model designs the schema; the tool executes it and returns one compact summary.
Organization defaulting for OAuth users (ChatGPT, Claude web): the single writable organization is picked automatically; with several, the error lists them so one turn suffices.
create_app_api_key accepts scopes; the reserved alias names are spelled out on the endpoint tools.
Tools 44 → 45 (hosted 40). See CHANGELOG.md.