Minimal project management for teams and AI agents.
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.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
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://plate.to/mcp28 tools · 803mslist_workspacesList all Plate workspaces the user is a member of.List all Plate workspaces the user is a member of.
No input schema was published for this tool.
list_projectsList projects in a workspace.List projects in a workspace.
| Parameter | Type | Description |
|---|---|---|
| workspaceId* | string | Workspace ID |
list_tasksList tasks in a project, or look up a specific task by its public number. To resolve a public ID like 'TES-1': pass taskPrefix='TES' and number=1 — the prefix locates the correct workspace automatically (do NOT hardcode workspaceId when the prefix belongs to a different workspace). Alternatively pa…List tasks in a project, or look up a specific task by its public number. To resolve a public ID like 'TES-1': pass taskPrefix='TES' and number=1 — the prefix locates the correct workspace automatically (do NOT hardcode workspaceId when the prefix belongs to a different workspace). Alternatively pa…
| Parameter | Type | Description |
|---|---|---|
| projectId | string | Project ID. Required unless number is provided. |
| workspaceId | string | Workspace ID. Use when searching by number and you know the workspace. Ignored when taskPrefix is provided. |
| taskPrefix | string | Task prefix (e.g. 'TES' from TES-1). When provided with number, the workspace is located by prefix automatically — use this instead of workspaceId when the pre… |
| number | number | Look up a task by its public number (digits only — e.g. 1 from TES-1). Requires either taskPrefix or workspaceId. projectId is ignored when number is provided. |
| statusId | string | Filter by status ID |
| listId | string | Filter by section ID |
| includeCompleted | boolean | Include completed tasks (default: false) |
| limit | number | Max number of tasks to return (default: 100, max: 500) |
list_sectionsList sections (columns) in a project.List sections (columns) in a project.
| Parameter | Type | Description |
|---|---|---|
| projectId* | string | Project ID |
get_taskGet full details of a task. You can look up by internal taskId OR by public task identifier. To resolve a public ID like 'TES-1' or 'SCD-409', pass it as taskId — the prefix is used to find the correct workspace automatically. Alternatively, pass workspaceId + number (digits only).Get full details of a task. You can look up by internal taskId OR by public task identifier. To resolve a public ID like 'TES-1' or 'SCD-409', pass it as taskId — the prefix is used to find the correct workspace automatically. Alternatively, pass workspaceId + number (digits only).
| Parameter | Type | Description |
|---|---|---|
| taskId | string | Internal task ID OR full public task identifier (e.g. 'TES-1', 'SCD-409'). When a prefixed ID is passed, the prefix is used to locate the correct workspace aut… |
| workspaceId | string | Workspace ID. Used when looking up by number without a prefix. |
| number | number | Public task number (digits only — e.g. 409 from SCD-409). Requires workspaceId unless taskId contains the prefix. |
list_commentsList a task's comments, oldest first. The taskId is the internal document ID from list_tasks — NOT the public SCD-XXX number.List a task's comments, oldest first. The taskId is the internal document ID from list_tasks — NOT the public SCD-XXX number.
| Parameter | Type | Description |
|---|---|---|
| taskId* | string | Internal task ID (from list_tasks `id` field, not the public SCD-XXX number) |
list_membersList workspace members with their userId, name, email, and role. Use userId as assigneeId when creating or updating tasks.List workspace members with their userId, name, email, and role. Use userId as assigneeId when creating or updating tasks.
| Parameter | Type | Description |
|---|---|---|
| workspaceId* | string | Workspace ID |
list_activityList task activity history (status changes, assignments, moves, etc.) over a time range. Use it for time-based questions like which tasks were completed last week or what someone did. Filters: from/to (ISO 8601 dates), actorId (who made the change — get userIds from list_members), type ('task_statu…List task activity history (status changes, assignments, moves, etc.) over a time range. Use it for time-based questions like which tasks were completed last week or what someone did. Filters: from/to (ISO 8601 dates), actorId (who made the change — get userIds from list_members), type ('task_statu…
| Parameter | Type | Description |
|---|---|---|
| workspaceId* | string | Workspace ID |
| from | string | Start of range, ISO 8601 (e.g. 2026-06-01) |
| to | string | End of range, ISO 8601 |
| actorId | string | Only changes made by this userId |
| type | string | Event type, e.g. 'task_status_changed' or 'completed' |
| projectId | string | Limit to one project |
| limit | number | Max rows (default 100, max 500) |
list_statusesList workflow statuses for a workspace. Use the returned IDs as statusId when creating or updating tasks.List workflow statuses for a workspace. Use the returned IDs as statusId when creating or updating tasks.
| Parameter | Type | Description |
|---|---|---|
| workspaceId* | string | Workspace ID |
list_labelsList task labels for a workspace. Use the returned IDs (or names) as `labels` when creating or updating tasks.List task labels for a workspace. Use the returned IDs (or names) as `labels` when creating or updating tasks.
| Parameter | Type | Description |
|---|---|---|
| workspaceId* | string | Workspace ID |
create_taskCreate a new task in a project section. Only call this tool when creating a brand-new task that does not yet exist. To change the name, status, assignee, or description of an existing task, call update_task instead. To mark an existing task as done, call complete_task instead. If unsure whether a t…Create a new task in a project section. Only call this tool when creating a brand-new task that does not yet exist. To change the name, status, assignee, or description of an existing task, call update_task instead. To mark an existing task as done, call complete_task instead. If unsure whether a t…
| Parameter | Type | Description |
|---|---|---|
| projectId* | string | Project ID |
| listId* | string | Section ID |
| name* | string | Task name |
| statusId | string | Initial status ID |
| assigneeId | string | Assignee user ID |
| labels | array | Label IDs or names (from list_labels). Names match case-insensitively. Labels are never created automatically — an unknown one is an error. |
update_taskUpdate one or more fields on an existing task. Use this instead of create_task when the task already exists. The taskId is the internal document ID from list_tasks — NOT the public task number (e.g. SCD-408). To resolve a public number to an internal ID, call list_tasks with workspaceId + number fi…Update one or more fields on an existing task. Use this instead of create_task when the task already exists. The taskId is the internal document ID from list_tasks — NOT the public task number (e.g. SCD-408). To resolve a public number to an internal ID, call list_tasks with workspaceId + number fi…
| Parameter | Type | Description |
|---|---|---|
| taskId* | string | Internal task ID (from list_tasks `id` field, not the public SCD-XXX number) |
| name | string | New task name |
| statusId | string | New status ID |
| assigneeId | — | New assignee user ID (null to unassign) |
| listId | string | Move to a different section (must belong to the same project) |
| description | string | New description. Supports markdown: # headings, - bullets, 1. numbered lists, **bold**, *italic*, `code`, > blockquote. |
| labels | array | Replace the task's labels with these IDs or names (from list_labels). Names match case-insensitively; pass [] to clear. This REPLACES the list, it does not app… |
complete_taskMark an existing task as completed or reopen it. Use this instead of create_task when the task already exists and you only need to change its completion state. The taskId is the internal document ID from list_tasks — NOT the public task number (e.g. SCD-408). To resolve a public number to an intern…Mark an existing task as completed or reopen it. Use this instead of create_task when the task already exists and you only need to change its completion state. The taskId is the internal document ID from list_tasks — NOT the public task number (e.g. SCD-408). To resolve a public number to an intern…
| Parameter | Type | Description |
|---|---|---|
| taskId* | string | Internal task ID (from list_tasks `id` field, not the public SCD-XXX number) |
| isCompleted | boolean | True to complete, false to reopen (default: true) |
delete_taskprivilegedPermanently delete a task. Comments and attachments are removed automatically. The taskId is the internal document ID from list_tasks — NOT the public task number (e.g. SCD-408).Permanently delete a task. Comments and attachments are removed automatically. The taskId is the internal document ID from list_tasks — NOT the public task number (e.g. SCD-408).
| Parameter | Type | Description |
|---|---|---|
| taskId* | string | Internal task ID (from list_tasks `id` field, not the public SCD-XXX number) |
create_projectCreate a new project in a workspace. If a project with the same name already exists in the workspace, returns the existing project instead of creating a duplicate — check the `created` field in the response to tell the two cases apart.Create a new project in a workspace. If a project with the same name already exists in the workspace, returns the existing project instead of creating a duplicate — check the `created` field in the response to tell the two cases apart.
| Parameter | Type | Description |
|---|---|---|
| workspaceId* | string | Workspace ID |
| name* | string | Project name |
| description | string | Project description |
update_projectRename a project or update its description.Rename a project or update its description.
| Parameter | Type | Description |
|---|---|---|
| projectId* | string | Project ID |
| name | string | New project name |
| description | — | New project description (null to clear) |
create_sectionCreate a new section (column) in a project. If a section with the same name already exists in the project, returns the existing section instead of creating a duplicate — check the `created` field in the response to tell the two cases apart.Create a new section (column) in a project. If a section with the same name already exists in the project, returns the existing section instead of creating a duplicate — check the `created` field in the response to tell the two cases apart.
| Parameter | Type | Description |
|---|---|---|
| projectId* | string | Project ID |
| name* | string | Section name |
update_sectionRename a section.Rename a section.
| Parameter | Type | Description |
|---|---|---|
| sectionId* | string | Section ID |
| name* | string | New section name |
delete_commentprivilegedDelete a comment from a task.Delete a comment from a task.
| Parameter | Type | Description |
|---|---|---|
| commentId* | string | Comment ID |
create_commentAdd a comment to a task. The taskId is the internal document ID from list_tasks — NOT the public task number (e.g. SCD-408).Add a comment to a task. The taskId is the internal document ID from list_tasks — NOT the public task number (e.g. SCD-408).
| Parameter | Type | Description |
|---|---|---|
| taskId* | string | Internal task ID (from list_tasks `id` field, not the public SCD-XXX number) |
| text* | string | Comment text. Supports markdown: # headings, - bullets, 1. numbered lists, **bold**, *italic*, `code`, > blockquote. |
create_tasksCreate multiple tasks in a project in one action. Use this instead of calling create_task multiple times when the user asks to create several tasks at once. All tasks are created atomically — if validation fails for any item, nothing is created.Create multiple tasks in a project in one action. Use this instead of calling create_task multiple times when the user asks to create several tasks at once. All tasks are created atomically — if validation fails for any item, nothing is created.
| Parameter | Type | Description |
|---|---|---|
| projectId* | string | Project ID |
| listId | string | Default section ID for all tasks (can be overridden per task) |
| tasks* | array | Tasks to create (1–50) |
update_tasksUpdate multiple existing tasks in one action. Use this instead of calling update_task multiple times when the user asks to change several tasks at once. All updates are applied atomically.Update multiple existing tasks in one action. Use this instead of calling update_task multiple times when the user asks to change several tasks at once. All updates are applied atomically.
| Parameter | Type | Description |
|---|---|---|
| tasks* | array | Tasks to update (1–50) |
complete_tasksMark multiple tasks as completed in one action. Use this instead of calling complete_task multiple times. Already-completed tasks are left as-is.Mark multiple tasks as completed in one action. Use this instead of calling complete_task multiple times. Already-completed tasks are left as-is.
| Parameter | Type | Description |
|---|---|---|
| taskIds* | array | Internal task IDs to complete (1–100) |
| isCompleted | boolean | True to complete, false to reopen (default: true) |
delete_tasksprivilegedPermanently delete multiple tasks in one action. Use this instead of calling delete_task multiple times. All tasks are validated before any are deleted.Permanently delete multiple tasks in one action. Use this instead of calling delete_task multiple times. All tasks are validated before any are deleted.
| Parameter | Type | Description |
|---|---|---|
| taskIds* | array | Internal task IDs to delete (1–50) |
create_sectionsCreate multiple sections in a project in one action. Use this instead of calling create_section multiple times.Create multiple sections in a project in one action. Use this instead of calling create_section multiple times.
| Parameter | Type | Description |
|---|---|---|
| projectId* | string | Project ID |
| sections* | array | Sections to create (1–30) |
update_sectionsRename multiple sections in one action. Use this instead of calling update_section multiple times.Rename multiple sections in one action. Use this instead of calling update_section multiple times.
| Parameter | Type | Description |
|---|---|---|
| sections* | array | Sections to update (1–30) |
create_commentsAdd multiple comments to tasks in one action. Use this instead of calling create_comment multiple times.Add multiple comments to tasks in one action. Use this instead of calling create_comment multiple times.
| Parameter | Type | Description |
|---|---|---|
| comments* | array | Comments to create (1–50) |
delete_commentsprivilegedDelete multiple comments in one action. Use this instead of calling delete_comment multiple times. All comments are validated before any are deleted.Delete multiple comments in one action. Use this instead of calling delete_comment multiple times. All comments are validated before any are deleted.
| Parameter | Type | Description |
|---|---|---|
| commentIds* | array | Comment IDs to delete (1–50) |
28 of 28 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.
Minimal project management for teams and AI agents.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
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.