Connection check
verified live · 26h ago
tasklite-tasklite-mcp
Build a full backend from Claude Code — boards, data, REST APIs — plus a ready-made admin UI
Tools
39
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
26h ago
Tools & capabilities
39 toolsRead from the running server on 26h ago.
add_comment
itemId*content*projectId*attachmentIdsmentionedUserIds
Post a comment on an item's thread. To notify people, pass their user ids in mentionedUserIds (each also appears as an @mention). attachmentIds references already-uploaded files. N… Post a comment on an item's thread. To notify people, pass their user ids in mentionedUserIds (each also appears as an @mention). attachmentIds references already-uploaded files. Needs projectId and itemId.
configure_external_access
appLoginUrlorganizationIdregistrationPolicy
Read or change how EXTERNAL users (people who sign up to your app through TaskLite auth: POST /auth/register-external with this organizationId, then POST /auth/login) get into an o… Read or change how EXTERNAL users (people who sign up to your app through TaskLite auth: POST /auth/register-external with this organizationId, then POST /auth/login) get into an organization. registrationPolicy: "open" — in at once; "approval" — an organization admin approves each signup (TaskLite mails the admins on every signup, and the person once approved; unapproved users are never billed); "closed" — invite only, self-signup refused. appLoginUrl: the page of YOUR app where these users log in — it becomes the "Log in" button in the approval email, so set it whenever you deploy an app that uses this flow; pass "" to clear. Call with no changes to just read the current settings. Requires organization admin.
create_app
name*projectId*organizationId
Create an app — a named API surface over the boards of a project, for an external frontend. Then add endpoints and an API key. Create an app — a named API surface over the boards of a project, for an external frontend. Then add endpoints and an API key.
create_app_api_key
nameappId*organizationId
Create an API key for an app. SECURITY: the key must live server-side only (env var, Next.js API routes) — never in browser code. If the app has its own users, the server also send… Create an API key for an app. SECURITY: the key must live server-side only (env var, Next.js API routes) — never in browser code. If the app has its own users, the server also sends `X-App-User: <user id>` with the key so per-user endpoints know who is acting.
create_app_endpoint
name*slug*appId*boardId*allowedMethodsexposedColumns
+2
Expose a board as a REST endpoint of an app: /apps/{appSlug}/api/{slug}. exposedColumns limits which columns are readable/writable. rowLevelSecurity.enabled makes the endpoint per-… Expose a board as a REST endpoint of an app: /apps/{appSlug}/api/{slug}. exposedColumns limits which columns are readable/writable. rowLevelSecurity.enabled makes the endpoint per-user: the developer's server sends `X-App-User: <their user id>` next to the API key, and the endpoint returns, updates and deletes ONLY that user's rows (401 without the header). Use it whenever the app has its own users.
create_automation
name*actions*boardId*trigger*isActiveprojectId*
+1
Create an automation on a board: when something happens, do something. The most useful action here is http_request, which calls an external API and writes the answer back into colu… Create an automation on a board: when something happens, do something. The most useful action here is http_request, which calls an external API and writes the answer back into columns — pair it with the "scheduled" trigger and the board keeps itself up to date (prices, exchange rates, shipment status, weather). Triggers: item_created, status_changed, column_value_changed, date_approaching, scheduled. Actions: http_request, send_notification, send_email, change_status, set_column_value, create_cross_board_item, send_webhook. Two more things every action list can use: a { type: "delay", config: { minutes | hours | days } } action pauses the run and resumes the actions after it later (reminders, follow-ups); and any network action (http_request, send_webhook, send_email, send_whatsapp) may carry config.retry: { attempts (1-5), delaySeconds (1-60) }. send_webhook accepts config.secret for an HMAC signature.
create_board
name*projectId*description
Create a board (a data table) inside a project. Add typed columns with create_column afterwards. Create a board (a data table) inside a project. Add typed columns with create_column afterwards.
create_column
name*type*forceboardId*settingsprojectId*
+1
Add a typed column to a board. Valid types: text, rich_text, number, status, date, datetime, duration, people, checkbox, dropdown, label, priority, link, email, phone, relation, lo… Add a typed column to a board. Valid types: text, rich_text, number, status, date, datetime, duration, people, checkbox, dropdown, label, priority, link, email, phone, relation, lookup, rollup, formula, rating, currency, file. Choose by meaning — date for dates, phone for phones, number/currency for amounts, dropdown/status (with settings.options as an array of labels) for closed choices; text is for free text only. An obvious name/type mismatch is rejected with the suggested type; pass force:true to override. Rules go in settings.validation: { unique, min, max, minLength, maxLength, pattern, patternMessage } — enforced on every write (UI, MCP, App API). Closed choices (dropdown/status) reject values outside settings.options unless settings.allowCustom is true.
create_item
tagscellstitle*statusboardId*dueDate
+3
Create an item (row) with all of its data in one call. cells maps columnId -> value (use get_board_schema for column ids); every cell is saved with the row. Use set_cell only for l… Create an item (row) with all of its data in one call. cells maps columnId -> value (use get_board_schema for column ids); every cell is saved with the row. Use set_cell only for later edits.
create_project
name*descriptionorganizationId
Create a project (a business process container). Boards with data live inside projects. Create a project (a business process container). Boards with data live inside projects.
delete_board
can modify data
boardId*projectId*
Delete a board with every item on it. Destructive and not undoable — confirm with the user first, and prefer delete_column when only part of the model is wrong. Delete a board with every item on it. Destructive and not undoable — confirm with the user first, and prefer delete_column when only part of the model is wrong.
delete_column
can modify data
boardId*columnId*projectId*
Delete a column and every value stored in it. Destructive — confirm with the user first. Use update_column when the column is right but its name, type or options are wrong. Delete a column and every value stored in it. Destructive — confirm with the user first. Use update_column when the column is right but its name, type or options are wrong.
delete_comment
can modify data
itemId*commentId*projectId*
Delete a comment from an item thread. Destructive — confirm with the user before calling. Needs projectId, itemId and the commentId. Delete a comment from an item thread. Destructive — confirm with the user before calling. Needs projectId, itemId and the commentId.
delete_item
can modify data
itemId*boardId*projectId*
Delete an item. Destructive — confirm with the user before calling. Delete an item. Destructive — confirm with the user before calling.
deploy_frontend
dir*appId*organizationId
Deploy a built static frontend to TaskLite hosting: zips the build output directory (dist/, build/, out/ — the folder that contains index.html), uploads it, and returns the live UR… Deploy a built static frontend to TaskLite hosting: zips the build output directory (dist/, build/, out/ — the folder that contains index.html), uploads it, and returns the live URL https://{slug}.tasklite.dev. The app is auto-published on first deploy. Runs only where the files are (local/stdio mode). In the frontend, call the app API via relative /api/{endpoint} — the hosting proxy injects the app identity.
export_project
read-only
projectId*organizationIdmaxItemsPerBoard
The whole project as JSON — boards, columns with settings, items with their cells keyed by column id. For migrations, backups and reading a system back. Items are capped per board… The whole project as JSON — boards, columns with settings, items with their cells keyed by column id. For migrations, backups and reading a system back. Items are capped per board for the model's sake; the REST endpoint GET /organizations/{orgId}/projects/{projectId}/export.json returns everything.
fetch
read-only
id*organizationId
One project, board or item in full, by the id search returned (project:<id>, board:<projectId>:<boardId>, item:<projectId>:<boardId>:<itemId>) or by an app URL path. Returns { id,… One project, board or item in full, by the id search returned (project:<id>, board:<projectId>:<boardId>, item:<projectId>:<boardId>:<itemId>) or by an app URL path. Returns { id, title, text, url, metadata } — the ChatGPT fetch contract; text is the record as JSON.
get_app_spec
read-only
appId*organizationId
Get the machine-readable spec of an app (base URL, endpoints, methods, fields) — use it to generate frontend API calls. appId accepts either the app UUID or its slug (app-xxxxxx);… Get the machine-readable spec of an app (base URL, endpoints, methods, fields) — use it to generate frontend API calls. appId accepts either the app UUID or its slug (app-xxxxxx); list_apps shows both. The returned baseUrl is absolute — use it verbatim, do not rebuild it from the admin URL.
get_board_schema
read-only
boardId*projectId*
Get a board with its full column schema (ids, names, types, settings). Call this before creating items with cells. Get a board with its full column schema (ids, names, types, settings). Call this before creating items with cells.
get_frontend_prompt
read-only
tool*appId*organizationId
Get a ready-made prompt describing the app backend, for pasting into a frontend generator (v0/bolt/lovable/cursor). appId accepts the app UUID or its slug (app-xxxxxx) — use list_a… Get a ready-made prompt describing the app backend, for pasting into a frontend generator (v0/bolt/lovable/cursor). appId accepts the app UUID or its slug (app-xxxxxx) — use list_apps to find it.
list_app_endpoints
read-only
appId*organizationId
List an app's REST endpoints — slug, board, allowed methods, and how many columns each exposes. An endpoint exposing 0 columns is broken: it returns only item metadata and silently… List an app's REST endpoints — slug, board, allowed methods, and how many columns each exposes. An endpoint exposing 0 columns is broken: it returns only item metadata and silently discards writes.
list_apps
read-only
organizationId
List the apps in the organization — id, slug, status. Call this first when you need an app id: the slug (app-xxxxxx) is what shows up in URLs and in generated code, and this is how… List the apps in the organization — id, slug, status. Call this first when you need an app id: the slug (app-xxxxxx) is what shows up in URLs and in generated code, and this is how you map it back to the app.
list_automations
read-only
boardId*projectId*
List the automations on a board, so you can see what already runs before adding another. List the automations on a board, so you can see what already runs before adding another.
list_boards
read-only
pagelimitprojectId*
List the boards inside a project — id, name, description. Every other board tool needs a boardId, and this is the only way to discover one without being handed a URL. List the boards inside a project — id, name, description. Every other board tool needs a boardId, and this is the only way to discover one without being handed a URL.
list_comments
read-only
pagelimititemId*projectId*
List the comments (the correspondence thread) on an item, oldest first. Each comment includes its author and any @mentions. Needs projectId and itemId (get itemId from query_items)… List the comments (the correspondence thread) on an item, oldest first. Each comment includes its author and any @mentions. Needs projectId and itemId (get itemId from query_items).
list_deployments
read-only
appId*organizationId
List the hosted-frontend deployments of an app — versions, which one is live, and the public URL. List the hosted-frontend deployments of an app — versions, which one is live, and the public URL.
list_organizations
read-only
List the organizations the authenticated user belongs to. Use the returned id as organizationId in other tools. List the organizations the authenticated user belongs to. Use the returned id as organizationId in other tools.
list_projects
read-only
pagelimitorganizationId
List projects in an organization. The API returns 50 per page — an organization with more than that needs page 2 and beyond, so check the returned total before assuming a project d… List projects in an organization. The API returns 50 per page — an organization with more than that needs page 2 and beyond, so check the returned total before assuming a project does not exist.
publish_app
appId*organizationId
Publish an app — required before its API endpoints accept external calls. Publish an app — required before its API endpoints accept external calls.
query_items
read-only
pagelimitboardId*projectId*
List items (rows) of a board, including their cell values. Returns all items unless limit/page are given (the API defaults to 50 per page when unpaged, so the tool pages through an… List items (rows) of a board, including their cell values. Returns all items unless limit/page are given (the API defaults to 50 per page when unpaged, so the tool pages through and concatenates).
reorder_columns
boardId*columnIds*projectId*
Set the display order of a board's columns. Pass every column id in the wanted order (get_board_schema lists them). Set the display order of a board's columns. Pass every column id in the wanted order (get_board_schema lists them).
rollback_deployment
appId*version*organizationId
Point the live URL back at a previous deployment version (see list_deployments for available versions). Point the live URL back at a previous deployment version (see list_deployments for available versions).
search
read-only
limitquery*projectId
Full-text search across the projects, boards and items of the organization. Returns { results: [{ id, title, url }] } — the shape ChatGPT connectors and deep research expect; pass… Full-text search across the projects, boards and items of the organization. Returns { results: [{ id, title, url }] } — the shape ChatGPT connectors and deep research expect; pass a result id to fetch for the full record. When you already know the board, query_items is cheaper and complete.
set_cell
value*itemId*boardId*columnId*projectId*
Set a single cell value on an item by columnId. Set a single cell value on an item by columnId.
update_app_endpoint
nameslugappId*isActiveendpointId*allowedMethods
+2
Change an existing endpoint — most often to set exposedColumns on one that was created without them. Get the endpoint id from list_app_endpoints and the column ids from get_board_s… Change an existing endpoint — most often to set exposedColumns on one that was created without them. Get the endpoint id from list_app_endpoints and the column ids from get_board_schema.
update_board
nameboardId*projectId*description
Rename a board or change its description. Structure (columns) is changed with update_column / delete_column / reorder_columns. Rename a board or change its description. Structure (columns) is changed with update_column / delete_column / reorder_columns.
update_column
nametypeforceboardId*columnId*isHidden
+4
Change a column after the fact: rename it, change its type (e.g. number -> currency), replace settings (dropdown options), or set isRequired / isHidden. A type change converts exis… Change a column after the fact: rename it, change its type (e.g. number -> currency), replace settings (dropdown options), or set isRequired / isHidden. A type change converts existing values (number↔currency, text→number/date/checkbox, anything→text) and clears the ones that cannot convert; the response carries conversion: { converted, cleared }. settings.validation rules apply here too.
update_comment
itemId*content*commentId*projectId*
Edit the text of an existing comment. Only the author can edit their comment. Needs projectId, itemId and the commentId. Edit the text of an existing comment. Only the author can edit their comment. Needs projectId, itemId and the commentId.
update_item
tagstitleitemId*statusboardId*dueDate
+3