Device Magic MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.15.4Updated Nov 7, 2026

Read Device Magic forms, submissions, devices and groups; send and revoke dispatches.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowData & Analytics

Overview

AI-generated overview

Connects an assistant to Device Magic so it can read forms, submissions, devices and groups, and send or revoke form dispatches.

What you can do
  • List and inspect forms, including their questions, identifiers and versions
  • Read submitted form data with device, user and timestamp metadata, plus lookup tables and files used by forms
  • List devices, groups and pending device approvals, and view where a form's submissions are sent
  • List outstanding dispatches, inspect prefilled values, and send or revoke dispatches to a device
  • Check monthly tool-call usage, request a missing feature, and manage or cancel a subscription
When to use it
Useful when a team collects field data through Device Magic and wants an assistant to review submissions, check which devices are awaiting approval, or push prefilled forms to a device as assigned work.
Requirements
Remote MCP endpoint added by URL only; sign-in is via OAuth, and on first connect you supply your Device Magic API access token and organization id. A Device Magic account is required; dispatch features need the Enterprise plan. Free tier allows 50 tool calls per month.
Before you install
Write tools send dispatches (not idempotent, so a repeat call sends a second one), revoke dispatches irreversibly, and approve devices; confirm before running them. Meta tools can start a paid Stripe subscription or cancel it, with no refund for the current period. The server holds your Device Magic API token and organization id.

Installation

In SourceWeft

  1. Open Device Magic MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fdevice-magic/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "device-magic-by-usefulapi": {
      "type": "http",
      "url": "https://device-magic.usefulapi.io/mcp"
    }
  }
}

README

Device Magic MCP by usefulapi

Read Device Magic forms, submissions, devices and groups; send and revoke dispatches.

Live endpoint: https://device-magic.usefulapi.io/mcp · Homepage: https://usefulapi.io/device-magic

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://device-magic.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http device-magic https://device-magic.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "device-magic": {      "url": "https://device-magic.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Device Magic credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/device-magic/

On first connect you'll paste your Device Magic API access token (Account Settings → API Access) and your organization id (the number in your dashboard URL, app.devicemagic.com/organizations/12345/...).

Tools

ToolTypeWhat it does
devicemagic_list_formsreadList forms
devicemagic_get_formreadGet form definition
devicemagic_list_submissionsreadList form submissions
devicemagic_list_devicesreadList devices
devicemagic_get_devicereadGet device
devicemagic_list_groupsreadList groups
devicemagic_list_resourcesreadList resources
devicemagic_describe_resourcereadDescribe resource
devicemagic_list_destinationsreadList form destinations
devicemagic_get_destinationreadGet form destination
devicemagic_list_dispatchesreadList outstanding dispatches
devicemagic_list_device_dispatchesreadList a device's outstanding dispatches
devicemagic_get_dispatchreadGet dispatch with prefilled values
devicemagic_list_dispatch_recipientsreadList dispatch recipients
devicemagic_send_dispatchwriteSend a form to a device (dispatch)
devicemagic_revoke_dispatchwriteRevoke a dispatch
devicemagic_approve_devicewriteApprove a pending device
devicemagic_usage_statusmetaUsage status (free-tier meter)
devicemagic_request_featuremetaRequest a missing feature
devicemagic_upgrademetaUpgrade to Pro or Pro+
devicemagic_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with devicemagic_upgrade (it returns a Stripe Checkout link). Cancel any time with devicemagic_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running devicemagic_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Device Magic.

Source: servers/device-magic/README.md at commit 4046075

Tools

17

devicemagic_list_forms

List forms

List the organization's forms: id, namespace (the form's unique id used for dispatching), version, description and group. GET /organizations/{org}/forms.json.

Takes no parameters.

devicemagic_get_form

Get form definition

One form's definition: title and its questions/pages with identifiers and types (the identifiers are the keys inside submissions and dispatch payloads). Optionally a specific version. GET /organizations/{org}/forms/{id}.json.

Parametersform_idrequiredversion

devicemagic_list_submissions

List form submissions

