Plate
by plate.to · remote · no sign-in to list tools · v1.0.0 · published by to.plate
Minimal project management for teams and AI agents.
28 tools: 4 can delete or cancel things, 14 change things and 10 only read.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things14Claude Code: ask: see these tools
- Only reads10Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http plate https://plate.to/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
28 tools
Deletes or cancels 4Claude Code: deny
delete_commentDelete a comment from a task.No findings
Why it is in this group
- The name "delete_comment" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Delete a comment from a task.
Annotations the server declares
- title: Delete Comment
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: true
delete_commentsDelete multiple comments in one action.No findings
Why it is in this group
- The name "delete_comments" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Delete multiple comments in one action. Use this instead of calling delete_comment multiple times. All comments are validated before any are deleted.
Annotations the server declares
- title: Delete Comments
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: true
- idempotentHint: true
delete_taskPermanently delete a task.No findings
Why it is in this group
- The name "delete_task" says "delete": a word for removing or ending something.
- The description says "Permanently delete".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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).
Annotations the server declares
- title: Delete Task
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: true
delete_tasksPermanently delete multiple tasks in one action.No findings
Why it is in this group
- The name "delete_tasks" says "delete": a word for removing or ending something.
- The description says "Permanently delete".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Permanently delete multiple tasks in one action. Use this instead of calling delete_task multiple times. All tasks are validated before any are deleted.
Annotations the server declares
- title: Delete Tasks
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: true
- idempotentHint: true
Changes things 14Claude Code: ask
complete_taskMark an existing task as completed or reopen it.No findings
Why it is in this group
- The description's first verb is "mark": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Complete Task
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
complete_tasksMark multiple tasks as completed in one action.No findings
Why it is in this group
- The description's first verb is "mark": a word for a change.
Description, as the server wrote it Mark multiple tasks as completed in one action. Use this instead of calling complete_task multiple times. Already-completed tasks are left as-is.
Annotations the server declares
- title: Complete Tasks
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
create_commentAdd a comment to a task.No findings
Why it is in this group
- The name "create_comment" says "create": a word for a change.
Description, as the server wrote it 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).
Annotations the server declares
- title: Add Comment
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
create_commentsAdd multiple comments to tasks in one action.No findings
Why it is in this group
- The name "create_comments" says "create": a word for a change.
Description, as the server wrote it Add multiple comments to tasks in one action. Use this instead of calling create_comment multiple times.
Annotations the server declares
- title: Create Comments
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
create_projectCreate a new project in a workspace.No findings
Why it is in this group
- The name "create_project" says "create": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Create Project
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
create_sectionCreate a new section (column) in a project.No findings
Why it is in this group
- The name "create_section" says "create": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Create Section
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
create_sectionsCreate multiple sections in a project in one action.No findings
Why it is in this group
- The name "create_sections" says "create": a word for a change.
Description, as the server wrote it Create multiple sections in a project in one action. Use this instead of calling create_section multiple times.
Annotations the server declares
- title: Create Sections
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
create_taskCreate a new task in a project section.No findings
Why it is in this group
- The name "create_task" says "create": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Create Task
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
create_tasksCreate multiple tasks in a project in one action.No findings
Why it is in this group
- The name "create_tasks" says "create": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Create Tasks
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
update_projectRename a project or update its description.No findings
Why it is in this group
- The name "update_project" says "update": a word for a change.
Description, as the server wrote it Rename a project or update its description.
Annotations the server declares
- title: Update Project
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
update_sectionRename a section.No findings
Why it is in this group
- The name "update_section" says "update": a word for a change.
Description, as the server wrote it Rename a section.
Annotations the server declares
- title: Update Section
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
update_sectionsRename multiple sections in one action.No findings
Why it is in this group
- The name "update_sections" says "update": a word for a change.
Description, as the server wrote it Rename multiple sections in one action. Use this instead of calling update_section multiple times.
Annotations the server declares
- title: Update Sections
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
update_taskUpdate one or more fields on an existing task.No findings
Why it is in this group
- The name "update_task" says "update": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Update Task
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
update_tasksUpdate multiple existing tasks in one action.No findings
Why it is in this group
- The name "update_tasks" says "update": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Update Tasks
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
Only reads 10Claude Code: allow
get_taskGet full details of a task.No findings
Why it is in this group
- The name "get_task" says "get": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: Get Task
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
list_activityList task activity history (status changes, assignments, moves, etc.) over a time range.No findings
Why it is in this group
- The name "list_activity" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List Activity
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
list_commentsList a task's comments, oldest first.No findings
Why it is in this group
- The name "list_comments" says "list": a word for reading.
Description, as the server wrote it List a task's comments, oldest first. The taskId is the internal document ID from list_tasks — NOT the public SCD-XXX number.
Annotations the server declares
- title: List Comments
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
list_labelsList task labels for a workspace.No findings
Why it is in this group
- The name "list_labels" says "list": a word for reading.
Description, as the server wrote it List task labels for a workspace. Use the returned IDs (or names) as `labels` when creating or updating tasks.
Annotations the server declares
- title: List Labels
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
list_membersList workspace members with their userId, name, email, and role.No findings
Why it is in this group
- The name "list_members" says "list": a word for reading.
Description, as the server wrote it List workspace members with their userId, name, email, and role. Use userId as assigneeId when creating or updating tasks.
Annotations the server declares
- title: List Members
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
list_projectsList projects in a workspace.No findings
Why it is in this group
- The name "list_projects" says "list": a word for reading.
Description, as the server wrote it List projects in a workspace.
Annotations the server declares
- title: List Projects
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
list_sectionsList sections (columns) in a project.No findings
Why it is in this group
- The name "list_sections" says "list": a word for reading.
Description, as the server wrote it List sections (columns) in a project.
Annotations the server declares
- title: List Sections
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
list_statusesList workflow statuses for a workspace.No findings
Why it is in this group
- The name "list_statuses" says "list": a word for reading.
Description, as the server wrote it List workflow statuses for a workspace. Use the returned IDs as statusId when creating or updating tasks.
Annotations the server declares
- title: List Statuses
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
list_tasksList tasks in a project, or look up a specific task by its public number.No findings
Why it is in this group
- The name "list_tasks" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List Tasks
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
list_workspacesList all Plate workspaces the user is a member of.No findings
Why it is in this group
- The name "list_workspaces" says "list": a word for reading.
Description, as the server wrote it List all Plate workspaces the user is a member of.
Annotations the server declares
- title: List Workspaces
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http plate https://plate.to/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__plate__list_workspaces",
"mcp__plate__list_projects",
"mcp__plate__list_tasks",
"mcp__plate__list_sections",
"mcp__plate__get_task",
"mcp__plate__list_comments",
"mcp__plate__list_members",
"mcp__plate__list_activity",
"mcp__plate__list_statuses",
"mcp__plate__list_labels"
],
"ask": [
"mcp__plate__create_task",
"mcp__plate__update_task",
"mcp__plate__complete_task",
"mcp__plate__create_project",
"mcp__plate__update_project",
"mcp__plate__create_section",
"mcp__plate__update_section",
"mcp__plate__create_comment",
"mcp__plate__create_tasks",
"mcp__plate__update_tasks",
"mcp__plate__complete_tasks",
"mcp__plate__create_sections",
"mcp__plate__update_sections",
"mcp__plate__create_comments"
],
"deny": [
"mcp__plate__delete_task",
"mcp__plate__delete_comment",
"mcp__plate__delete_tasks",
"mcp__plate__delete_comments"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as plate. Review it before you use it.