NestDaddy

TaskLite

net.tasklite/mcp · v0.14.4

tasklite.net: hosted backend, REST API and admin for apps built by AI agents

Connect Remote server

Terminal
claude mcp add --transport http mcp https://mcp.tasklite.net/mcp
~/.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.tasklite.net/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp": {
      "type": "http",
      "url": "https://mcp.tasklite.net/mcp"
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://mcp.tasklite.net/mcp

Tools 80 found in our last check

  • list_organizations

    List the organizations the authenticated user belongs to. Use the returned id as organizationId in other tools.

  • 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 20000; null means unlimited), whether the plan allows marketing email, and whether sending is paused for the organization (…

  • 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 password and by Google. Sign-in by a phone code (POST /auth/otp/send, then /auth/otp/verify) obeys only "invite": under "cl…

  • 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 assuming a project does not exist.

  • 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 URL.

  • create_project

    Create a project (a business process container). Boards with data live inside projects.

  • 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 columns, status, priority, assignee, due date, tags, for work people track; "data" creates a plain table with only the…

  • 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, phone, relation, lookup, rollup, formula, rating, currency, file. Choose by meaning, date for dates, phone for phones,…

  • get_board_schema

    Get a board with its full column schema (ids, names, types, settings). Call this before creating items with cells.

  • update_board

    Rename a board or change its description. Structure (columns) is changed with update_column / delete_column / reorder_columns.

  • 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_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 goes to the organization recycle bin, so it can be restored from the admin until it is emptied.

  • 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 change converts existing values (number↔currency, text→number/date/checkbox, anything→text) and clears the ones that ca…

  • 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 are wrong.

  • reorder_columns

    Set the display order of a board's columns. Pass every column id in the wanted order (get_board_schema lists them).

  • 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 are capped per board for the model's sake; the REST endpoint GET /organizations/{orgId}/projects/{projectId}/export.json…

  • 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 tool pages through and concatenates). Narrow the result with search, status, priority and sort instead of fetching every…

  • 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 set_cell only for later edits.

  • 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 columns, status included, are set with set_cell.

  • set_cell

    Set a single cell value on an item by columnId.

  • 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 write, and pass each value back as `expected` exactly as it came.

  • 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 holds its `expected`, nothing is written and the answer is an error with code CELL_CONFLICT and `conflicts` [{columnId…

  • delete_item

    Delete an item. Destructive, confirm with the user before calling.

  • 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 itemId from query_items).

  • 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 already-uploaded files. Needs projectId and itemId.

  • update_comment

    Edit the text of an existing comment. Only the author can edit their comment. Needs projectId, itemId and the commentId.

  • delete_comment

    Delete a comment from an item thread. Destructive, confirm with the user before calling. Needs projectId, itemId and the commentId.

  • 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://app.tasklite.net/upload/<token> that anyone you hand it to can use with no account, no login and no API key; pass clie…

  • 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 (mint a fresh one by calling again). Also lists the upload links on the item and how many files each has taken, which is h…

  • create_signature_request

    Send a PDF for electronic signature and get the signing links back. One call: the PDF (an attachment already on an item, see list_uploaded_files / request_file_upload, or the bytes as base64), the signers, and optionally the row it belongs to. Each signer opens a personal link w…

  • list_signature_requests

    Documents sent for signature, newest first, with each signer's state (sent, viewed, signed, declined). Filter by the row they belong to or by status (out_for_signature, completed, declined, voided, expired, failed).

  • get_signature_request

    One document sent for signature: status, signers and their state, and when complete a short-lived download URL of the signed PDF (with its evidence page).

  • signature_link

    A fresh signing link for one signer whose turn it is, to open on the spot (the agent's phone) or to send yourself. Their previous link stops working.

  • void_signature_request

    Cancel a document that is out for signature: every link stops working. A completed document cannot be voided.

  • list_telephony_providers

    Read-only. List the phone systems (PBX providers) an app can be connected to, what each can do (call log, live calls, recordings, click-to-call), and which fields it needs: public settings such as the server address go to start_telephony_connection, secret fields (the API token)…

  • get_telephony_connection

    Read-only. The phone system connection of an app: provider, status (pending = link made and no token typed yet, connected, error), the public settings, whether a token is stored (never the token), the board mapping, the last sync result and the last error. connection is null whe…

  • start_telephony_connection

    Start connecting an app to a phone system (PBX) and get the one-time link the CUSTOMER opens to type the API token themselves. The token never passes through the chat, you or the logs: do not ask for it, do not accept it pasted. Send the link to the customer as is. It works once…

  • test_telephony_connection

    Check the stored token against the customer's phone system: a one-day call log read. Answers { ok, message } with a Hebrew message that can be shown to the customer as is, and records the result on the connection. It only reads from the PBX. Owner or admin of the app.

  • configure_telephony_mapping

    Say where the calls go: the board that receives one row per call, which column gets which call field, and, optionally, how a call is linked to a customer (by the other party's phone number, Israeli numbers compared in one normal form: 05x, +9725x, 9725x) and to an employee (by t…

  • preview_telephony_sync

    Read-only for TaskLite: reads the call log from the customer's PBX for a range and shows what a sync would write, without writing anything or moving the sync position. Returns counts (fetched, already on the board) and the last 20 calls as board rows (title, cells by column id,…

  • run_telephony_sync

    Sync now: read the call log from the PBX and write each new call as a row on the mapped board, as the signed-in user, through the board's normal path (so the board's automations run for every new row). Safe to repeat: a call already written is never written twice (deduped by the…

  • disconnect_telephony

    Remove the phone system connection of an app: the stored token, the mapping and the record of which calls were written are deleted, and syncing stops. Rows already written to the board stay. Reconnecting later starts from start_telephony_connection and may write the recent calls…

  • 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, because until then anyone holding the link can add more.

  • 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.

  • 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 to be configured once per app before send_push automations do anything. This tool never returns the key.

  • 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 actual phones.

  • publish_app

    Publish an app, required before its API endpoints accept external calls.

  • 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 makes the endpoint per-user: the developer's server sends `X-App-User: <their user id>` next to the API key, and the endpo…

  • 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 metadata and silently discards writes.

  • 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 ids from get_board_schema. In rowLevelSecurity mode phone, phoneColumns adds more phone columns next to phoneColumn (up…

  • 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_app_endpoint). The board and its rows are not touched. Confirm with the user first: a frontend that calls this endpoint…

  • google_calendar_status

    Whether the signed-in user has connected Google Calendar to TaskLite, which Google account, and what the connection may do: canWriteOwnCalendars (add, change and delete events in the calendars TaskLite creates in that account), canReadBusy (read when the person is already busy i…

  • google_calendar_connect

    Get the link that connects the signed-in user's Google Calendar to TaskLite. Send connectUrl to the person as is: they open it, approve on Google's own page, and come back. It lasts 24 hours and can be opened again in that time; calling again makes a new one. Only that person ca…

  • google_calendar_set_return_path

    Save on an app the page the browser returns to after a Google Calendar connection started for that app (google_calendar_connect with appId, or the site's own "connect" button through POST /integrations/oauth/google_calendar/initiate with appId). Only a path, e.g. "/#admin": the…

  • google_calendar_disconnect

    Disconnect the signed-in user's Google Calendar from TaskLite: the access is revoked at Google and forgotten here. Events already in the calendar stay where they are. Every app of this user stops writing to the calendar until it is connected again. Only when the person asked for…

  • google_calendar_ensure_calendar

    Find, or create the first time, the calendar TaskLite keeps in the user's Google account under a name (default "פגישות"). It appears in their Google Calendar beside their own calendars, with its own colour, on every device. Returns { calendarId, created }. The event tools find i…

  • google_calendar_list_events

    The events of a TaskLite calendar in the user's Google account that touch the days from..to (inclusive), in order, with times as the wall clock in timeZone. Each: id (for update and delete), summary, description, location, date, endDate, from, to (null for an all-day event), all…

  • google_calendar_create_event

    Add an event to a TaskLite calendar in the user's Google account. Times are wall clock in timeZone; from and to both left out make an all-day event. key (e.g. the row id of the booking) makes it safe to call again: the same key updates the one event instead of adding a second, a…

  • google_calendar_update_event

    Change some fields of an event (id from google_calendar_list_events or create). What is not given stays: moving only from/to keeps the day, moving only date keeps the hours (and the length of a multi-day event). attendees replaces the list; they are emailed only with sendInvitat…

  • google_calendar_delete_event

    Delete one event from a TaskLite calendar in the user's Google account. Deleting one already gone is not an error (alreadyGone true). notifyAttendees true emails its guests that it was cancelled.

  • google_calendar_busy

    When the user is already busy, across their own Google calendars (not the details, only the times), between two days: [{ date, from, to }] as wall clock in timeZone, so a booking page can offer only free slots. Declined invitations, events marked free and holiday calendars do no…

  • 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 merge key by key at every depth, arrays and plain values replace, null removes a key). The server itself does not merge:…

  • 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_app_user_role, remove_app_user, link_app_user, list_app_user_links and send_test_push take), externalId (the developer…

  • 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, staff) get into its admin screen, whose endpoints are in row-level security mode "shared". The person needs no invite c…

  • 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 also puts on the app's access list a user who is not on it yet (hasAccessRow false in list_app_users), which is what an en…

  • 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 as set_app_user_role with isActive false: their calls are refused in every mode, nothing of theirs is deleted, and set_a…

  • 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 with the code: the app sends it as inviteCode with POST /auth/otp/verify, /auth/register-external or /auth/google-externa…

  • 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 relation endpoint with allowInvites (createdVia admin or app). Each carries id, code, itemId, role, label, maxUses, useCount,…

  • 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 unlink_app_user. Cannot be undone, create a new invite instead. Requires organization owner or admin. Get the invite id…

  • 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 per address). A working code answers { valid: true, organizationId, app: { name, slug }, label, expiresAt }; anything e…

  • 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 and he reaches the trainees whose Coach column points at it. This is the manual form of what an invite code does at sign-…

  • 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" under row-level security mode "relation". A user can also stand for a row with no link at all, through identityPhoneColumn…

  • 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. The account, the row and the user's app access are not touched, and nothing is deleted. A user matched to the row by…

  • 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 are separate from the app access role (viewer, editor, submitter) of add_app_user. Requires organization owner or admin.

  • 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 only a name; what it may do is written in the board policies. Example: key "manager", label "Agents manager". Roles can 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 that names a role that no longer exists simply matches nobody. Requires organization owner or admin.

  • 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 temporary. Granting the same pair again changes only expiresAt. This is for personal exceptions; for a whole team prefer…

  • 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 grant: change the board row instead. Revoking a grant that does not exist also succeeds. Requires organization owner or adm…

  • 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 employees board (set_policy_identity) are not grants and are not listed here; explain_access with a userId shows the roles a pe…

  • 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 is set. Requires organization owner or admin.

Details

Endpointhttps://mcp.tasklite.net/mcp (Streamable HTTP)
Package@tasklite/[email protected] (NPM, stdio)
First published16 Sep 2026
Last updated16 Sep 2026
Registry namenet.tasklite/mcp

More productivity servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.