Plate

to.platePublished by plate.toOfficial publisherv1.0.0Updated Oct 24, 2026

Minimal project management for teams and AI agents.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowCommunication & Collaboration

Overview

AI-generated overview

Plate is a remote project-management server that lets an assistant browse workspaces, projects and tasks, and create, update, complete or delete them.

What you can do
List workspaces, projects, sections, statuses, labels and members, and look up tasks by internal ID or public number such as TES-1, with comments and activity history for time-based questions. Create, update, complete or reopen single tasks, and create or rename projects and sections. Add and delete comments on tasks. Run bulk operations for tasks, sections and comments, applied atomically with validation before any change. Delete tasks permanently, including their comments and attachments.
When to use it
Useful when a team keeps its work in Plate and wants an assistant to answer questions about tasks, activity or members, or to file, update, complete and clean up tasks and comments without opening the app.
Requirements
A remote endpoint at plate.to over streamable HTTP; no packages, environment variables or headers are declared. The user must be a member of the Plate workspaces being accessed.
Before you install
The server can write and permanently delete data: delete_task and delete_tasks remove tasks with their comments and attachments, and delete_comment and delete_comments remove comments. Bulk tools change many records at once. No authentication method is declared in the manifest, so confirm how access to your workspaces is authorized before connecting.

Installation

In SourceWeft

  1. Open Plate in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/to.plate%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "plate": {
      "type": "http",
      "url": "https://plate.to/mcp"
    }
  }
}

Tools

28

list_workspaces

List Workspaces

List all Plate workspaces the user is a member of.

Takes no parameters.

list_projects

List Projects

List projects in a workspace.

ParametersworkspaceIdrequired

list_tasks

List Tasks

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 pass workspaceId + number when you are certain of the workspace.

ParameterslimitlistIdnumberstatusIdprojectIdtaskPrefixworkspaceIdincludeCompleted

list_sections

List Sections

List sections (columns) in a project.

ParametersprojectIdrequired

get_task

Get Task

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

ParametersnumbertaskIdworkspaceId

list_comments

List Comments

List a task's comments, oldest first. The taskId is the internal document ID from list_tasks — NOT the public SCD-XXX number.

ParameterstaskIdrequired

list_members

List Members

List workspace members with their userId, name, email, and role. Use userId as assigneeId when creating or updating tasks.

ParametersworkspaceIdrequired

list_activity

List Activity

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_status_changed', or 'completed' for transitions into a Done status), and projectId. Each row gives the task identifier, the status change, who did it, and the task's owner and assignee.

ParameterstofromtypelimitactorIdprojectIdworkspaceIdrequired

list_statuses

List Statuses

List workflow statuses for a workspace. Use the returned IDs as statusId when creating or updating tasks.

ParametersworkspaceIdrequired

list_labels

List Labels

List task labels for a workspace. Use the returned IDs (or names) as `labels` when creating or updating tasks.

ParametersworkspaceIdrequired

create_task

Create Task

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 task already exists, call list_tasks first.

ParametersnamerequiredlabelslistIdrequiredstatusIdprojectIdrequiredassigneeId

update_task

Update Task

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

ParametersnamelabelslistIdtaskIdrequiredstatusIdassigneeIddescription

complete_task

Complete Task

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 internal ID, call list_tasks with workspaceId + number first.

ParameterstaskIdrequiredisCompleted

delete_task

Delete Task

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

ParameterstaskIdrequired

create_project

Create Project

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.

ParametersnamerequireddescriptionworkspaceIdrequired

update_project

Update Project

Rename a project or update its description.

ParametersnameprojectIdrequireddescription

create_section

Create Section

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.

ParametersnamerequiredprojectIdrequired

update_section

Update Section

Rename a section.

ParametersnamerequiredsectionIdrequired

delete_comment

Delete Comment

Delete a comment from a task.

ParameterscommentIdrequired

create_comment

Add Comment

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

ParameterstextrequiredtaskIdrequired

create_tasks

Create Tasks

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.

ParameterstasksrequiredlistIdprojectIdrequired

update_tasks

Update Tasks

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.

Parameterstasksrequired

complete_tasks

Complete Tasks

Mark multiple tasks as completed in one action. Use this instead of calling complete_task multiple times. Already-completed tasks are left as-is.

ParameterstaskIdsrequiredisCompleted

delete_tasks

Delete Tasks

Permanently delete multiple tasks in one action. Use this instead of calling delete_task multiple times. All tasks are validated before any are deleted.

ParameterstaskIdsrequired

create_sections

Create Sections

Create multiple sections in a project in one action. Use this instead of calling create_section multiple times.

ParameterssectionsrequiredprojectIdrequired

update_sections

Update Sections

Rename multiple sections in one action. Use this instead of calling update_section multiple times.

Parameterssectionsrequired

create_comments

Create Comments

Add multiple comments to tasks in one action. Use this instead of calling create_comment multiple times.

Parameterscommentsrequired

delete_comments

Delete Comments

Delete multiple comments in one action. Use this instead of calling delete_comment multiple times. All comments are validated before any are deleted.

ParameterscommentIdsrequired

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.

Other Plate integrations