Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Plate

REMOTE · PLATE.TO

Minimal project management for teams and AI agents.

Available components

0 this week 94 Trust /100

Last scanned (5 hours ago)

Scores higher than 99% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Project Management

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability79
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 2429 tokens (~86/item across 28 items; 28 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 28 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://plate.to/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=plate.to CN=WR3,O=Google Trust Services,C=US 2 Oct 2026 31 Dec 2026 RSA 2048 SHA256-RSA 206ddd7de6ba67fc0a3b8fae3741b4cb
SANs: plate.to
CN=WR3,O=Google Trust Services,C=US (CA) CN=GTS Root R1,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 RSA 2048 SHA256-RSA 7ff005a91568d63abc22861684aa4b5a
CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 19 Jun 2020 28 Jan 2028 RSA 4096 SHA256-RSA 77bd0d6cdb36f91aea210fc4f058d30d
CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 1 Sept 1998 28 Jan 2028 RSA 2048 SHA1-RSA 40000000001154b5ac394

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of plate.to. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
to. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://plate.to/.well-known/oauth-protected-resource", error="unauthorized"

Bearer resource_metadata="https://plate.to/.well-known/oauth-protected-resource", error="unauthorized"
Header Value
strict-transport-security max-age=31556926

Protected resource metadata

Document https://plate.to/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://plate.to/mcp
Authorisation server https://plate.to

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://plate.to/mcp Verified 200
http (plaintext) http://plate.to/mcp HTTPS enforced 301 https://plate.to/mcp
MCP tools · 28 exposed · ~2,429 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
complete_task ~132

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.

NameTypeReqDescription
isCompletedboolean–True to complete, false to reopen (default: true)
taskIdstringyesInternal task ID (from list_tasks `id` field, not the public SCD-XXX number)
NameTypeReqDescription
idstringyes–
isCompletedbooleanyes–

No examples provided.

complete_tasks ~72

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

NameTypeReqDescription
isCompletedboolean–True to complete, false to reopen (default: true)
taskIdsarrayyesInternal task IDs to complete (1–100)
NameTypeReqDescription
itemsarrayyes–

No examples provided.

create_comment ~106

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

NameTypeReqDescription
taskIdstringyesInternal task ID (from list_tasks `id` field, not the public SCD-XXX number)
textstringyesComment text. Supports markdown: # headings, - bullets, 1. numbered lists, **bold**, *italic*, `code`, > blockquote.
NameTypeReqDescription
idstringyes–

No examples provided.

create_comments ~41

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

NameTypeReqDescription
commentsarrayyesComments to create (1–50)
NameTypeReqDescription
itemsarrayyes–

No examples provided.

create_project ~83

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.

NameTypeReqDescription
descriptionstring–Project description
namestringyesProject name
workspaceIdstringyesWorkspace ID
NameTypeReqDescription
createdbooleanyestrue if a new project was created, false if an existing project with this name was returned
defaultListId–yes–
idstringyes–

No examples provided.

create_section ~77

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.

NameTypeReqDescription
namestringyesSection name
projectIdstringyesProject ID
NameTypeReqDescription
createdbooleanyestrue if a new section was created, false if an existing section with this name was returned
idstringyes–

No examples provided.

create_sections ~52

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

NameTypeReqDescription
projectIdstringyesProject ID
sectionsarrayyesSections to create (1–30)
NameTypeReqDescription
itemsarrayyes–

No examples provided.

create_task ~170

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.

NameTypeReqDescription
assigneeIdstring–Assignee user ID
labelsarray–Label IDs or names (from list_labels). Names match case-insensitively. Labels are never created automatically — an unknown one is an error.
listIdstringyesSection ID
namestringyesTask name
projectIdstringyesProject ID
statusIdstring–Initial status ID
NameTypeReqDescription
idstringyes–
numbernumberyes–

No examples provided.

create_tasks ~100

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.

NameTypeReqDescription
listIdstring–Default section ID for all tasks (can be overridden per task)
projectIdstringyesProject ID
tasksarrayyesTasks to create (1–50)
NameTypeReqDescription
itemsarrayyes–

No examples provided.

delete_comment ~25

Delete a comment from a task.

NameTypeReqDescription
commentIdstringyesComment ID
NameTypeReqDescription
deletedbooleanyes–
idstringyes–

No examples provided.

delete_comments ~50

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

NameTypeReqDescription
commentIdsarrayyesComment IDs to delete (1–50)
NameTypeReqDescription
itemsarrayyes–

No examples provided.

delete_task ~75

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

NameTypeReqDescription
taskIdstringyesInternal task ID (from list_tasks `id` field, not the public SCD-XXX number)
NameTypeReqDescription
deletedbooleanyes–
idstringyes–

No examples provided.

delete_tasks ~53

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

NameTypeReqDescription
taskIdsarrayyesInternal task IDs to delete (1–50)
NameTypeReqDescription
itemsarrayyes–

No examples provided.

get_task ~178

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

NameTypeReqDescription
numbernumber–Public task number (digits only — e.g. 409 from SCD-409). Requires workspaceId unless taskId contains the prefix.
taskIdstring–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 automatically.
workspaceIdstring–Workspace ID. Used when looking up by number without a prefix.
NameTypeReqDescription
assigneeId–yes–
createdAt–yes–
description–yes–
descriptionText–yesDescription converted to Markdown — use this for reading and displaying the description.
idstringyes–
isCompletedbooleanyes–
labelsarrayyes–
listIdstringyes–
namestringyes–
number–yes–
ownerId–yes–
projectIdstringyes–
statusId–yes–
workspaceIdstringyes–

No examples provided.

list_activity ~232

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.

NameTypeReqDescription
actorIdstring–Only changes made by this userId
fromstring–Start of range, ISO 8601 (e.g. 2026-06-01)
limitnumber–Max rows (default 100, max 500)
projectIdstring–Limit to one project
tostring–End of range, ISO 8601
typestring–Event type, e.g. 'task_status_changed' or 'completed'
workspaceIdstringyesWorkspace ID
NameTypeReqDescription
itemsarrayyes–

No examples provided.

list_comments ~66

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

NameTypeReqDescription
taskIdstringyesInternal task ID (from list_tasks `id` field, not the public SCD-XXX number)
NameTypeReqDescription
itemsarrayyes–

No examples provided.

list_labels ~43

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

NameTypeReqDescription
workspaceIdstringyesWorkspace ID
NameTypeReqDescription
itemsarrayyes–

No examples provided.

list_members ~46

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

NameTypeReqDescription
workspaceIdstringyesWorkspace ID
NameTypeReqDescription
itemsarrayyes–

No examples provided.

list_projects ~24

List projects in a workspace.

NameTypeReqDescription
workspaceIdstringyesWorkspace ID
NameTypeReqDescription
itemsarrayyes–

No examples provided.

list_sections ~27

List sections (columns) in a project.

NameTypeReqDescription
projectIdstringyesProject ID
NameTypeReqDescription
itemsarrayyes–

No examples provided.

list_statuses ~39

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

NameTypeReqDescription
workspaceIdstringyesWorkspace ID
NameTypeReqDescription
itemsarrayyes–

No examples provided.

list_tasks ~283

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.

NameTypeReqDescription
includeCompletedboolean–Include completed tasks (default: false)
limitnumber–Max number of tasks to return (default: 100, max: 500)
listIdstring–Filter by section ID
numbernumber–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.
projectIdstring–Project ID. Required unless number is provided.
statusIdstring–Filter by status ID
taskPrefixstring–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 prefix is known.
workspaceIdstring–Workspace ID. Use when searching by number and you know the workspace. Ignored when taskPrefix is provided.
NameTypeReqDescription
itemsarrayyes–

No examples provided.

list_workspaces ~21

List all Plate workspaces the user is a member of.

Input schema present but exposes no named parameters.

NameTypeReqDescription
itemsarrayyes–

No examples provided.

update_project ~48

Rename a project or update its description.

NameTypeReqDescription
description––New project description (null to clear)
namestring–New project name
projectIdstringyesProject ID
NameTypeReqDescription
idstringyes–

No examples provided.

update_section ~32

Rename a section.

NameTypeReqDescription
namestringyesNew section name
sectionIdstringyesSection ID
NameTypeReqDescription
idstringyes–

No examples provided.

update_sections ~39

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

NameTypeReqDescription
sectionsarrayyesSections to update (1–30)
NameTypeReqDescription
itemsarrayyes–

No examples provided.

update_task ~258

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.

NameTypeReqDescription
assigneeId––New assignee user ID (null to unassign)
descriptionstring–New description. Supports markdown: # headings, - bullets, 1. numbered lists, **bold**, *italic*, `code`, > blockquote.
labelsarray–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 append. Labels are never created automatica…
listIdstring–Move to a different section (must belong to the same project)
namestring–New task name
statusIdstring–New status ID
taskIdstringyesInternal task ID (from list_tasks `id` field, not the public SCD-XXX number)
NameTypeReqDescription
idstringyes–

No examples provided.

update_tasks ~57

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.

NameTypeReqDescription
tasksarrayyesTasks to update (1–50)
NameTypeReqDescription
itemsarrayyes–

No examples provided.

Install

How do I install the Plate MCP server?

Plate is a hosted endpoint at https://plate.to/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · plate.to

# add to Claude Code
claude mcp add --transport http to-plate-mcp 'https://plate.to/mcp'
Common questions

What is the Plate MCP server?

Plate is an MCP server listed in the public MCP registry as to.plate/mcp. Minimal project management for teams and AI agents. This page covers its hosted endpoint (https://plate.to/mcp).

Is the Plate MCP server safe to use?

Plate scores 94 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Plate MCP server expose?

Plate exposes 28 tools: list_workspaces, list_projects, list_tasks, list_sections, get_task, and 23 more. Their descriptions and schemas cost roughly 2,429 tokens of context every time the server is loaded.

Does the Plate MCP server require authentication?

Yes. Plate asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Plate MCP server still maintained?

Plate is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.