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

Plate

REMOTE · PLATE.TO · SCANNED AUG 3

Minimal project management for teams and AI agents.

Available components

+8 this week 83 Trust /100
Trust breakdown (6 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 →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability81
  • 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 Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · plate.to

# add to Claude Code
claude mcp add --transport http to-plate-mcp https://plate.to/mcp
# ~/.codex/config.toml
[mcp_servers.to-plate-mcp]
url = "https://plate.to/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "to-plate-mcp": {
      "type": "remote",
      "url": "https://plate.to/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add to-plate-mcp --url https://plate.to/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  to-plate-mcp:
    url: "https://plate.to/mcp"
// mcp.json
{
  "mcpServers": {
    "to-plate-mcp": {
      "type": "http",
      "url": "https://plate.to/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

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.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +5
    • 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 −1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 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
  • 26 Jul 26 75

    First indexed and scored.

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 3 Aug 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 11 Jun 2026 9 Sept 2026 RSA 2048 SHA256-RSA bf4ceb928f9db220a2b675295d8037e
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
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
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.

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
isCompletedbooleanTrue 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
isCompletedbooleanTrue 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
descriptionstringProject description
namestringyesProject name
workspaceIdstringyesWorkspace ID
NameTypeReqDescription
createdbooleanyestrue if a new project was created, false if an existing project with this name was returned
defaultListIdyes
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
assigneeIdstringAssignee user ID
labelsarrayLabel 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
statusIdstringInitial 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
listIdstringDefault 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
numbernumberPublic task number (digits only — e.g. 409 from SCD-409). Requires workspaceId unless taskId contains the prefix.
taskIdstringInternal 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.
workspaceIdstringWorkspace ID. Used when looking up by number without a prefix.
NameTypeReqDescription
assigneeIdyes
createdAtyes
descriptionyes
descriptionTextyesDescription converted to Markdown — use this for reading and displaying the description.
idstringyes
isCompletedbooleanyes
labelsarrayyes
listIdstringyes
namestringyes
numberyes
ownerIdyes
projectIdstringyes
statusIdyes
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
actorIdstringOnly changes made by this userId
fromstringStart of range, ISO 8601 (e.g. 2026-06-01)
limitnumberMax rows (default 100, max 500)
projectIdstringLimit to one project
tostringEnd of range, ISO 8601
typestringEvent 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
includeCompletedbooleanInclude completed tasks (default: false)
limitnumberMax number of tasks to return (default: 100, max: 500)
listIdstringFilter by section ID
numbernumberLook 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.
projectIdstringProject ID. Required unless number is provided.
statusIdstringFilter by status ID
taskPrefixstringTask 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.
workspaceIdstringWorkspace 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
descriptionNew project description (null to clear)
namestringNew 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
assigneeIdNew assignee user ID (null to unassign)
descriptionstringNew description. Supports markdown: # headings, - bullets, 1. numbered lists, **bold**, *italic*, `code`, > blockquote.
labelsarrayReplace 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…
listIdstringMove to a different section (must belong to the same project)
namestringNew task name
statusIdstringNew 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.