plaky-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@plaky-mcplist all spaces in my workspace"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Plaky MCP Server
A Model Context Protocol server that exposes the Plaky project-management REST API to MCP-compatible AI clients (Claude Desktop, Claude Code, Cursor, etc.).
It wraps the full Plaky public API surface — spaces, boards, items/subitems, fields, comments, reactions, files, users and teams — as 26 well-described tools.
Features
Workspace — current user, list/get users (filter by email/status/type), list/get teams
Spaces & boards — list/get spaces, list boards, get board structure (groups, fields, allowed values)
Items — list (with view/parent/expand filters + pagination), get, create item or subitem, delete
Fields — update one field or many at once, by field key or title, with per-type value formats
Comments — list, create (incl. replies), update, delete, and set emoji reactions
Files — list, get, upload (from a local path), rename/describe, delete, download
Clean error reporting (status + API error body), 429 rate-limit awareness, 1-indexed pagination with
hasMore.
Related MCP server: Clickup Universal MCP Server
Install
npm install plaky-mcpOr run without installing globally:
npx plaky-mcpYou need a Plaky API key (Plaky → Profile settings → API). It is sent as the
X-API-Key header on every request.
Client configuration
Claude Desktop / Claude Code (claude_desktop_config.json or .mcp.json)
{
"mcpServers": {
"plaky": {
"command": "npx",
"args": ["-y", "plaky-mcp"],
"env": {
"PLAKY_API_KEY": "your-api-key"
}
}
}
}For Claude Code you can also run:
claude mcp add plaky --env PLAKY_API_KEY=your-api-key -- npx -y plaky-mcpCursor
Add to your MCP settings (.cursor/mcp.json or Cursor Settings → MCP):
{
"mcpServers": {
"plaky": {
"command": "npx",
"args": ["-y", "plaky-mcp"],
"env": {
"PLAKY_API_KEY": "your-api-key"
}
}
}
}Development
git clone https://github.com/pavlealeksic/plaky-mcp.git
cd plaky-mcp
npm install
npm run build
export PLAKY_API_KEY="your-api-key"
npm startEnvironment variables
Variable | Required | Description |
| yes | Plaky API key, sent as |
| no | Override the API base URL (default |
Tool reference
All tools are prefixed plaky_. IDs are integers. Typical flow:
plaky_list_spaces → plaky_list_boards → plaky_get_board (to learn field keys
and allowed values) → plaky_list_items / plaky_create_item /
plaky_update_item_fields.
Tool | Description |
| The API key's owner (verify auth). |
| Workspace members and teams. |
| Spaces (optionally expand boards). |
| Boards and board structure. |
| Read items. |
| Create item/subitem; delete item. |
| Change one / many field values. |
| Comments. |
| Set the caller's emoji reactions on a comment. |
| File attachments. |
Field value formats
When setting fields (on create/update), keys are field keys ("status-1") or
titles ("Status"). Values by type:
Type | Example |
String / Rich text |
|
Number |
|
Date |
|
Timeline |
|
Status |
|
Tag |
|
Link |
|
Person |
|
npm run dev # tsx watch on src/index.ts
npm run build # tsc -> dist/Notes
Rate limit: 200 requests / user / minute; exceeding it returns HTTP 429.
License
MIT
Available Tools
26 toolsplaky_create_itemCreate an item or subitemA
Create a new item (row) on a board, or a subitem when parentId is set. Place it in a group via groupId or groupTitle (defaults to the first group). Set initial field values via fields: an object keyed by field key (e.g. "status-1") or field title (e.g. "Status"). Value formats by field type — String/RichText: "text"; Number: 13.4; Date: "2026-01-02T18:10:15.254Z"; Timeline: {start, end}; Status: "To do" or label id "1"; Tag: ["Product","HR"] or ids; Link: "https://..." or {url, displayText}; Person: {users:[{id}|{email}], teams:[{id}|{title}]}. Call plaky_get_board first to discover available fields and allowed values.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Item title. Defaults to "New Item" / "New Subitem". | |
| fields | No | Initial field values keyed by field key or title. See tool description for value formats. | |
| boardId | Yes | Unique board identifier. | |
| groupId | No | Id of the group to create the item in. | |
| spaceId | Yes | Unique space identifier. | |
| parentId | No | If set, creates a subitem under this parent item id instead of a top-level item. | |
| groupTitle | No | Title of the group to create the item in (used if groupId is omitted). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries the burden. It indicates a write operation (create) but lacks details on failure modes, rate limits, or authentication needs. However, it does not contradict any unstated annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is informative and well-structured, starting with the core purpose. It is not excessively long, though some redundancy exists (e.g., explaining parentId in both description and schema).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so the description should explain return values, but it does not mention what is returned (e.g., created item ID). The guidance on plaky_get_board is helpful, but the gap in output info detracts from completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. The description adds significant value by detailing value formats for fields and default behavior, exceeding the schema's minimal descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new item or subitem, specifying the verb (create), resource (item/subitem), and condition (parentId). It distinguishes from sibling tools like update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises calling plaky_get_board first to discover fields and values, setting a clear prerequisite. It implies alternatives (update tools) but does not explicitly state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_create_item_commentCreate item commentB
Add a comment to an item. Set repliesToId to post the comment as a reply to an existing comment.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Comment text. | |
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. | |
| repliesToId | No | Id of the comment this is a reply to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must cover behavioral traits. It only states the action without disclosing side effects (e.g., write access required, rate limits) or return behavior. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—one sentence that front-loads the primary action and adds a critical detail about replies. Every word is useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (5 params, no output schema), the description is adequate but minimal. It lacks information on response behavior, error handling, or constraints beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are described in the schema (100% coverage). The description adds value by clarifying that 'repliesToId' is used to post as a reply, which the schema also conveys. No additional semantics for required params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add a comment to an item,' which matches the tool's name and title. It is specific enough to distinguish from sibling tools like update or delete, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like plaky_update_item_comment or plaky_delete_item_comment. There is no mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_delete_itemDelete an itemA
Permanently delete an item (and its subitems) by id. This cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states the deletion is permanent and irreversible, but does not disclose what happens to related data (e.g., comments, files) or any authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences that front-load the action with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple deletion tool but lacks details on return values, error handling, and relationship to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no additional meaning to the parameters beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it permanently deletes an item and its subitems by ID, distinguishing it from sibling tools that delete comments or files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like plaky_create_item or plaky_delete_item_comment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_delete_item_commentDelete item commentC
Permanently delete a comment by id.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. | |
| itemCommentId | Yes | Unique comment identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'permanently delete', which implies irreversibility, but with no annotations, it lacks disclosure of required permissions, side effects, or return behavior. This is minimal for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is direct and front-loads the essential action. It is concise without being under-specified, though it could add more context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with four required IDs, the description provides the core purpose but omits behavioral context (e.g., permissions, response format) that would benefit an agent, especially given the absence of any annotations or output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions. The description adds no further meaning beyond 'by id', so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('delete') and the resource ('comment'), and specifies identification by ID. It is specific enough to distinguish from sibling tools like plaky_delete_item, but it does not explicitly differentiate itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as updating or fetching comments. There is no mention of prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_delete_item_fileDelete item fileB
Permanently delete a file attached to an item.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. | |
| itemFileId | Yes | Unique item file identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions 'permanently delete' but lacks details on permissions needed, side effects, irreversibility consequences, or error handling—important for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, front-loaded sentence of 6 words with no redundancy, achieving maximal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite simplicity, the description omits success/error return behaviors and fails to explain what happens after deletion, leaving gaps for a mutation tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all 4 parameters with brief descriptions; the tool description adds no extra parameter meaning, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action (permanently delete) and resource (file attached to an item), distinguishing it from sibling tools like update, download, upload, get, list, and delete_item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives or any prerequisites, though the action is straightforward and sibling tool names self-explanatory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_download_item_fileDownload item fileA
Download a file attached to an item. If the API returns JSON (e.g. a presigned download URL) that is returned directly. If it returns binary content, provide savePath to write it to disk; the tool then returns the saved path and size. Binary content is never streamed into the conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. | |
| savePath | No | Absolute path to write the downloaded bytes to (required if the API returns raw file content). | |
| itemFileId | Yes | Unique item file identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description fully carries burden. Discloses that JSON responses are returned directly, binary requires savePath, and binary contents are never streamed into conversation. Adds critical behavioral context beyond basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences: first states purpose, next two detail behavior. Front-loaded, no irrelevant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a download tool with 5 parameters and no output schema, description explains when parameters are needed and what outputs to expect. Lacks mention of error conditions (e.g., invalid IDs), but covers core usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers 100% of parameters with descriptions. Description adds value by clarifying that savePath is required for binary responses and explaining the output handling for both cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Download a file attached to an item' and distinguishes behavior between JSON and binary responses. Specifically distinguishes from sibling tools like get_item_file and upload_item_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes when to use (to download file) and provides context on JSON vs binary responses. Does not explicitly mention when not to use, but implied by sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_get_boardGet board by idA
Get a single board by id, including its structure: groups, field/column definitions and their configurations (status labels, tag labels, etc.). Read this before creating or updating items so you know the available field keys/titles and allowed values.
| Name | Required | Description | Default |
|---|---|---|---|
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains the return content in detail (groups, field definitions, labels), which adds value beyond the input schema. Although it doesn't explicitly state read-only nature, it's inferred from 'Get'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. First sentence states primary function and output, second provides usage guidance. Well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, description sufficiently explains what the response contains (groups, field definitions, labels). It also gives critical usage context for creation/update workflows, making it fully helpful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. Description adds no parameter-specific detail but uses 'by id' to reinforce the boardId parameter. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get a single board by id' and specifies what is included (structure, groups, field/column definitions, configurations). It distinguishes from sibling tools like plaky_list_boards by indicating the depth of information returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explicitly recommends reading this before creating or updating items to know available field keys and allowed values. While it doesn't name alternative tools, the context implies when to use this versus list boards.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_get_current_userGet current userA
Get the user that owns the API key making the request. Useful for verifying authentication and discovering the caller's user id.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Although no annotations are provided, the description accurately represents the tool's behavior as a read-only, safe operation with no side effects. It adds value by clarifying the purpose beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two sentences that pack all necessary information without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully explains the tool's purpose and use case. Despite lacking an output schema, it provides sufficient context about the return value (the current user).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, the description does not need to add parameter details. The baseline for no parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'current user', and its purpose for authentication verification. It distinguishes itself from siblings as no other tool retrieves the current user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions use cases ('verifying authentication', 'discovering caller's user id'), providing clear context for when to use. However, it lacks explicit guidance on when not to use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_get_itemGet item by idB
Get a single item by id, including its field values.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Relationships to expand into full objects instead of bare IDs, e.g. ["fields","group"]. | |
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It only says 'including its field values' but fails to disclose that it is a read-only operation, potential error conditions (e.g., item not found), or any authorization requirements. The agent has no insight into side effects or safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently conveys the core purpose. Every word is necessary, and there is no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain the return value structure. It mentions 'including its field values' but does not describe what other fields are returned, the format of the response, or how the expand parameter alters the output. This leaves the agent without enough context to handle the response correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are already well-described in the input schema with 100% coverage. The description adds no additional meaning beyond the schema, such as clarifying the expand parameter's effect or parameter relationships. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('a single item by id'), and includes that field values are returned. This distinguishes it from sibling tools like plaky_list_items, which retrieves multiple items, and plaky_get_item_file, which retrieves a file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not indicate when to use this tool over alternatives (e.g., plaky_list_items for multiple items), nor does it mention prerequisites or context like needing itemId, boardId, and spaceId to be known.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_get_item_fileGet item file detailsA
Get metadata for a single file attached to an item.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. | |
| itemFileId | Yes | Unique item file identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description states it retrieves metadata, implying a read-only operation with no side effects. This is sufficient for a simple retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, clearly conveys the tool's purpose. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not explain what metadata is returned (e.g., file name, size, type). While adequate for a simple retrieval, it could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all four parameters with descriptions (100% coverage), so the description adds no additional meaning beyond what the schema already provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description 'Get metadata for a single file attached to an item' uses a specific verb ('Get') and resource ('metadata for a single file'), clearly distinguishing it from sibling tools like download, delete, or upload.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., plaky_download_item_file for actual file content). The usage context is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_get_spaceGet space by idB
Get a single space by its id.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Set to ["board"] to include full board objects instead of IDs. | |
| spaceId | Yes | Unique space identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the basic action, omitting details about read-only nature, error handling, or authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 parameters, no output schema), the description is somewhat minimal. It does not hint at the return structure or potential use cases, but it is adequate for a basic get-by-id operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters (spaceId and expand), achieving 100% coverage. The description adds no additional meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get a single space by its id.' uses a specific verb and resource, clearly stating the tool's purpose. It distinguishes itself from sibling tools like plaky_list_spaces (for listing) and plaky_get_board (for boards).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., plaky_list_spaces). There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_get_teamGet team by idB
Get a single team by its id.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Unique team identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description is minimal and does not disclose any behavioral traits such as idempotency, authentication needs, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise and front-loaded with the essential action. Single sentence with no extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get tool with one parameter and no output schema, the description is minimally adequate but could mention that it returns the team object for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description ('Unique team identifier'). Description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get a single team by its id' with a specific verb and resource. It distinguishes from sibling plaky_list_teams which retrieves all teams.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like plaky_list_teams for multiple teams. Lacks when-not or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_list_boardsList boards in a spaceA
List the boards contained in a given space. Supports pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-indexed). Omit for the first page. | |
| spaceId | Yes | Unique space identifier. | |
| pageSize | No | Number of results per page. Omit for the API default. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states listing and pagination, not whether it's read-only or has other behavioral traits. Adequate for a simple list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two short sentences with no unnecessary information. Well-front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but the tool is simple. Could mention return format, but not essential given the straightforward operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents parameters well. Description only adds that it supports pagination, not adding new meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'List', resource 'boards', and scope 'in a given space'. Distinguishes it from sibling tools like 'plaky_list_spaces' and 'plaky_list_items'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions pagination support but provides no guidance on when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_list_item_commentsList item commentsB
List all comments on an item, including replies and reaction details.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states what the tool returns (comments with replies and reactions) but does not disclose read-only behavior, rate limits, or any side effects. For a list tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no unnecessary words. It efficiently conveys the tool's function and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with no output schema, the description adequately covers the return content (comments, replies, reactions). It could be improved by mentioning the structure or pagination, but given the low complexity, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters (spaceId, boardId, itemId) are described in the schema with clear identifiers. The description does not add additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List', the resource 'comments on an item', and specifies that replies and reaction details are included. This distinguishes it from sibling tools like creating or deleting comments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like plaky_set_comment_reactions or plaky_update_item_comment. The description lacks context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_list_item_filesList item filesB
List the files attached to an item.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It only states the action without disclosing whether the operation is read-only, what permissions are needed, or any side effects. The description does not add behavioral context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core action. It is front-loaded with the verb and resource, containing no superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple with 3 required parameters and no output schema, the description does not mention what the list returns (e.g., file IDs, names, metadata). A more complete description would clarify the output format, but the tool is still usable with minimal context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described (itemId, boardId, spaceId as unique identifiers). The description adds no additional meaning beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List the files attached to an item.' uses a specific verb ('List') and resource ('files attached to an item'), clearly distinguishing it from sibling tools like 'plaky_get_item_file' (single file) and 'plaky_upload_item_file' (create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'plaky_get_item_file' for a specific file. No exclusions or context are given, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_list_itemsList board itemsA
List items (rows) on a board, with optional filtering. Supports pagination; the response includes a hasMore flag indicating whether more pages exist.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-indexed). Omit for the first page. | |
| expand | No | Relationships to expand into full objects instead of bare IDs, e.g. ["fields","group"]. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. | |
| pageSize | No | Number of results per page. Omit for the API default. | |
| parentId | No | Return subitems of this parent item id instead of top-level items. | |
| boardViewId | No | Restrict to a specific board view's filtering/sorting. | |
| subitemsBehaviour | No | How subitems are treated: INCLUDE (default), EXCLUDE, or EMBED nested under their parent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description mentions pagination with a `hasMore` flag but does not disclose side effects, permissions, or error behavior. With no annotations, the description carries the burden but provides only partial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no redundancy. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on response format (beyond hasMore), how filtering works, or interpretation of results for 8 parameters. Adequate but not fully complete for a list tool with many options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% parameter coverage with descriptions, so the description adds minimal new meaning beyond summarizing 'optional filtering' and 'pagination'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists items on a board with optional filtering and pagination. It distinguishes itself from sibling tools like plaky_create_item, plaky_get_item, etc. by focusing on listing all items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this versus alternatives (e.g., plaky_get_item for a single item, plaky_list_subitems for subitems). The description implies usage for listing but lacks when-not-to or context for other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_list_spacesList spacesB
List spaces in the workspace. Spaces are top-level containers that hold boards. Use expand=["board"] to include full board objects.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-indexed). Omit for the first page. | |
| expand | No | Set to ["board"] to include full board objects instead of IDs. | |
| pageSize | No | Number of results per page. Omit for the API default. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. It mentions expand parameter but does not disclose pagination behavior, read-only nature, authentication requirements, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and parameter hint. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with no output schema – description covers purpose and key parameter. Lacks usage guidelines and behavioral details, but is adequate for a straightforward listing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, giving baseline 3. Description adds value by explaining the expand parameter's effect, but adds nothing for page or pageSize beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists spaces, which are top-level containers. It distinguishes from sibling tools like plaky_list_boards by describing the hierarchy, but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as plaky_get_space or plaky_list_boards. No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_list_subitemsList subitems of an itemB
List the subitems nested under a given item. Supports pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-indexed). Omit for the first page. | |
| expand | No | Relationships to expand into full objects instead of bare IDs, e.g. ["fields","group"]. | |
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. | |
| pageSize | No | Number of results per page. Omit for the API default. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It only mentions pagination support but fails to disclose expected behavior such as response format, error handling, authorization requirements, or whether subitems are returned flat or hierarchically.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence plus phrase), which is concise but too brief – it omits important details about behavior and usage, so it does not fully 'earn its place'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 6 parameters and no output schema, the description is minimal. It does not cover return format, pagination defaults, or what constitutes a subitem, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides (e.g., pagination context is already in parameters).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'subitems nested under a given item', which distinguishes it from sibling tools like plaky_list_items (lists top-level items) and plaky_get_item (single item). 'Supports pagination' adds scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when subitems of an item are needed, but it does not explicitly state when to use this tool vs alternatives (e.g., plaky_list_items for top-level items) or provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_list_teamsList workspace teamsB
List all teams in the workspace. Supports pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-indexed). Omit for the first page. | |
| pageSize | No | Number of results per page. Omit for the API default. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only mentions pagination. Does not disclose read-only nature, authentication requirements, rate limits, or response behavior beyond pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Front-loaded with verb and resource. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list with pagination, description is adequate but lacks details like default page size, how to iterate for all teams, and response format. No output schema, so slight gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so schema already describes both parameters. Description adds 'Supports pagination' but does not add new meaning beyond what schema provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'list', the resource 'teams', and scope 'workspace'. Distinguishes from sibling 'plaky_get_team' by indicating it returns all teams.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like 'plaky_get_team'. Lacks any when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_list_usersList workspace usersA
List users in the workspace. Optionally filter by emails, status, or membership type. Supports pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-indexed). Omit for the first page. | |
| type | No | Filter by workspace membership type. | |
| emails | No | Filter to users with these email addresses. | |
| status | No | Filter by account status. | |
| pageSize | No | Number of results per page. Omit for the API default. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool lists users and supports filters/pagination, which implies a read-only operation. However, it does not disclose any side effects, required permissions, or rate limits. For a simple list tool, this is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main action, no unnecessary words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with 5 optional parameters and no output schema, the description covers the core purpose and filtering options. It mentions pagination but does not detail the return structure, which is acceptable given the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description summarizes the parameters (emails, status, membership type, pagination) but does not add meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List', the resource 'users in the workspace', and mentions filtering and pagination. It distinguishes itself from sibling tools which list other entities (boards, items, spaces, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing workspace users with optional filters, but does not explicitly state when to use or when not to use alternatives. Since no sibling tool lists users, the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_set_comment_reactionsSet comment reactionsA
Set the authenticated user's reactions on a comment. This OVERRIDES any existing reactions by the caller; pass an empty array to remove all of them. Each reaction is an emoji's unicode codepoint without the "U+" prefix (case-insensitive) — e.g. "1f44d" (thumbs up), "2705" (check mark), "2764" (heart).
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. | |
| reactions | Yes | Emoji unicode codepoints (no "U+" prefix), e.g. ["1f44d"]. Empty array removes all. | |
| itemCommentId | Yes | Unique comment identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses the overriding behavior and emoji codepoint format, but does not mention error handling, idempotency, or potential side effects. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each conveying essential information without fluff. The purpose is front-loaded, and the behavior is explained directly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description sufficiently explains the action, parameter format, and override behavior. Minor gap: no mention of return value or confirmation, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by explaining case-insensitivity and the no 'U+' prefix rule for emoji codepoints, which is not evident from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets the authenticated user's reactions on a comment, explicitly noting it overrides existing reactions. The verb 'Set' and resource 'reactions on a comment' are specific and distinct from sibling tools like plaky_update_item_comment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use the tool: to set reactions, with explicit notes on overriding and how to remove all reactions via empty array. It does not explicitly exclude use cases but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_update_item_commentUpdate item commentB
Edit the text of an existing comment.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | New comment text. | |
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. | |
| repliesToId | No | Id of the comment this is a reply to. | |
| itemCommentId | Yes | Unique comment identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states the basic action without disclosing side effects, permissions, or failure modes. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence front-loaded with verb and resource, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with no output schema; missing context on parameter relationships (e.g., hierarchical identifiers) and optional 'repliesToId' behavior, but still functional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Edit the text of an existing comment' uses a specific verb and resource, clearly distinguishing from sibling tools like create or delete comment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., create instead of edit). No when-not-to or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_update_item_fieldUpdate a single item field valueA
Change the value of one field on an item, identified by the field key or title (itemFieldKey). The value format depends on the field type — String/RichText: "text"; Number: 13.4; Date: "2026-01-02T18:10:15.254Z"; Timeline: {start, end}; Status: "To do" or "1"; Tag: ["Product","HR"]; Link: "https://..." or {url, displayText}; Person: {users:[{id}|{email}], teams:[{id}|{title}]}.
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | New field value. Format depends on the field type (see description). | |
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. | |
| itemFieldKey | Yes | Field key (e.g. "status-1") or field title (e.g. "Status"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It details the value format for various field types, which is crucial behavioral info. However, it omits side effects, permissions, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that includes a long list of examples, making it dense but not verbose. It could be structured more clearly, but it contains essential info without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description covers the input well but does not mention what the tool returns. Given the parameter count and schema coverage, it is fairly complete, but missing response details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already defines parameters. The description adds significant value by explaining the value parameter format per field type, which the schema only hints at. Other parameters are not further elaborated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Change the value of one field on an item' and identifies the resource (field value) and key parameter (itemFieldKey). It distinguishes from siblings like plaky_update_item_fields (multiple fields) and plaky_create_item (create items).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs. alternatives. While the description implies it's for updating a single field, it lacks explicit when-not-to-use or alternative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_update_item_fieldsUpdate multiple item field valuesA
Change several field values on an item in one request. fields is an object keyed by field key or title, with values following the same per-type formats as plaky_create_item (e.g. {"Status":"Done", "number-1":42}).
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | Object mapping field key/title to new value. See plaky_create_item for value formats. | |
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool changes field values (a mutation) and references value formats from plaky_create_item, which is helpful. However, it does not mention side effects, permissions, or what happens to unspecified fields. This is a moderate level of transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that cover purpose and key parameter detail. No unnecessary words; every sentence adds value. It is front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, one nested object, and no output schema, the description is sufficiently complete for correct invocation. It explains the critical 'fields' parameter well. However, it could optionally mention return values or error handling, but this is not a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining that 'fields' is an object keyed by field key or title with per-type formats (e.g., examples). This clarifies the parameter usage beyond the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Change several field values on an item in one request.' The verb 'change' and resource 'field values' are specific. The mention of 'several' and 'one request' distinguishes it from the sibling tool 'plaky_update_item_field' (singular).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool should be used when multiple fields need updating in one request, which is efficient. While it doesn't explicitly state when not to use or alternatives, the contrast with the singular sibling tool is clear. The guidance is adequate but could be more explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_update_item_fileUpdate item file metadataA
Rename a file or change its description. The original file extension/type is preserved regardless of the name given.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | New file name. | |
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. | |
| itemFileId | Yes | Unique item file identifier. | |
| description | No | New file description. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It discloses that file extension is preserved, but lacks details on permissions, idempotence, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste. Front-loaded with purpose and key behavioral trait.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Core operation is well covered. Lacks output schema and error details, but given schema completeness and no output schema requirement, it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage for parameter descriptions. The description adds meaningful nuance about the name parameter (preserving extension), which goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool renames a file or changes its description, with a notable behavioral detail about preserving file extension. This clearly distinguishes it from siblings like delete, download, upload.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use (rename or change description) but does not explicitly contrast with alternatives like plaky_update_item_field or plaky_upload_item_file.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaky_upload_item_fileUpload a file to an itemA
Upload a local file and attach it to an item. Provide the absolute path to a file on the machine running this MCP server.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Unique item identifier. | |
| boardId | Yes | Unique board identifier. | |
| spaceId | Yes | Unique space identifier. | |
| fileName | No | Optional name to store the file as (defaults to the local file name). | |
| filePath | Yes | Absolute path to the local file to upload. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It only mentions the absolute path requirement and fails to specify important traits like file size limits, overwrite behavior, authentication needs, or error handling for missing files.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no wasted words. It begins with the action and immediately provides critical context (absolute path).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is adequate for a simple upload but lacks key context such as file size limits, whether the file is stored permanently, or how to verify success. Some gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds minimal extra meaning beyond emphasizing the absolute path requirement, which the schema already states. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool uploads a local file and attaches it to an item, using specific verbs ('upload', 'attach') and resource ('file', 'item'). It distinguishes itself from sibling tools like plaky_download_item_file and plaky_delete_item_file by specifying 'local file'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by instructing to provide an absolute path, but does not explicitly state when to use this tool compared to alternatives like plaky_update_item_file or plaky_delete_item_file. No when/when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct resource-action combination (e.g., create_item vs. create_item_comment, update_item_field vs. update_item_fields). There is no ambiguity between tools; even similar ones like list_items and list_subitems are clearly differentiated by resource.
All tools follow the pattern 'plaky_<verb>_<noun>' in snake_case. Verbs are consistent (create, delete, get, list, update, etc.) and nouns correspond to the resource. No mixing of conventions.
26 tools is on the higher side but still appropriate for a comprehensive project management MCP server covering items, comments, files, boards, spaces, users, and teams. Each tool serves a distinct purpose; the count is justified by the domain's breadth.
The tool surface covers core CRUD operations for items, comments, and files, plus listing for boards, spaces, users, teams, and subitems. Missing operations like creating/updating boards or spaces are minor gaps for a tool focused on item-level management.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
ClickUp MCP — wraps the ClickUp REST API v2 (BYO API key)
Monday.com MCP — wraps the Monday.com GraphQL API (BYO API key)
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Manage Superlist tasks and lists in plain language from any MCP-compatible AI agent.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered project management by connecting Claude to Planka kanban boards via 75+ MCP tools for creating, updating, and managing projects, boards, lists, and cards.1GPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Clickup's project management tools through the MCP protocol, allowing task and project operations via natural language.1MIT
- AlicenseAqualityBmaintenanceEnables interaction with ClickUp workspaces, spaces, folders, lists, tasks, and comments via MCP tools.1Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to interact with Plane project management APIs, offering tools for managing projects, work items, cycles, modules, initiatives, and more through MCP.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pavlealeksic/plaky-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server