# Tasklite MCP server

Source: https://glimind.com/server/mcp-registry%2Fnet.tasklite%2Fmcp
Registry id: `mcp-registry/net.tasklite/mcp`
Status: live (checked 2026-10-27T07:02:31.684Z)

## Measurements (30 days)

- Uptime: 99.72%
- Checks: 4765
- Outages (90 days): 8

## Install

```json
{
  "mcpServers": {
    "tasklite-mcp-server": {
      "type": "http",
      "url": "https://mcp.tasklite.net/mcp"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http tasklite-mcp-server https://mcp.tasklite.net/mcp
```

## Tools (78)

- `add_app_user`: Give a person access to an app by their phone number: the phone and a role, nothing else. This is how the people who run an app (the business owner, a manager, 
- `add_comment`: 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 alrea
- `build_backend`: Build a whole backend in one call from a spec you compose: the project, its boards, their typed columns (including relations between the boards), optional sampl
- `check_invite_code`: Check whether an invite code works right now, the way an app does before sign-up (POST /auth/invites/check, the same public route, limited to 10 calls a minute 
- `configure_app_settings`: Read or change the settings object of an app. Call with only appId to read. To change, pass set: the keys in it are MERGED into the current settings (objects me
- `configure_external_access`: Read or change how EXTERNAL users (people who sign up to your app through TaskLite auth) get into an organization. This policy governs sign-up by email and pass
- `create_app`: 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`: 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, t
- `create_app_endpoint`: Expose a board as a REST endpoint of an app: /apps/{appSlug}/api/{slug}. exposedColumns limits which columns are readable/writable. rowLevelSecurity.enabled mak
- `create_app_invite`: Create an invite code for an app (8 characters shown as XXXX-XXXX, typed without regard to case or the dash). The person signs up or signs in through the app wi
- `create_automation`: 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 a
- `create_board`: Create a board (a data table) inside a project. Add typed columns with create_column afterwards. kind: "tasks" (default) also gives the board the built-in task 
- `create_column`: Add a typed column to a board. Valid types: text, rich_text, number, status, date, datetime, duration, people, checkbox, dropdown, label, priority, link, email,
- `create_item`: 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
- `create_project`: Create a project (a business process container). Boards with data live inside projects.
- `define_app_role`: Create a business role of an app's project, or change the label of an existing one (calling again with the same key and a label updates the label). A role is on
- `delete_app_endpoint`: Delete an endpoint of an app for good: /apps/{appSlug}/api/{slug} stops answering at once and the endpoint cannot be brought back (create it again with create_a
- `delete_app_role`: Delete a business role of an app's project. Check first with list_app_role_grants who holds it and with get_board_policy where policies still name it: a policy 
- `delete_board`: 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_board_policy`: Remove a board's access policy. An endpoint of that board in rowLevelSecurity mode "policy" then has no policy to follow; check what it allows afterwards with e
- `delete_column`: 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
- `delete_comment`: Delete a comment from an item thread. Destructive, confirm with the user before calling. Needs projectId, itemId and the commentId.
- `delete_item`: Delete an item. Destructive, confirm with the user before calling.
- `delete_project`: Delete a project with every board, column and row inside it. Destructive: confirm with the user first, and name the project in the confirmation. The project goe
- `deploy_frontend`: Deploy a static frontend to TaskLite hosting and get a live URL https://{slug}.tasklite.dev (HTTPS, auto-published on first deploy, versions kept for rollback_d
- `explain_access`: Say what a user, or a list of roles, may do on a board under its policy: which rows they read and write, which columns, create and delete. Pass boardId and exac
- `export_project`: 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 ar
- `fetch`: 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 
- `get_app_spec`: Get the machine-readable spec of an app: base URL, endpoints, methods, fields, auth. Two formats: "tasklite" (default), the compact shape the frontend prompts a
- `get_board_policy`: Read a board's access policy: { boardId, policy, updatedAt, updatedBy }, policy null when the board has none. A policy only takes effect on endpoints whose rowL
- `get_board_schema`: Get a board with its full column schema (ids, names, types, settings). Call this before creating items with cells.
- `get_cells`: Read cells of one item from the database (not a cache): one current value per column, the value set_cells_if_unchanged compares. Use it to decide a conditional 
- `get_deployment_files`: Read back what a hosted frontend version is made of: every file with its size and its URL on that version, and the full text of the text files (HTML, CSS, JS, J
- `get_email_usage`: How much of the monthly email quota an organization has used: emails sent this month, emails waiting in the queue, the plan limit (Free 300, Plus 3000, Pro 2000
- `get_frontend_prompt`: 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-
- `get_item_history`: Read the change history of one item (row), newest first: who changed which field, from what to what, when, through which channel, with the event and reason when
- `get_policy_identity`: Read the project's role identity: which board holds the people and how their rows map to roles (see set_policy_identity). Returns { identity }, null when none i
- `grant_app_role`: Give an app user a business role (a user can hold several). Takes the userId from list_app_users and a role key from list_app_roles. expiresAt makes the grant t
- `link_app_user`: Link an existing user of an app to a row, so the user "is" that row for every endpoint in row-level security mode "relation": link a coach to his Coaches row an
- `list_app_endpoints`: 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 me
- `list_app_invites`: List the invite codes of an app, newest first (the latest 200): the ones created with create_app_invite and the ones the app's own users minted through a relati
- `list_app_role_grants`: List the role grants of an app's project, as { grants }: who holds which role and until when. Pass userId to see one person's. Roles that come from the employee
- `list_app_roles`: List the business roles of an app's project, as { roles: [{ key, label }] }. Roles are what board policies (set_board_policy) name in their `roles` lists; they 
- `list_app_user_links`: List the rows one user of an app is linked to, oldest first: each link has itemId, source (invite or admin) and createdAt. These are the rows the user "is" unde
- `list_app_users`: List the people of an app, as { users, pending }. users: everyone who ever called it with X-App-User or signed in to it with a code. Each has userId (the id set
- `list_apps`: 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 co
- `list_automations`: List the automations on a board, so you can see what already runs before adding another.
- `list_boards`: 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
- `list_comments`: List the comments (the correspondence thread) on an item, oldest first. Each comment includes its author and any @mentions. Needs projectId and itemId (get item
- `list_deployments`: List the hosted-frontend deployments of an app, versions, which one is live, and the public URL.
- `list_organizations`: List the organizations the authenticated user belongs to. Use the returned id as organizationId in other tools.
- `list_projects`: 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 a
- `list_uploaded_files`: The files attached to an item, including everything that came in through a request_file_upload link, each with a download URL that is signed and short lived (mi
- `publish_app`: Publish an app, required before its API endpoints accept external calls.
- `push_status`: Whether an app can send push notifications to phones, and how many devices are registered. Push goes out through the customer's OWN Firebase project, so it has 
- `query_items`: 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 t
- `remove_app_user`: Take a person's access to an app away. Pass exactly one of two ids from list_app_users: userId, for someone who already signed in, switches them off (the same a
- `reorder_columns`: Set the display order of a board's columns. Pass every column id in the wanted order (get_board_schema lists them).
- `request_file_upload`: Create a link that puts files onto an item from outside TaskLite: the customer's photos, a signed contract, a logo, a build zip. Returns an address like https:/
- `revoke_app_invite`: Revoke an invite code so nobody else can sign up with it. People who already used it stay linked to their row and keep their access; to cut one of them off use 
- `revoke_app_role`: Take a business role away from an app user (a grant made with grant_app_role). A role the user gets from the employees board (set_policy_identity) is not a gran
- `revoke_upload_link`: Close an upload link before it expires, so the address stops accepting files. The files already uploaded stay on the item. Use it as soon as the material is in,
- `rollback_deployment`: Point the live URL back at a previous deployment version (see list_deployments for available versions).
- `search`: Full-text search across the projects, boards and items of the organization. Returns { results: [{ id, title, url }] }, the shape ChatGPT connectors and deep res
- `send_test_push`: Send one real push notification to the given app users, to prove the chain works before an automation depends on it. Confirm with the user first: this reaches a
- `set_app_user_role`: Change what an existing user of an app may do, or switch them off or back on. Takes the userId from list_app_users and at least one of role and isActive. It als
- `set_board_policy`: Set who may read, write, create and delete rows of a board, and which columns, as a JSON document (a FULL REPLACE of the board's policy; read get_board_policy f
- `set_cell`: Set a single cell value on an item by columnId.
- `set_cells_if_unchanged`: Compare-and-set on cells of one item, all or none. Each cell carries the value you read (`expected`, null = empty) and the value to write. If any cell no longer
- `set_policy_identity`: Derive "who is this user and what is their role" from the data, instead of a grant per person: point at the employees board, its phone/email column, the column 
- `simulate_request`: Dry-run one app API request in the name of a user and get the verdict (allowed or refused, and why), changing nothing: the endpoint slug, the HTTP method (or th
- `unlink_app_user`: Remove the link between a user of an app and a row: the user stops being that row, and at once loses the rows of every relation endpoint they reached through it
- `update_app_endpoint`: 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 i
- `update_automation`: Change an existing automation: its actions, conditions, trigger config or name, or switch it off with isActive false. Fields left out stay as they are; actions 
- `update_board`: Rename a board or change its description. Structure (columns) is changed with update_column / delete_column / reorder_columns.
- `update_column`: 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 
- `update_comment`: Edit the text of an existing comment. Only the author can edit their comment. Needs projectId, itemId and the commentId.
- `update_item`: Update item fields (title, description, status, priority, dueDate, tags). On a data board the task fields (status, priority, dueDate, tags) are hidden: its colu

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
