Skip to main content
Glama

Device Magic MCP by usefulapi

Send a form to a device (dispatch)

devicemagic_send_dispatch
Destructive

WRITE: pushes a form, optionally prefilled, to one device where its user will see it (like assigning a job). Not idempotent: calling it twice sends two dispatches. Needs the Enterprise plan. The form is named by its namespace (list_forms); payload maps question identifiers (get_form) to prefilled values (subforms = nested objects, repeat groups = arrays). POST /api/v2/devices/{identifier}/dispatches.json.

Input Schema

NameRequiredDescriptionDefault
confirmYesMust be true: you confirm the form is sent to this device now (its user sees it).
payloadNoPrefilled values keyed by question identifier.
form_nameNoTitle shown to the device user.
scheduled_atNoWhen the dispatch becomes due, ISO 8601 such as 2026-11-02T09:00:00Z.
form_namespaceYesForm namespace (field `namespace` of list_forms).
form_descriptionNoDescription shown to the device user (Device Magic allows at most 255 characters).
device_identifierYesDevice identifier (field `identifier` of a device, e.g. iPhone_abcdef1234567890).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the description earns credit for adding context the annotations don't: the Enterprise plan requirement, that the device's user will see the form, and that duplicate calls create two dispatches. It could say more about reversibility (i.e., pairing with revoke_dispatch) or failure modes, but the plan/auth and duplication details are genuine additive value.

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

Conciseness4/5

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

Front-loaded with the WRITE marker and the core effect, and every clause carries information (idempotency, plan, payload shape, endpoint). It is a single dense block, however; splitting the payload rule into its own sentence would improve scanability.

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 mutation with no output schema, it covers the effect, preconditions, idempotency, and payload construction. It stops short of telling the agent how to retrieve or undo the resulting dispatch (get_dispatch / revoke_dispatch), which would close the remaining loop.

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 baseline is 3, but the description goes further by explaining how `payload` keys map to question identifiers from get_form and how nested subforms and repeat groups are represented. That is real semantic guidance beyond the schema's 'Prefilled values keyed by question identifier.'

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?

Opens with an explicit verb-and-resource statement ('pushes a form ... to one device') plus an analogy ('like assigning a job') that pins down the effect. Distinguishes it from the read-side siblings (list_dispatches, get_dispatch, revoke_dispatch) and names the sourcing siblings list_forms and get_form.

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 preconditions (Enterprise plan, confirm gate, device already exists) and a warning against duplicate calls, which effectively tells the agent when not to re-invoke. It does not explicitly contrast with siblings like revoke_dispatch or list_device_dispatches, so routing guidance is implied rather than spelled out.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.