Public leaderboard

Public assessment

Lukaris/framedeck-mcp (framedeck-mcp)

framedeck-mcp · v2.1.1 · scanned

What changed in the harness

Selection accuracy 98→100, token cost up 17%, unconfirmed writes 0%→0%.

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

0.0 / 30

0.0 out of 30
02Legibility

20.2 / 30

20.2 out of 30
03Economics

17.9 / 20

17.9 out of 20
04Discoverability

14.0 / 20

14.0 out of 20

Highest-impact fix

Estimated gain +30 points

Add explicit identity and permission preflight tools

Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.

Description evidence

Defects and rewrites.

32 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
list_boards
no_return_description
List all projects/productions in Framedeck. Returns an array of boards with their IDs and metadata, useful for discovering existing boards or finding a board ID for other calls.
create_board
name_restates_behavior no_return_description
Create a new project/board in Framedeck with an optional emoji icon, hex color, and mode (creator for Productions/Stages/Frames or classic for Projects/Stages/Cards). Returns the created board including its ID so you can reference it in subsequent calls.
set_active_board
no_return_description
Set the active board/production context for the session. Once set, other tools will use this board by default when no board is specified. Returns the board that is now active, confirming the change.
get_active_board
no_return_description
Show which board/production is currently set as the active context. Returns the name and/or ID of the active board, or indicates that no board is set.
list_columns
no_return_description
List stages in a board, using the active board if set and no board is specified. Returns the board's stages (columns) with their IDs so you can target a specific stage in other calls.
list_labels
name_restates_behavior no_return_description
Return all labels/tags available in Framedeck, including their names and colors, so you can reference existing labels when creating or tagging cards.
create_label
name_restates_behavior no_return_description
Create a new label/tag with a name and optional hex color (default #6b7280) for later attaching to cards. Returns the created label including its ID.
list_cards
no_return_description
List cards/frames in a board with optional filters, using the active board if set and no board is specified. Returns the matching cards, optionally filtered by column, priority, and limited to a maximum number (default 50).
create_card
no_return_description
Create a new card/frame with a required title and optional description, stage, board, priority, labels, and due date. Uses the active board if set, or the Idea Pool as a fallback for quick idea capture; column defaults to the first stage. Returns the created card including its ID.
update_card
name_restates_behavior no_return_description
Modify an existing card/frame identified by ID or partial title match, updating any combination of title, description, stage, priority, or due date; pass an empty string to clear priority or due date. Returns the updated card so you can verify the changes.
move_card
name_restates_behavior no_return_description
Move a card/frame identified by ID or partial title match to a different stage (column) by name or ID, advancing it through the workflow. Returns the card reflecting its new stage.
delete_card
name_restates_behavior no_return_description
Permanently remove a card/frame identified by ID or partial title match. This action cannot be undone, so use it only when a card should be discarded. Returns confirmation of the deletion.
add_comment
name_restates_behavior no_return_description
Append a comment with the given text to a card identified by ID or partial title match, for recording notes and updating discussion on the card. Returns confirmation of the added comment.
add_checklist_item
name_restates_behavior no_return_description
Add a subtask/checklist item with the given text to a card identified by ID or partial title match, for tracking smaller tasks within the card. Returns confirmation of the added item.
get_card_details
name_restates_behavior no_return_description
Retrieve the full details of a card identified by ID or partial title match, including its comments, checklists, attachments, and labels, for a complete view of its state. Returns the card with all associated data.
search_cards
name_restates_behavior no_return_description
Find cards across all boards by matching a keyword against card titles and descriptions. Returns the matching cards (up to the limit, default 20), useful when you remember only part of a card's content.
assign_card
name_restates_behavior no_return_description
Set or remove the assignee of a card identified by ID or partial title match. Provide the user's email to assign them, or set unassign to true to clear the current assignee. Returns the updated card.
get_my_cards
no_return_description
Get cards assigned to the current user, grouped by status, in the specified board or the active board if set. Returns the grouped cards; set include_done to true to also include completed cards (default false).
link_commit
params_unexplained no_return_description
Link a git commit to a card identified by ID or partial title match, supplying the commit SHA, message, branch (the branch the commit was made on, e.g. 'main'), and optional repository name or URL. Automatically adds the commit info as a comment on the card. Returns confirmation of the link.
log_work
params_unexplained no_return_description
Log time spent on a card, specifying the card by its ID or title (partial matches supported), the number of hours worked, and an optional description of the work done. Returns confirmation of the logged time.
get_sprint_summary
no_return_description
Show a summary of activity across all boards for the past N days (default 7). Returns the summary, useful for standups and sprint review.
create_multiple_cards
no_return_description
Create multiple cards/frames at once (up to 50), ideal for batch idea capture via voice. Uses the active board if set, or the Idea Pool if board is omitted; column defaults to the first stage, and labels apply to all created cards. Returns the created cards with their IDs.
toggle_checklist_item
no_return_description
Check or uncheck a subtask/checklist item on a card identified by ID or partial title match, matching the item by partial text. Set checked to true or false, or omit it to toggle the current state. Returns the updated checklist item with its new state.
get_board_overview
no_return_description
Get a quick overview of a board, using the active board if not specified. Returns the stages with card counts and any overdue items, giving a rapid health check of the board.
add_labels_to_card
name_restates_behavior no_return_description
Attach one or more existing labels to a card identified by ID or partial title match, specifying label names or IDs. Useful for categorizing cards with the board's predefined labels. Returns the updated card.
remove_label_from_card
name_restates_behavior no_return_description
Remove a label (by name or ID) from a card, e.g. to correct an incorrectly assigned or no-longer-relevant label. Returns a confirmation of the removal, or an error if the card or label is not found.
archive_card
no_return_description
Archive a card (soft delete — can be restored in the UI). Returns a confirmation of the archive operation, or an error if the card is not found.
duplicate_card
name_restates_behavior no_return_description
Create a copy of a card including its checklist items, optionally under a new title (default: "Copy of <original>"), useful for reusing a card as a template. Returns the newly created card, or an error if the source card is not found.
set_card_color
name_restates_behavior no_return_description
Set or clear the color used to visually categorize a card; provide a hex color (e.g. "#ef4444") to set it or an empty string to clear it. Returns the updated card, or an error if the card is not found.
create_column
no_return_description
Create a new stage in a board, using the active board if none is specified and an optional stage color (default: #6b7280). Returns the created column/stage, or an error if the board is not found.
delete_column
no_return_description
Delete a stage/column from a board; cards in that stage are moved to the first remaining stage. The board parameter helps resolve ambiguous stage names. Returns a confirmation of the deletion, or an error if the column or board is not found.
graduate_to_production
no_return_description
Promote an idea from the Idea Pool into its own dedicated production with full stages (Idea → Scripting → Filming → Editing → Published). Moves the idea card to the "In Production" stage in the Idea Pool (auto-archived after the configured days). Returns the newly created production, or an error if the idea is not found.

Selection evidence

Confusable tool pairs.

5 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
create_card create_multiple_cards high A batch task like 'capture these ideas: X, Y, Z' or 'create cards for all these items' maps to both; create_multiple_cards even advertises voice batch capture, and both share card/frame + active-board semantics.
delete_card archive_card high User saying 'delete/remove this card' could mean either; archive_card is explicitly a soft delete and both tools take only an id, so intent (permanent vs soft) is indistinguishable from the phrase.
update_card move_card high update_card's column field is literally documented as 'Move to stage', fully overlapping move_card's purpose, so a task like 'move card X to Done' can legitimately be served by either tool.
add_comment add_checklist_item medium Both take card_id + free-text text; a task like 'add a note to card X' or 'add: pick up milk' could be interpreted as a comment or as a subtask/checklist item.
list_cards search_cards medium A task like 'find/show cards about Apollo' is ambiguous: list_cards filters by board while search_cards matches keyword across titles/descriptions, so the agent may pick the wrong retrieval semantics.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard