Plaky MCP by usefulapi
Read boards and items, create items, set field values and add comments in Plaky.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin plaky_get_item_file_download_url
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"plaky": {
"url": "https://plaky.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://plaky.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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}.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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}.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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}.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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}.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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}.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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"
}Community
Nachweis