> For the complete documentation index, see [llms.txt](https://docs.remote.it/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.remote.it/mcp-server/tools.md).

# Tool Reference

Every tool the Remote.It MCP server exposes to your AI assistant — devices, connections, services, networks and scripting — and which ones need approval.

The tools the Remote.It MCP server exposes to your AI assistant. You normally never call these directly — the assistant chooses them based on what you ask — but knowing what's available helps you know what you can ask for. For worked examples of what to ask, see the [Prompt Library](/mcp-server/prompt-library.md).

All tools operate within your account's permissions and the scopes you granted at sign-in (see [Permissions & Safety](/mcp-server/permissions-and-safety.md)). Tools marked ⚠ are destructive or execute code, and require an explicit confirmation step before they run.

## Account & context

| Tool            | Description                                                                                                      |
| --------------- | ---------------------------------------------------------------------------------------------------------------- |
| `whoami`        | Your identity, active organization, and permissions                                                              |
| `graphql_query` | Read-only access to the full [GraphQL API](/developer-tools/api.md) for anything not covered by a dedicated tool |
| `search_schema` | Search the GraphQL schema by keyword to discover available data                                                  |

## Devices & services

| Tool                                | Description                                                                                                                                  |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_devices`                      | List devices, filtered by name, online state, or owner; each result carries its platform and state                                           |
| `get_device`                        | Full detail for one device, including its services                                                                                           |
| `list_platforms`                    | The device platforms Remote.It supports, and how each one is onboarded                                                                       |
| `create_registration_code`          | Create a registration code with the ready-to-run install command for a platform                                                              |
| `claim_device`                      | Claim a new device by claim code                                                                                                             |
| `claim_demo_device`                 | Add Remote.It's hosted demo device to your account, to try a connection with nothing installed                                               |
| ⚠ `delete_device`                   | Remove a device from your account                                                                                                            |
| `share_device`                      | Share devices with other Remote.It users by email — every service on the device, or just the ones you name; scripting only if you ask for it |
| ⚠ `unshare_device`                  | Revoke a share — the people you name lose the device and all of its services                                                                 |
| ⚠ `transfer_device`                 | Transfer device ownership to another account                                                                                                 |
| `add_service`                       | Add a service (SSH, HTTP, RDP, …) to a device                                                                                                |
| `update_service` / `rename_service` | Change a service's configuration or name                                                                                                     |
| ⚠ `remove_service`                  | Remove a service from a device                                                                                                               |

## Connections

| Tool                    | Description                                                                                                                                                      |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `open_connection`       | Open a connection to a service and return the endpoint to use                                                                                                    |
| `close_connection`      | Close an open connection                                                                                                                                         |
| `get_connections`       | Connections open right now — across your account or on one device; yours, plus other people's on services you manage — each with the ID `close_connection` takes |
| `set_connect_link`      | Create or update a persistent public connect link for a service                                                                                                  |
| ⚠ `remove_connect_link` | Remove a connect link                                                                                                                                            |

## Organization: tags & networks

| Tool                                                   | Description                                                  |
| ------------------------------------------------------ | ------------------------------------------------------------ |
| `list_tags` / `add_tags` / `remove_tags`               | View and manage device tags                                  |
| `create_tag`                                           | Define a tag deliberately, with a colour, before applying it |
| `list_networks`                                        | List your networks                                           |
| `create_network` / `update_network`                    | Create or rename a network                                   |
| ⚠ `delete_network`                                     | Delete a network                                             |
| `add_network_connection` / `remove_network_connection` | Add or remove services in a network                          |

## Scripting & jobs

Scripting tools are only available when your account and the target devices have the Scripting permission. Executing a script always requires confirmation. See [Device Scripting](/developer-tools/device-scripting.md).

| Tool                    | Description                                                                                                         |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `list_scripts`          | Browse your uploaded scripts                                                                                        |
| `get_script`            | A script's details, the arguments it takes, and its contents — to review it, edit it, or copy it to another account |
| `create_script`         | Upload a new script                                                                                                 |
| ⚠ `delete_script`       | Permanently delete a script and every saved version of it                                                           |
| ⚠ `run_script`          | Execute a script on selected devices or tags                                                                        |
| `list_jobs` / `get_job` | Track script job status per device                                                                                  |
| `get_job_logs`          | Read the output a script reported from each device                                                                  |
| `cancel_job`            | Cancel a running job                                                                                                |
| `wait_for_job`          | Block until a job finishes — preferred over polling `get_job`                                                       |
| ⚠ `delete_job`          | Delete a finished job's records                                                                                     |

## Products (OEM & bulk provisioning)

For accounts using [bulk provisioning](/oem-and-bulk-provisioning/overview.md).

| Tool                                | Description                                |
| ----------------------------------- | ------------------------------------------ |
| `list_products`                     | List your products                         |
| `create_product` / `update_product` | Create or modify a product definition      |
| ⚠ `delete_product`                  | Delete a product                           |
| ⚠ `transfer_product`                | Transfer a product to another account      |
| `add_product_service`               | Add a service definition to a product      |
| ⚠ `remove_product_service`          | Remove a service definition from a product |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.remote.it/mcp-server/tools.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
