net.tasklite/mcp

MCPcommunitylive
v0.5.1net.taskliteUnknownUpdated 1mo ago

Build a full backend from Claude Code — boards, data, REST APIs — plus a ready-made admin UI

Endpoint healthlive
checked 8 days ago · 828ms
100% of the last 5 checks reached this endpoint
Works in
ClaudeCursorCopilotChatGPTGemini

Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
1mo agoLast update
Package
Authornet.tasklite
LicenseUnknown
Version0.5.1
Sourcemcp-registry
Trust Status
D
30/100Risk
✓Listed in Forge index+10/10
—Publisher identity verified+0/30
→ Publisher: this listing has no repository on file, so `forge publish` cannot verify ownership automatically. Use "Claim this listing" above — Forge reviews these by hand.
—Domain verification+0/10
→ Not currently available for this listing type — the domain-verification check only runs for npm-backed packages today, so this row cannot be earned here yet regardless of what's hosted at the domain.
—Prompt-injection scan · findings+0/30
→ Publisher: remove instructions in the source aimed at AI clients rather than human readers
✓Obfuscation / exfil scan · clean+20/20
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
DependenciesNot audited
Tool surface48 tools · 7 privileged
Security scan⚠ Warnings (2)vlive · 8d agoHow well does this scan work?
PROMPTtool:configure_external_accessExfiltration-shaped instruction
PROMPTtool:request_file_uploadExfiltration-shaped instruction
PROMPTtool:request_file_uploadLinks to undeclared domain: app.tasklite.net
PROMPTtool:create_automation#actionsLinks to undeclared domain: api.frankfurter.app
EvalsNone
IndexedAug 11, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

48 tools · 7 privileged · 2 flagged for injection
Observed live from the vendor's endpoint8d ago

Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.

  • https://mcp.tasklite.net/mcp48 tools · 828ms
list_organizationsList 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.

No input schema was published for this tool.

