Skip to main content
Glama
ecestnrkl

figjam-context-mcp

Diff Board Snapshots

diff_board
Read-onlyIdempotent

Compare stored FigJam board snapshots to report changes in clusters, nodes, and connectors, revealing differences between ingests.

Instructions

Compare retained local snapshots of the same board, reporting cluster, node and connector changes. Requires at least two distinct ingests. compareTo=1 selects the previous snapshot, 2 selects two states back. No network or LLM calls; ingest_board must capture the current Figma state first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
boardIdYesThe Figma file key, as returned by ingest_board
compareToNoHow many snapshots back to use as the baseline (1 = the ingest before the latest)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statsYes
boardIdYes
newClustersYes
summaryTextYesPaste-ready human/LLM-readable change report
removedClustersYes
addedConnectionsYes
currentCreatedAtYesISO timestamp of the latest ingest
modifiedClustersYes
tableCellChangesNo
baselineCreatedAtYesISO timestamp of the baseline ingest
currentSnapshotIdNo
baselineSnapshotIdNo
removedConnectionsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, non-open-world, so the safety profile is covered. The description adds genuine context beyond that: the two-ingest precondition and that no network or LLM calls are made, which is useful cost/latency information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences with no filler; the scope statement comes first, then the precondition, then the parameter shortcut and the ingest dependency. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description covers the key prerequisites and behavioral constraints. It omits the snapshot-history bound (max 19 back) and any note on what happens when fewer than two snapshots exist, but is otherwise sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already documented. The description restates compareTo=1 as 'previous snapshot' and adds '2 selects two states back', which is slightly more intuitive but largely duplicates the schema's own wording. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (compare retained local board snapshots) and names the output (cluster, node and connector changes). An agent can tell it apart from ingest_board and get_board_context immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a hard prerequisite (at least two distinct ingests) and explicitly routes the agent to ingest_board before calling this. It does not say when to prefer this over get_board_context or answer_from_board, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.