Build a full backend from Claude Code — boards, data, REST APIs — plus a ready-made admin UI
Inferido de los transportes que declara este listado (streamable-http). Que un cliente no aparezca aquí no significa que se haya descartado: simplemente Forge no puede confirmarlo.
La verificación confirma la identidad del publicador (la propiedad del repo), no la seguridad del código. El análisis de seguridad cubre los CVE conocidos y los scripts de instalación sospechosos.
Leído de un handshake MCP real initialize → tools/list contra el endpoint declarado. No se invocó ninguna herramienta: tools/list es la llamada de introspección de solo lectura que el protocolo define para esto. Refleja lo que el servidor anunciaba en ese momento; un endpoint alojado no está fijado a ninguna versión y puede cambiar sin avisar.
https://mcp.tasklite.net/mcp48 herramientas · 828 mslist_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 se publicó ningún esquema de entrada para esta herramienta.
configure_external_accessriesgo de inyecciónRead 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…
POST /auth/login), or Google (POST /auth/google-external with a Google ID token and this organizationId). Eit…| Parámetro | Tipo | Descripción |
|---|---|---|
| organizationId | string | Defaults to the credential organization |
| registrationPolicy | string | How external sign-ups are admitted: open, approval or closed |
| appLoginUrl | string | https 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| organizationId | string | Defaults to the credential organization |
| page | number | 1-based; defaults to 1 |
| limit | number | Defaults 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| page | number | 1-based; defaults to 1 |
| limit | number | Defaults 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| name* | string | Human-readable name |
| description | string | Free-text description |
| organizationId | string | Organization 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…
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| name* | string | Human-readable name |
| description | string | Free-text description |
| kind | string | "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…
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id (from list_boards / create_board) |
| name* | string | Human-readable name |
| type* | string | Action type: http_request, send_notification, send_email, send_whatsapp, change_status, set_column_value, create_cross_board_item, send_webhook or delay |
| settings | object | Type-specific settings. For dropdown/status/priority: options, either as labels ["A","B"] or as full objects [{value,label,color}], labels are expanded server-… |
| isRequired | boolean | Require a non-blank value on every App API create |
| force | boolean | Create 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id (from list_boards / create_board) |
| name | string | Human-readable name |
| description | string | Free-text description |
delete_boardprivilegiadaDelete 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id (from list_boards / create_board) |
delete_projectprivilegiadaDelete 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| organizationId | string | Organization 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…
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id (from list_boards / create_board) |
| columnId* | string | Column id (from get_board_schema) |
| name | string | Human-readable name |
| type | string | New column type (same list as create_column) |
| settings | object | Replaces the column settings, e.g. { options: [...] } for dropdown/status |
| isRequired | boolean | Require a non-blank value on every App API create |
| isHidden | boolean | Hide the column in the TaskLite UI |
| description | string | Free-text description |
| force | boolean | Skip the name/type sanity check |
delete_columnprivilegiadaDelete 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id (from list_boards / create_board) |
| columnId* | string | Column 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).
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id (from list_boards / create_board) |
| columnIds* | array | Column 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| organizationId | string | Defaults to the credential organization |
| maxItemsPerBoard | integer | Default 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…
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id (from list_boards / create_board) |
| search | string | Free text; matches the row title and its text cells |
| status | string | Only 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… |
| excludeStatus | string | Only 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… |
| priority | string | Only rows with one of these priorities, comma separated (task boards only) |
| sort | string | Sort by title, createdAt, updatedAt or status; prefix with "-" for descending, e.g. "-createdAt" for newest first. Anything else keeps the board order |
| archived | string | Which rows to include. Default active |
| limit | integer | Page size; omit to fetch all items |
| page | integer | 1-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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id (from list_boards / create_board) |
| title* | string | Item title, shown as the row name |
| description | string | Free-text description |
| status | string | Status value (todo, in_progress, done, or a value from the board's status options) |
| priority | string | Priority: low, medium, high or urgent |
| dueDate | string | ISO date |
| tags | array | Tags as an array of strings |
| cells | object | Cell 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).
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id (from list_boards / create_board) |
| itemId* | string | Item (row) id |
| title | string | Item title, shown as the row name |
| description | string | Free-text description |
| status | string | Status value (todo, in_progress, done, or a value from the board's status options) |
| priority | string | Priority: low, medium, high or urgent |
| dueDate | string | Due date, ISO 8601 (YYYY-MM-DD or full timestamp) |
| tags | array | Tags 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id (from list_boards / create_board) |
| itemId* | string | Item (row) id |
| columnId* | string | Column id (from get_board_schema) |
| value* | — | The new cell value; shape depends on the column type |
delete_itemprivilegiadaDelete an item. Destructive, confirm with the user before calling.Delete an item. Destructive, confirm with the user before calling.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id (from list_boards / create_board) |
| itemId* | string | Item 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).
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| itemId* | string | Item (row) id |
| page | integer | 1-based page, default 1 |
| limit | integer | Page 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| itemId* | string | Item (row) id |
| content* | string | The comment text |
| mentionedUserIds | array | User ids to @mention and notify |
| attachmentIds | array | Ids 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| itemId* | string | Item (row) id |
| commentId* | string | Comment id (from list_comments) |
| content* | string | The new comment text |
delete_commentprivilegiadaDelete 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| itemId* | string | Item id (from query_items / create_item) |
| commentId* | string | Comment id (from list_comments / add_comment) |
request_file_uploadprivilegiadariesgo de inyecciónCreate 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…
like https://app.tasklite.net/upload/<token> that anyone you hand it to c…| Parámetro | Tipo | Descripción |
|---|---|---|
| itemId* | string | Item (row) the files belong to, from query_items / create_item. Make the row first if the material has no home yet |
| clientName | string | Who is being asked, shown on the upload page |
| clientEmail | string | Send the link to this address. Omit to get the link back and pass it on yourself |
| clientPhone | string | Recorded with the request |
| message | string | What to upload, in the words the recipient will read: "the four room photos and the price list" |
| maxFiles | integer | How many files the link accepts before it stops. Default 10 |
| expiryDays | integer | How long the link lives. Default 7 days |
| organizationId | string | Organization 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…
| Parámetro | Tipo | Descripción |
|---|---|---|
| itemId* | string | Item (row) id |
| organizationId | string | Organization id; defaults to the credential organization when omitted |
revoke_upload_linkprivilegiadaClose 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| tokenId* | string | Link id (the tokenId from request_file_upload) |
| organizationId | string | Organization 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| name* | string | Human-readable name |
| projectId* | string | Project id (from list_projects / create_project) |
| organizationId | string | Organization 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App id or slug (from list_apps / create_app) |
| organizationId | string | Organization 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App id or slug (from list_apps / create_app) |
| userIds* | array | App user ids to notify (the same ids row-level security uses) |
| title | string | Notification title; defaults to "TaskLite" |
| body | string | Notification body |
| organizationId | string | Organization 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App id or slug (from list_apps / create_app) |
| organizationId | string | Organization 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…
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App id or slug (from list_apps / create_app) |
| boardId* | string | Board id (from list_boards / create_board) |
| slug* | string | URL slug: lowercase letters, digits and dashes |
| name* | string | Human-readable name |
| allowedMethods | array | HTTP methods the endpoint accepts: GET, POST, PATCH, DELETE |
| exposedColumns | array | Columns the endpoint reads and writes, with the JSON key each one gets; without it the endpoint returns bare metadata |
| rowLevelSecurity | object | Row-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 |
| organizationId | string | Organization 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App id or slug (from list_apps / create_app) |
| organizationId | string | Organization 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App id or slug (from list_apps / create_app) |
| endpointId* | string | Endpoint id (from list_app_endpoints) |
| slug | string | URL slug: lowercase letters, digits and dashes |
| name | string | Human-readable name |
| allowedMethods | array | HTTP methods the endpoint accepts: GET, POST, PATCH, DELETE |
| exposedColumns | array | Replacement 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 |
| isActive | boolean | Whether it is active |
| organizationId | string | Organization 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App id or slug (from list_apps / create_app) |
| name | string | Human-readable name |
| scopes | array | Permissions recorded on the key: ["read"] or ["read","write"]. Omit to match the app: write when any endpoint accepts POST, PATCH or DELETE. |
| organizationId | string | Organization 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…
| Parámetro | Tipo | Descripción |
|---|---|---|
| project* | object | The project that holds the boards |
| boards* | array | The boards (tables) of the backend, in any order |
| api | object | Include to publish a REST API over every board and mint a key; omit for a boards-only build |
| organizationId | string | Organization 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…
actions: Links to undeclared domain: api.frankfurter.app| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id (from list_boards / create_board) |
| name* | string | Human-readable name |
| trigger* | string | Event that starts the automation: item_created, status_changed, column_value_changed, date_approaching, or scheduled (cron) |
| triggerConfig | object | e.g. { cron: "0 8 * * *" } for scheduled, { columnName } for column_value_changed |
| actions* | array | e.g. [{ type: "http_request", config: { url: "https://api.frankfurter.app/latest?from=USD&to=ILS", method: "GET", responseMapping: [{ path: "rates.ILS", column… |
| conditions | array | Run only for rows that match, e.g. [{ field: "<column id>", operator: "equals", value: "New seller" }] |
| isActive | boolean | Whether 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…
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board id the automation belongs to |
| automationId* | string | Automation id (from list_automations) |
| name | string | New name |
| triggerConfig | object | New trigger config |
| actions | array | The full new list of actions (replaces the old one) |
| conditions | array | Run only for rows that match, e.g. [{ field: "<column id>", operator: "equals", value: "New seller" }] |
| isActive | boolean | false 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| projectId* | string | Project id (from list_projects / create_project) |
| boardId* | string | Board 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| organizationId | string | Organization 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…
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App id or slug (from list_apps / create_app) |
| format | string | "tasklite" (default): compact endpoint list. "openapi": OpenAPI 3.1 document, every endpoint with typed fields, filter grammar, auth and errors |
| organizationId | string | Organization 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App id or slug (from list_apps / create_app) |
| tool* | string | Target tool the prompt is written for |
| organizationId | string | Organization 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| query* | string | Search text |
| projectId | string | Limit the search to one project |
| limit | integer | Max 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| id* | string | An id from search, or an app URL path such as /projects/…/boards/…/items/… |
| organizationId | string | Only 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…
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App UUID or slug (app-xxxxxx), see list_apps |
| files | array | The site files inline. Must include index.html. Up to 500 files / 8MB decoded, right for a frontend written in the conversation |
| zipUrl | string | Public https URL of a zip of the BUILD OUTPUT (index.html at the root, or inside a single top-level folder). Up to 50MB |
| dir | string | Local 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 |
| fromAppId | string | Deploy 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… |
| fromVersion | integer | With fromAppId: which version to copy (from list_deployments). Default: the live one |
| organizationId | string | Organization 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.
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App id or slug (from list_apps / create_app) |
| organizationId | string | Organization 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…
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App id or slug (from list_apps / create_app) |
| version | integer | Version to read (from list_deployments). Default: the live version |
| paths | array | Only these files, as listed by a previous call, e.g. ["index.html", "css/site.css"] |
| includeContent | boolean | false lists the files without their text, a cheap first look at a large site. Default true |
| organizationId | string | Organization 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).
| Parámetro | Tipo | Descripción |
|---|---|---|
| appId* | string | App id or slug (from list_apps / create_app) |
| version* | integer | Deployment version number (from list_deployments) |
| organizationId | string | Organization id; defaults to the credential organization when omitted |
48 de 48 herramientas publicaron una descripción.
Los nombres y descripciones de las herramientas los escribe el publicador y se muestran literalmente como texto inerte. Son las cadenas que un cliente MCP pasa al modelo, así que Forge las analiza en busca de patrones de inyección de prompts — cualquier hallazgo aparece junto al análisis de seguridad de arriba. «Privilegiada» es una coincidencia de palabra clave en el nombre de la herramienta, no una auditoría de lo que hace: un nombre inofensivo puede hacer cualquier cosa.
Build a full backend from Claude Code — boards, data, REST APIs — plus a ready-made admin UI
+ 8 más observadas en esta entrada.
Los nombres enlazados abren el índice de Forge con todas las entradas que se observó que exponen esa herramienta. Ver todas las herramientas indexadas.
Esta entrada no publica ningún paquete de npm, así que Forge no tiene un árbol de dependencias para ella. Es una carencia de cobertura, no una afirmación de que no tenga dependencias.