Plaky MCP by usefulapi
Read boards and items, create items, set field values and add comments in Plaky.
使うべきか
品質と安全性
検出事項(1)
- LOWplaky_get_item_file_download_url 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"plaky": {
"url": "https://plaky.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://plaky.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(20)
🟢plaky_get_current_user
Return the owner of the API key: id, name, email, role (OWNER/ADMIN/MEMBER/VIEWER) and status. Good first call to verify the key works. Plaky API: GET /v1/public/users/me.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_list_users(emails, status, type, page, page_size)
List workspace users, optionally filtered by email, status (ACTIVE/PENDING/INACTIVE) or role (OWNER/ADMIN/MEMBER/VIEWER). Plaky API: GET /v1/public/users.
入力スキーマ
{
"type": "object",
"properties": {
"emails": {
"description": "Only users with these email addresses.",
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"description": "Only users in this status.",
"type": "string",
"enum": [
"ACTIVE",
"PENDING",
"INACTIVE"
]
},
"type": {
"description": "Only users with this role.",
"type": "string",
"enum": [
"OWNER",
"ADMIN",
"MEMBER",
"VIEWER"
]
},
"page": {
"description": "Page number, 1-indexed (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Results per page (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_list_teams(page, page_size)
List workspace teams. Use the team ids when you subscribe teams to items. Plaky API: GET /v1/public/teams.
入力スキーマ
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-indexed (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Results per page (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_get_team(team_id)
Get one team by id, with its members. Plaky API: GET /v1/public/teams/{teamId}.
入力スキーマ
{
"type": "object",
"properties": {
"team_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Team id (from plaky_list_teams)."
}
},
"required": [
"team_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_list_spaces(expand, page, page_size)
List spaces in the workspace. Pass expand=['board'] to include each space's boards. Plaky API: GET /v1/public/spaces.
入力スキーマ
{
"type": "object",
"properties": {
"expand": {
"description": "Use 'board' to include boards inside each space.",
"type": "array",
"items": {
"type": "string",
"enum": [
"board"
]
}
},
"page": {
"description": "Page number, 1-indexed (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Results per page (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_get_space(space_id, expand)
Get one space by id. Pass expand=['board'] to include its boards. Plaky API: GET /v1/public/spaces/{spaceId}.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"expand": {
"description": "Use 'board' to include boards.",
"type": "array",
"items": {
"type": "string",
"enum": [
"board"
]
}
}
},
"required": [
"space_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_list_boards(space_id, page, page_size)
List the boards in one space. Plaky API: GET /v1/public/spaces/{spaceId}/boards.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"page": {
"description": "Page number, 1-indexed (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Results per page (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"space_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_get_board(space_id, board_id)
Get one board: its fields (keys, titles, types, allowed values) and groups. Call it first to learn the field keys before you set values. Plaky API: GET /v1/public/spaces/{spaceId}/boards/{boardId}.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
}
},
"required": [
"space_id",
"board_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_list_item_groups(space_id, board_id, page, page_size)
List the item groups (sections) of a board. Use their ids for plaky_create_item and plaky_move_item_to_group. Plaky API: GET /v1/public/spaces/{spaceId}/boards/{boardId}/item-groups.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
},
"page": {
"description": "Page number, 1-indexed (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Results per page (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"space_id",
"board_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_list_items(space_id, board_id, board_view_id, parent_id, subitems_behaviour, ...)
List items on a board, optionally in one board view or under one parent item. subitems_behaviour: INCLUDE (default), EXCLUDE or EMBED. Plaky API: GET /v1/public/spaces/{spaceId}/boards/{boardId}/items.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
},
"board_view_id": {
"description": "Only items shown in this board view.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"parent_id": {
"description": "Only subitems of this parent item.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"subitems_behaviour": {
"description": "How subitems appear (default INCLUDE).",
"type": "string",
"enum": [
"INCLUDE",
"EXCLUDE",
"EMBED"
]
},
"page": {
"description": "Page number, 1-indexed (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Results per page (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"expand": {
"description": "Relationships to return as full objects instead of ids.",
"type": "array",
"items": {
"type": "string",
"enum": [
"space",
"board",
"group",
"createdBy",
"parent",
"subscriptions",
"fields"
]
}
}
},
"required": [
"space_id",
"board_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_get_item(space_id, board_id, item_id, expand)
Get one item with its field values, group and subitem count. Plaky API: GET /v1/public/spaces/{spaceId}/boards/{boardId}/items/{itemId}.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
},
"item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Item id (from plaky_list_items)."
},
"expand": {
"description": "Relationships to return as full objects instead of ids.",
"type": "array",
"items": {
"type": "string",
"enum": [
"space",
"board",
"group",
"createdBy",
"parent",
"subscriptions",
"fields"
]
}
}
},
"required": [
"space_id",
"board_id",
"item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_list_subitems(space_id, board_id, item_id, page, page_size, ...)
List the subitems of one item. Plaky API: GET /v1/public/spaces/{spaceId}/boards/{boardId}/items/{itemId}/sub-items.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
},
"item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Item id (from plaky_list_items)."
},
"page": {
"description": "Page number, 1-indexed (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Results per page (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"expand": {
"description": "Relationships to return as full objects instead of ids.",
"type": "array",
"items": {
"type": "string",
"enum": [
"space",
"board",
"group",
"createdBy",
"parent",
"subscriptions",
"fields"
]
}
}
},
"required": [
"space_id",
"board_id",
"item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_list_item_comments(space_id, board_id, item_id)
List the comments on one item, with replies and reactions. Plaky API: GET /v1/public/spaces/{spaceId}/boards/{boardId}/items/{itemId}/comments.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
},
"item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Item id (from plaky_list_items)."
}
},
"required": [
"space_id",
"board_id",
"item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_list_item_files(space_id, board_id, item_id)
List the files attached to one item (name, size, type, uploader). Plaky API: GET /v1/public/spaces/{spaceId}/boards/{boardId}/items/{itemId}/files.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
},
"item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Item id (from plaky_list_items)."
}
},
"required": [
"space_id",
"board_id",
"item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢plaky_get_item_file_download_url(space_id, board_id, item_id, item_file_id)
Return a short-lived presigned download URL for one item file (see expiresInSeconds). The file bytes are not returned. Plaky API: GET .../files/{itemFileId}/download.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
},
"item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Item id (from plaky_list_items)."
},
"item_file_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "File id (from plaky_list_item_files)."
}
},
"required": [
"space_id",
"board_id",
"item_id",
"item_file_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴plaky_create_item(space_id, board_id, title, parent_id, group_id, ...)
Create an item on a board, or a subitem when parent_id is set. Fields map a field key or title to a value. Writes data: creates a new item on each call. Plaky API: POST /v1/public/spaces/{spaceId}/boards/{boardId}/items.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
},
"title": {
"description": "Item title (default 'New Item', or 'New Subitem').",
"type": "string",
"maxLength": 255
},
"parent_id": {
"description": "Parent item id: creates a subitem under it.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"group_id": {
"description": "Item group id to place the item in (from plaky_list_item_groups).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Field values keyed by field key or title.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
],
"description": "Field value by type: text or number as-is; status as label or id; tag as array of labels or ids; date as ISO-8601 string; timeline as {start,end}; person as {users:[{id|email}],teams:[{id|title}]}; link as URL or {url,displayText}."
}
}
},
"required": [
"space_id",
"board_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡plaky_update_item_field(space_id, board_id, item_id, field_key, value)
Set the value of one field on an item. The field is a key ('status-1') or a title ('Status'). Setting the same value again changes nothing. Plaky API: PATCH .../items/{itemId}/fields/{itemFieldKey}.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
},
"item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Item id (from plaky_list_items)."
},
"field_key": {
"type": "string",
"minLength": 1,
"description": "Field key or field title, from plaky_get_board."
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
],
"description": "Field value by type: text or number as-is; status as label or id; tag as array of labels or ids; date as ISO-8601 string; timeline as {start,end}; person as {users:[{id|email}],teams:[{id|title}]}; link as URL or {url,displayText}."
}
},
"required": [
"space_id",
"board_id",
"item_id",
"field_key",
"value"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴plaky_move_item_to_group(space_id, board_id, item_id, item_group_id)
Move an item to another item group on the same board. The item is added to the end of the target group. Plaky API: PATCH .../items/{itemId}/group.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
},
"item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Item id (from plaky_list_items)."
},
"item_group_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Destination item group id (from plaky_list_item_groups)."
}
},
"required": [
"space_id",
"board_id",
"item_id",
"item_group_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴plaky_add_item_comment(space_id, board_id, item_id, text, reply_to_comment_id)
Add a comment to an item, or a reply when reply_to_comment_id is set. Writes data: each call posts a new comment. Plaky API: POST .../items/{itemId}/comments.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
},
"item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Item id (from plaky_list_items)."
},
"text": {
"type": "string",
"minLength": 1,
"description": "Comment text."
},
"reply_to_comment_id": {
"description": "Comment id to reply to (from plaky_list_item_comments).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"space_id",
"board_id",
"item_id",
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡plaky_set_comment_reactions(space_id, board_id, item_id, comment_id, reaction_codes)
Set the emoji reactions the API key's user leaves on one comment. Replaces the current reactions; an empty list removes them. Emoji codes are hex, e.g. '1f44d' (thumbs up). Plaky API: PUT .../comments/{itemCommentId}/reactions.
入力スキーマ
{
"type": "object",
"properties": {
"space_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Space id (from plaky_list_spaces)."
},
"board_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Board id (from plaky_list_boards)."
},
"item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Item id (from plaky_list_items)."
},
"comment_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Comment id (from plaky_list_item_comments)."
},
"reaction_codes": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Emoji hex codes, e.g. ['1f44d']. Empty list removes all."
}
},
"required": [
"space_id",
"board_id",
"item_id",
"comment_id",
"reaction_codes"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス