Skip to main content
Glama

add_device

Link a new Signal device to your account using its device-link URI. Requires signal-mcp to be the primary device; fails on linked devices or expired links.

Instructions

Link a new device (e.g. Signal Desktop or another signal-cli) to your account. uri (required): the device-link URI (sgnl://linkdevice?...) shown by the new device as a QR code or printed by 'signal-cli link'. Only works when signal-mcp is the account's primary device — fails with 'This command doesn't work on linked devices' if signal-mcp was set up via signal-cli link. Also fails on a malformed or expired link or when the account already has the maximum number of linked devices. The linked device gets full access to the account; never use a URI from an untrusted source. Returns status 'device linked'; confirm with list_devices, undo with remove_device.

Input Schema

NameRequiredDescriptionDefault
uriYesDevice link URI (sgnl://linkdevice?...) from the new device's QR code or signal-cli link output

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.43.0
    • changedInput schema / properties / uri / description
      Previous value: -"Device link URI (from signal-cli link output)"New value: +"Device link URI (sgnl://linkdevice?...) from the new device's QR code or signal-cli link output"
  2. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare the generic safety profile (readOnly=false, destructive=false, openWorld=true, idempotent=false). The description adds what annotations cannot: the exact error string returned when run on a linked device, the three failure modes, the fact that the linked device gains full account access, and an explicit security warning never to use an untrusted URI.

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 action, then prerequisites, failure modes, and cleanup path in a tight sequence; every sentence carries operational information. It is on the denser side for a one-parameter tool, but no sentence is filler.

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

Completeness5/5

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

For a single-parameter, no-output-schema mutation tool, it covers everything an agent needs: prerequisite state, error conditions, security caveat, the return status string ('device linked'), and the follow-up/undo tools.

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% and the single uri parameter is fully described in the schema, so the description's mention of 'the device-link URI (sgnl://linkdevice?...) shown as a QR code or printed by signal-cli link' mostly reinforces existing schema text. Baseline 3 applies when the schema carries the semantics.

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 — 'Link a new device ... to your account' — with an example of what a device is. It is immediately distinguishable from siblings like list_devices, update_device, and remove_device.

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

Usage Guidelines5/5

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

Explicitly states the precondition (only works when signal-mcp is the primary device), the failure conditions (linked-device setup, malformed/expired link, device limit), and routes the agent to alternatives: confirm with list_devices, undo with remove_device.

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