Submitted data of one form, newest data as stored in the form's Device Magic Database destination (it must be active on that form). Each record has form info, metadata (device, user, submitted_at, received_at, submission_id) and the answers. The reply says current_page, total_pages and total_count. Filter by from_date/to_date (yyyy-mm-dd). GET /api/forms/{id}/device_magic_database.json.

Parameterspageform_idrequiredto_dateper_pagefrom_date

devicemagic_list_devices

List devices

List the organization's devices (phones, tablets, web-form users): id, identifier, owner, description, group and whether approval is pending. GET /organizations/{org}/devices.json.

Takes no parameters.

devicemagic_get_device

Get device

One device: id, identifier, owner, description, pending_approval, groups and custom attributes. GET /organizations/{org}/devices/{id}.json.

Parametersdevice_idrequired

devicemagic_list_groups

List groups

List the organization's groups (which devices see which forms), optionally narrowed by a name filter or by tags. GET /api/v2/organizations/{org}/groups.json.

Parameterspagetagsfilter

devicemagic_list_resources

List resources

List the organization's resources (lookup tables and files used by forms): id, original filename, version, description. GET /api/resources.json.

Takes no parameters.

devicemagic_describe_resource

Describe resource

Metadata of one resource: status, version and, for spreadsheets, its tables and columns. The file content itself is not downloaded. GET /api/resources/{id}/describe.json.

Parametersresource_idrequired

devicemagic_list_destinations

List form destinations

List where one form's submissions are sent (e-mail, Dropbox, database, ...): id, active flag, format and transport types, timestamps. GET /api/forms/{id}/destinations.json.

Parametersform_idrequired

devicemagic_get_destination

Get form destination

One destination of a form. Credentials and tokens of the destination are never returned. GET /api/forms/{form_id}/destinations/{id}.json.

Parametersform_idrequireddestination_idrequired

devicemagic_list_dispatches

List outstanding dispatches

Outstanding dispatches (prefilled forms pushed to devices and not yet completed) of the whole organization: id, form name and namespace, device, scheduled time. Dispatch is an Enterprise-plan feature. GET /api/v2/organizations/{org}/dispatches.json.

Takes no parameters.

devicemagic_list_device_dispatches

List a device's outstanding dispatches

Outstanding dispatches of one device. GET /api/v2/devices/{identifier}/dispatches.json.

Parametersdevice_identifierrequired

devicemagic_get_dispatch

Get dispatch with prefilled values

One dispatch of a device including the values it was prefilled with. GET /api/v3/devices/{identifier}/dispatches/{id}.json?include_inputs=true.

Parametersdispatch_idrequireddevice_identifierrequired

devicemagic_list_dispatch_recipients

List dispatch recipients

Devices and web-forms users a dispatch can be sent to (first 100 by default; use items and page for more). GET /api/v3/dispatch_authors.json.

Parameterspageitems

devicemagic_send_dispatch

Send a form to a device (dispatch)

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.

Parametersconfirmrequiredpayloadform_namescheduled_atform_namespacerequiredform_descriptiondevice_identifierrequired

devicemagic_revoke_dispatch

Revoke a dispatch

WRITE: withdraws one outstanding dispatch from a device (the form disappears from the device). It cannot be undone, but the dispatch can be sent again. DELETE /api/v2/devices/{identifier}/dispatches/{id}.json.

Parametersconfirmrequireddispatch_idrequireddevice_identifierrequired

devicemagic_approve_device

Approve a pending device

WRITE: approves a device that is waiting for approval (pending_approval is true) so it can receive forms. Approving an approved device has no effect. POST /organizations/{org}/devices/{id}/approve.

Parametersdevice_idrequired

Version history

14
  1. v1.15.4LatestNov 7, 2026
  2. v1.14.3Nov 5, 2026
  3. v1.14.2Nov 5, 2026
  4. v1.14.1Nov 4, 2026
  5. v1.14.0Nov 3, 2026
  6. v1.13.1Nov 3, 2026
  7. v1.12.0Nov 1, 2026
  8. v1.10.0Oct 31, 2026
  9. v1.9.0Oct 31, 2026
  10. v1.8.2Oct 30, 2026
  11. v1.8.0Oct 30, 2026
  12. v1.3.0Oct 26, 2026
  13. v1.0.3Oct 25, 2026
  14. v1.0.0Oct 25, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations