Skip to main content
Glama
purian

widgetdash-mcp

by purian

Push one number to iPhone widget

push_number
Idempotent

Set or update a single number, text, or status value on an iPhone Home Screen or Lock Screen widget via WidgetDash, creating the source if it does not exist.

Instructions

Quickest way to put a single number or value on the user's iPhone Home Screen / Lock Screen widget via WidgetDash, e.g. 'Stripe MRR = $12,400' or 'Open tickets = 7'. Sets one metric (matched by label) on a source, keeping the source's other metrics, title and icon; creates the source if it does not exist. Requires WIDGETDASH_WRITE_KEY.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
iconNoSF Symbol name shown next to the title, e.g. 'dollarsign.circle.fill', 'chart.bar.fill', 'server.rack', 'heart.fill', 'cart.fill'. If omitted, keeps the existing icon (default 'circle.fill').
typeNoOptional; defaults to the existing metric's type, else inferred from the value.
colorNoOptional accent color (green/red/yellow/blue/gray/orange/purple/cyan); defaults to the existing metric's color.
labelYesShort label shown on the widget, e.g. 'MRR' or 'Users online'.
valueYesThe value to display, pre-formatted as you want it shown (e.g. '$12,400', '42', 'Healthy'). For 'progress' use 0-100.
categoryNoFree-form grouping, e.g. 'finance', 'monitoring', 'fitness'. If omitted, keeps the existing category (default 'general').
sort_orderNoPosition among sources on the widget (lower first). If omitted, keeps the existing order (default 0).
source_keyYesStable identifier for this data source, e.g. 'stripe_mrr' or 'server_health'. Lowercase letters, digits, '_' or '-'. Pushing to an existing key updates it; a new key creates a new widget source.
display_nameNoTitle shown on the widget, e.g. 'Stripe'. If omitted, keeps the existing name (or derives one from source_key for new sources).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare write (readOnlyHint=false), non-destructive, and idempotent behavior. The description adds genuine value beyond them: it clarifies that other metrics, title and icon are preserved, that a missing source is created, and that WIDGETDASH_WRITE_KEY is required. It omits return format and any 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.

Conciseness5/5

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

Front-loaded with the primary purpose and an example, followed by upsert behavior and the auth requirement. Every sentence earns its place with no redundancy.

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?

For a 9-parameter write tool with no output schema and full schema coverage, the description covers upsert semantics, preservation of existing fields, and the write-key requirement, which is largely sufficient. It could say more about what a successful push returns, but the core is complete.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics by stating the metric is 'matched by label', clarifying the identity key for the upsert, plus a worked example ('Stripe MRR = $12,400') that illustrates pre-formatted value input.

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 ('put a single number or value on the user's iPhone Home Screen / Lock Screen widget') and includes concrete examples. The emphasis on 'a single number' inherently distinguishes it from the sibling push_metrics, which handles batches.

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 clear context for when to reach for this tool ('Quickest way to put a single number or value') and explains the upsert outcome when the source exists or not. It does not explicitly name push_metrics as the alternative for multiple values or state exclusions, so it stops short of a 5.

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