configure_external_accessinjection riskRead or change how EXTERNAL users (people who sign up to your app through TaskLite auth) get into an organization. They have two ways in, and both obey the policy below: email and password (POST /auth/register-external with this organizationId, then POST /auth/login), or Google (POST /auth/google-e…

Read or change how EXTERNAL users (people who sign up to your app through TaskLite auth) get into an organization. They have two ways in, and both obey the policy below: email and password (POST /auth/register-external with this organizationId, then POST /auth/login), or Google (POST /auth/google-e…

INJECTIONExfiltration-shaped instructionPOST /auth/login), or Google (POST /auth/google-external with a Google ID token and this organizationId). Eit…
ParameterTypeDescription
organizationIdstringDefaults to the credential organization
registrationPolicystringHow external sign-ups are admitted: open, approval or closed
appLoginUrlstringhttps URL of your app's login page for external users; "" clears it
list_projectsList 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 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.

ParameterTypeDescription
organizationIdstringDefaults to the credential organization
pagenumber1-based; defaults to 1
limitnumberDefaults to 50
list_boardsList 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.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
pagenumber1-based; defaults to 1
limitnumberDefaults to 50
create_projectCreate 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.

ParameterTypeDescription
name*stringHuman-readable name
descriptionstringFree-text description
organizationIdstringOrganization id; defaults to the credential organization when omitted
create_boardCreate 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 columns you add, for…

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 columns you add, for…

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
name*stringHuman-readable name
descriptionstringFree-text description
kindstring"tasks": with the built-in task columns (status, priority, assignee, due date, tags). "data": only the columns you add. Default tasks.
create_columnAdd 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…

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…

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
name*stringHuman-readable name
type*stringAction type: http_request, send_notification, send_email, send_whatsapp, change_status, set_column_value, create_cross_board_item, send_webhook or delay
settingsobjectType-specific settings. For dropdown/status/priority: options, either as labels ["A","B"] or as full objects [{value,label,color}], labels are expanded server-…
isRequiredbooleanRequire a non-blank value on every App API create
forcebooleanCreate the column even when the name suggests a different type
get_board_schemaGet 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.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
update_boardRename 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.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
namestringHuman-readable name
descriptionstringFree-text description
delete_boardprivilegedDelete 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.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
delete_projectprivilegedDelete 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.

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.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
organizationIdstringOrganization id; defaults to the credential organization when omitted
update_columnChange 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 re…

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 re…

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
columnId*stringColumn id (from get_board_schema)
namestringHuman-readable name
typestringNew column type (same list as create_column)
settingsobjectReplaces the column settings, e.g. { options: [...] } for dropdown/status
isRequiredbooleanRequire a non-blank value on every App API create
isHiddenbooleanHide the column in the TaskLite UI
descriptionstringFree-text description
forcebooleanSkip the name/type sanity check
delete_columnprivilegedDelete 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.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
columnId*stringColumn id (from get_board_schema)
reorder_columnsSet 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).

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
columnIds*arrayColumn ids in the new order (every column of the board)
export_projectThe 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.

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.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
organizationIdstringDefaults to the credential organization
maxItemsPerBoardintegerDefault 200
query_itemsList 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 everything. This is the a…

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 everything. This is the a…

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
searchstringFree text; matches the row title and its text cells
statusstringOnly rows whose status is one of these, comma separated. Matched against the board's status column by option value or label, case-insensitive: "todo,in_progres…
excludeStatusstringOnly rows whose status is NOT one of these, comma separated, resolved like status. The way to ask for everything that is not done: excludeStatus "done" (task b…
prioritystringOnly rows with one of these priorities, comma separated (task boards only)
sortstringSort by title, createdAt, updatedAt or status; prefix with "-" for descending, e.g. "-createdAt" for newest first. Anything else keeps the board order
archivedstringWhich rows to include. Default active
limitintegerPage size; omit to fetch all items
pageinteger1-based page, only with limit
create_itemCreate 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 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.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
title*stringItem title, shown as the row name
descriptionstringFree-text description
statusstringStatus value (todo, in_progress, done, or a value from the board's status options)
prioritystringPriority: low, medium, high or urgent
dueDatestringISO date
tagsarrayTags as an array of strings
cellsobjectCell values keyed by column id: { "<columnId>": value }. Scalars, { amount, currency } for currency, { relatedItemIds: [...] } for relations
update_itemUpdate item fields (title, description, status, priority, dueDate, tags).

Update item fields (title, description, status, priority, dueDate, tags).

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
itemId*stringItem (row) id
titlestringItem title, shown as the row name
descriptionstringFree-text description
statusstringStatus value (todo, in_progress, done, or a value from the board's status options)
prioritystringPriority: low, medium, high or urgent
dueDatestringDue date, ISO 8601 (YYYY-MM-DD or full timestamp)
tagsarrayTags as an array of strings
set_cellSet a single cell value on an item by columnId.

Set a single cell value on an item by columnId.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
itemId*stringItem (row) id
columnId*stringColumn id (from get_board_schema)
value*—The new cell value; shape depends on the column type
delete_itemprivilegedDelete an item. Destructive, confirm with the user before calling.

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

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
itemId*stringItem id (from query_items / create_item)
list_commentsList 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).

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
itemId*stringItem (row) id
pageinteger1-based page, default 1
limitintegerPage size, default 20
add_commentPost 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.

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.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
itemId*stringItem (row) id
content*stringThe comment text
mentionedUserIdsarrayUser ids to @mention and notify
attachmentIdsarrayIds of already-uploaded attachments to link
update_commentEdit 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.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
itemId*stringItem (row) id
commentId*stringComment id (from list_comments)
content*stringThe new comment text
delete_commentprivilegedDelete 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.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
itemId*stringItem id (from query_items / create_item)
commentId*stringComment id (from list_comments / add_comment)
request_file_uploadprivilegedinjection riskCreate 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 clientEmail and TaskLite…

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 clientEmail and TaskLite…

INJECTIONExfiltration-shaped instructionlike https://app.tasklite.net/upload/<token> that anyone you hand it to c…
NOTELinks to undeclared domain: app.tasklite.net
ParameterTypeDescription
itemId*stringItem (row) the files belong to, from query_items / create_item. Make the row first if the material has no home yet
clientNamestringWho is being asked, shown on the upload page
clientEmailstringSend the link to this address. Omit to get the link back and pass it on yourself
clientPhonestringRecorded with the request
messagestringWhat to upload, in the words the recipient will read: "the four room photos and the price list"
maxFilesintegerHow many files the link accepts before it stops. Default 10
expiryDaysintegerHow long the link lives. Default 7 days
organizationIdstringOrganization id; defaults to the credential organization when omitted
list_uploaded_filesThe 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 how to tell whether t…

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 how to tell whether t…

ParameterTypeDescription
itemId*stringItem (row) id
organizationIdstringOrganization id; defaults to the credential organization when omitted
revoke_upload_linkprivilegedClose 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.

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.

ParameterTypeDescription
tokenId*stringLink id (the tokenId from request_file_upload)
organizationIdstringOrganization id; defaults to the credential organization when omitted
create_appCreate 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.

ParameterTypeDescription
name*stringHuman-readable name
projectId*stringProject id (from list_projects / create_project)
organizationIdstringOrganization id; defaults to the credential organization when omitted
push_statusWhether 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.

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.

ParameterTypeDescription
appId*stringApp id or slug (from list_apps / create_app)
organizationIdstringOrganization id; defaults to the credential organization when omitted
send_test_pushSend 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.

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.

ParameterTypeDescription
appId*stringApp id or slug (from list_apps / create_app)
userIds*arrayApp user ids to notify (the same ids row-level security uses)
titlestringNotification title; defaults to "TaskLite"
bodystringNotification body
organizationIdstringOrganization id; defaults to the credential organization when omitted
publish_appPublish an app, required before its API endpoints accept external calls.

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

ParameterTypeDescription
appId*stringApp id or slug (from list_apps / create_app)
organizationIdstringOrganization id; defaults to the credential organization when omitted
create_app_endpointExpose 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…

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…

ParameterTypeDescription
appId*stringApp id or slug (from list_apps / create_app)
boardId*stringBoard id (from list_boards / create_board)
slug*stringURL slug: lowercase letters, digits and dashes
name*stringHuman-readable name
allowedMethodsarrayHTTP methods the endpoint accepts: GET, POST, PATCH, DELETE
exposedColumnsarrayColumns the endpoint reads and writes, with the JSON key each one gets; without it the endpoint returns bare metadata
rowLevelSecurityobjectRow-level security. Off: whoever holds the app key reads everything. On: every request must name a signed-in user, and mode decides which rows they reach
organizationIdstringOrganization id; defaults to the credential organization when omitted
list_app_endpointsList 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 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.

ParameterTypeDescription
appId*stringApp id or slug (from list_apps / create_app)
organizationIdstringOrganization id; defaults to the credential organization when omitted
update_app_endpointChange 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.

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.

ParameterTypeDescription
appId*stringApp id or slug (from list_apps / create_app)
endpointId*stringEndpoint id (from list_app_endpoints)
slugstringURL slug: lowercase letters, digits and dashes
namestringHuman-readable name
allowedMethodsarrayHTTP methods the endpoint accepts: GET, POST, PATCH, DELETE
exposedColumnsarrayReplacement list of exposed columns (same shape as create_app_endpoint)
rowLevelSecurity—Replacement row-level security (same shape as create_app_endpoint); null turns it off
isActivebooleanWhether it is active
organizationIdstringOrganization id; defaults to the credential organization when omitted
create_app_api_keyCreate 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 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.

ParameterTypeDescription
appId*stringApp id or slug (from list_apps / create_app)
namestringHuman-readable name
scopesarrayPermissions recorded on the key: ["read"] or ["read","write"]. Omit to match the app: write when any endpoint accepts POST, PATCH or DELETE.
organizationIdstringOrganization id; defaults to the credential organization when omitted
build_backendBuild a whole backend in one call from a spec you compose: the project, its boards, their typed columns (including relations between the boards), optional sample rows, and optionally a published REST API with one endpoint per board and a server-side key. Use it whenever the user describes a system…

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 sample rows, and optionally a published REST API with one endpoint per board and a server-side key. Use it whenever the user describes a system…

ParameterTypeDescription
project*objectThe project that holds the boards
boards*arrayThe boards (tables) of the backend, in any order
apiobjectInclude to publish a REST API over every board and mint a key; omit for a boards-only build
organizationIdstringOrganization id; needed only when the account belongs to several (the error then lists them)
create_automationCreate 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 statu…

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 statu…

NOTEIn parameter actions: Links to undeclared domain: api.frankfurter.app
ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
name*stringHuman-readable name
trigger*stringEvent that starts the automation: item_created, status_changed, column_value_changed, date_approaching, or scheduled (cron)
triggerConfigobjecte.g. { cron: "0 8 * * *" } for scheduled, { columnName } for column_value_changed
actions*arraye.g. [{ type: "http_request", config: { url: "https://api.frankfurter.app/latest?from=USD&to=ILS", method: "GET", responseMapping: [{ path: "rates.ILS", column…
conditionsarrayRun only for rows that match, e.g. [{ field: "<column id>", operator: "equals", value: "New seller" }]
isActivebooleanWhether it is active
update_automationChange 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 and conditions, when given, replace the whole list. Use it to fix an automation instead of creating a second one next to it. Get the id fro…

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 and conditions, when given, replace the whole list. Use it to fix an automation instead of creating a second one next to it. Get the id fro…

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id the automation belongs to
automationId*stringAutomation id (from list_automations)
namestringNew name
triggerConfigobjectNew trigger config
actionsarrayThe full new list of actions (replaces the old one)
conditionsarrayRun only for rows that match, e.g. [{ field: "<column id>", operator: "equals", value: "New seller" }]
isActivebooleanfalse switches it off, true on
list_automationsList 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.

ParameterTypeDescription
projectId*stringProject id (from list_projects / create_project)
boardId*stringBoard id (from list_boards / create_board)
list_appsList 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 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.

ParameterTypeDescription
organizationIdstringOrganization id; defaults to the credential organization when omitted
get_app_specGet the machine-readable spec of an app: base URL, endpoints, methods, fields, auth. Two formats: "tasklite" (default), the compact shape the frontend prompts are built from, and "openapi", a standard OpenAPI 3.1 document for developers and other tools. When the user asks for the OpenAPI spec, or w…

Get the machine-readable spec of an app: base URL, endpoints, methods, fields, auth. Two formats: "tasklite" (default), the compact shape the frontend prompts are built from, and "openapi", a standard OpenAPI 3.1 document for developers and other tools. When the user asks for the OpenAPI spec, or w…

ParameterTypeDescription
appId*stringApp id or slug (from list_apps / create_app)
formatstring"tasklite" (default): compact endpoint list. "openapi": OpenAPI 3.1 document, every endpoint with typed fields, filter grammar, auth and errors
organizationIdstringOrganization id; defaults to the credential organization when omitted
get_frontend_promptGet 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.

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.

ParameterTypeDescription
appId*stringApp id or slug (from list_apps / create_app)
tool*stringTarget tool the prompt is written for
organizationIdstringOrganization id; defaults to the credential organization when omitted
searchFull-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.

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.

ParameterTypeDescription
query*stringSearch text
projectIdstringLimit the search to one project
limitintegerMax results, default 20
fetchOne 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.

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.

ParameterTypeDescription
id*stringAn id from search, or an app URL path such as /projects/…/boards/…/items/…
organizationIdstringOnly needed for project ids when the credential has no default organization; otherwise resolved automatically
deploy_frontendDeploy 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_deployment). Hand over the frontend in ONE of three ways: `files`, the files inline (path + content), the way to go from ChatGPT or any host…

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_deployment). Hand over the frontend in ONE of three ways: `files`, the files inline (path + content), the way to go from ChatGPT or any host…

ParameterTypeDescription
appId*stringApp UUID or slug (app-xxxxxx), see list_apps
filesarrayThe site files inline. Must include index.html. Up to 500 files / 8MB decoded, right for a frontend written in the conversation
zipUrlstringPublic https URL of a zip of the BUILD OUTPUT (index.html at the root, or inside a single top-level folder). Up to 50MB
dirstringLocal path to the BUILD OUTPUT directory (the one containing index.html), not the project root. Only where the MCP runs on the same machine as the files
fromAppIdstringDeploy a version that is already hosted, copied on the server: another app in the same organization (start a new app from it), or this same app (bring an old v…
fromVersionintegerWith fromAppId: which version to copy (from list_deployments). Default: the live one
organizationIdstringOrganization id; defaults to the credential organization when omitted
list_deploymentsList 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.

ParameterTypeDescription
appId*stringApp id or slug (from list_apps / create_app)
organizationIdstringOrganization id; defaults to the credential organization when omitted
get_deployment_filesRead 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, JSON, SVG...). This is how a new conversation continues a site an earlier one built: "take my Krispool site and keep going" starts here, not…

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, JSON, SVG...). This is how a new conversation continues a site an earlier one built: "take my Krispool site and keep going" starts here, not…

ParameterTypeDescription
appId*stringApp id or slug (from list_apps / create_app)
versionintegerVersion to read (from list_deployments). Default: the live version
pathsarrayOnly these files, as listed by a previous call, e.g. ["index.html", "css/site.css"]
includeContentbooleanfalse lists the files without their text, a cheap first look at a large site. Default true
organizationIdstringOrganization id; defaults to the credential organization when omitted
rollback_deploymentPoint 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).

ParameterTypeDescription
appId*stringApp id or slug (from list_apps / create_app)
version*integerDeployment version number (from list_deployments)
organizationIdstringOrganization id; defaults to the credential organization when omitted

48 of 48 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Build a full backend from Claude Code — boards, data, REST APIs — plus a ready-made admin UI

Keywords
mcp
Alternatives
Comparing tool surfaces…

No dependency coverage

This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.