---
title: "Connect AnyDesk to Claude: Access Device Rosters and System Status"
slug: connect-anydesk-to-claude-access-device-rosters-and-system-status
date: 2026-06-08
author: Uday Gajavalli
categories: ["AI & Agents"]
excerpt: "A step-by-step technical guide for IT admins and DevOps engineers to connect AnyDesk to Claude via MCP, enabling automated client and session management."
tldr: "Learn how to expose AnyDesk's REST API to Claude using Truto's dynamic MCP server. We cover generating the server via UI or API, handling AnyDesk's rate limits, and securing tool execution."
canonical: https://truto.one/blog/connect-anydesk-to-claude-access-device-rosters-and-system-status/
---

# Connect AnyDesk to Claude: Access Device Rosters and System Status


If your team uses ChatGPT, check out our guide on [connecting AnyDesk to ChatGPT](https://truto.one/connect-anydesk-to-chatgpt-manage-clients-and-remote-sessions/). Building automated scripts or multi-agent orchestrations? See our guide on [connecting AnyDesk to AI Agents](https://truto.one/connect-anydesk-to-ai-agents-automate-client-and-session-management/).

IT support desks and DevOps teams rely on AnyDesk for remote device access and system management. As environments scale, manually auditing client lists, tracking active sessions, and updating device configurations becomes a bottleneck. By exposing the AnyDesk API directly to Anthropic's Claude via the [Model Context Protocol (MCP)](https://truto.one/what-is-mcp-model-context-protocol-the-2026-guide-for-saas-pms/), you can transform a conversational interface into a capable IT operations assistant.

Truto's [dynamic MCP server generation](https://truto.one/how-to-generate-mcp-servers-for-your-saas-users-2026-architecture-guide/) allows you to instantly turn any connected AnyDesk account into a secure, JSON-RPC 2.0 compliant toolset. This guide covers how to [architect that connection](https://truto.one/the-hands-on-guide-to-building-mcp-servers-for-ai-agents-2026/), handle API realities, and execute real-world IT management workflows inside Claude.

## The Engineering Reality of the AnyDesk API

Before connecting an LLM to your IT infrastructure, it is critical to understand the specific mechanical constraints of the AnyDesk API. Generic API wrappers often fail because they ignore the underlying quirks of the vendor's implementation.

### 1. HTTP 429s and Strict Rate Limits

AnyDesk enforces strict rate limiting to protect their infrastructure. Truto does not absorb, throttle, or automatically retry HTTP 429 (Too Many Requests) errors. When the AnyDesk API rate limits a request, Truto passes the 429 status code directly back to Claude.

However, Truto normalizes the disparate upstream rate limit headers into standard IETF format (`ratelimit-limit`, `ratelimit-remaining`, `ratelimit-reset`). This predictable structure allows Claude (or your agent framework) to reliably read the headers and execute its own exponential backoff or wait strategies before retrying the tool call.

### 2. Destructive Partial Updates

The `any_desk_clients_partial_update` and `any_desk_sessions_partial_update` endpoints expect precise `PATCH` payloads. AnyDesk's data model includes nested configuration objects. If an LLM attempts to patch a top-level key without retaining the existing nested structure, it risks overwriting or blanking out critical device configurations. You must instruct Claude to always perform a `GET` operation first to fetch the current state before sending a `PATCH` request.

### 3. Session State Pagination

Retrieving AnyDesk sessions via `list_all_any_desk_sessions` across a large enterprise fleet yields heavily paginated responses. Truto injects `limit` and `next_cursor` properties into the tool's query schema. Claude is explicitly instructed via the schema descriptions to pass the cursor values back unchanged. This prevents the LLM from hallucinating offset values or mangling the opaque cursor strings AnyDesk requires for pagination.

## Creating the AnyDesk MCP Server

Truto scopes every MCP server to a single integrated account, backed by a cryptographic token that handles routing and authentication. You can provision this server visually through the Truto UI or programmatically via the API.

### Option 1: Via the Truto UI

1. Navigate to the **Integrated Accounts** section in your Truto dashboard and select your AnyDesk connection.
2. Click the **MCP Servers** tab.
3. Click **Create MCP Server**.
4. Define a recognizable name (e.g., "AnyDesk IT Ops Server").
5. Select specific method filters (like `read` only) or tags if you want to restrict the LLM's capabilities.
6. Click Save and copy the generated MCP server URL (`https://api.truto.one/mcp/...`).

### Option 2: Via the Truto API

For teams managing infrastructure as code, you can generate the MCP server dynamically via a `POST` request. Truto will validate the integration, generate a secure token, store it in the distributed key-value layer, and return a ready-to-use URL.

```bash
curl -X POST https://api.truto.one/integrated-account/{integrated_account_id}/mcp \
  -H "Authorization: Bearer YOUR_TRUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Claude AnyDesk IT Ops",
    "config": {
      "methods": ["read", "write"]
    }
  }'
```

**Example Response:**

```json
{
  "id": "mcp-token-xyz789",
  "name": "Claude AnyDesk IT Ops",
  "config": { "methods": ["read", "write"] },
  "expires_at": null,
  "url": "https://api.truto.one/mcp/a1b2c3d4e5f67890"
}
```

## Connecting the MCP Server to Claude

Once you have the Truto MCP URL, you need to register it as a toolset within Claude. You can do this via Claude's UI or by configuring the local desktop application.

### Option 1: Claude Desktop or Web UI

1. Open Claude and navigate to **Settings** -> **Connectors** -> **Add custom connector**.
2. Paste your Truto MCP URL into the connection field.
3. Click **Add**.
Claude will immediately initiate the JSON-RPC 2.0 handshake (`initialize`), request the tool schemas (`tools/list`), and map the AnyDesk operations to its internal reasoning engine.

### Option 2: Manual Configuration File

If you are running Claude Desktop and prefer file-based configuration, you can edit the `claude_desktop_config.json` file. While traditional MCP setups rely on local stdio execution, Truto servers are accessed via remote HTTP transport. Depending on your MCP client framework, remote servers are mapped via specific SSE/HTTP parameters or a proxy script. For Claude's direct implementation:

```json
{
  "mcpServers": {
    "anydesk_truto": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-proxy",
        "https://api.truto.one/mcp/a1b2c3d4e5f67890"
      ]
    }
  }
}
```
*(Note: Refer to Claude's latest MCP transport documentation for exact proxy command structures for remote HTTP endpoints).* 

## AnyDesk Tool Inventory

Truto automatically generates tool schemas based on the integration's documentation records. Below is the two-tier breakdown of the AnyDesk tools available to Claude. For complete schema details, including required query parameters and JSON body structures, visit the [AnyDesk integration page](https://truto.one/integrations/detail/anydesk).

### Hero Tools

These are the high-impact operations most commonly used by IT support teams to manage AnyDesk fleets.

### `list_all_any_desk_clients`
List all registered AnyDesk clients in your account. Returns a collection of client objects containing aliases, IDs, and online status.
> "Show me all online AnyDesk clients associated with the London office network."

### `list_all_any_desk_sessions`
Retrieve all historical and active AnyDesk sessions. Returns session objects containing duration, endpoints, and status metrics.
> "Pull the list of active AnyDesk sessions running right now. Are any of them exceeding 4 hours?"

### `get_single_any_desk_session_by_id`
Fetch the complete telemetry and metadata object for a specific AnyDesk session. Requires the session `id`.
> "Get the full session details for session ID 837492. I need to see which client initiated the connection."

### `any_desk_clients_partial_update`
Partially update an existing AnyDesk client. Only the fields supplied in the request body are modified. Requires the client `id`.
> "Update the client configuration for ID 554433. Change the alias to 'qa-testing-rig' and save it."

### `list_all_any_desk_sysinfo`
Extract system information from AnyDesk, returning details about system status, versioning, and environment configurations.
> "Run a system info check on our AnyDesk environment. What version are we currently running on the primary node?"

## Workflows in Action

Exposing these tools to an LLM transforms IT from a series of manual clicks into conversational, automated workflows. Here is how specific personas use this setup in the real world.

### Scenario 1: The IT Manager Auditing Active Access

Security policies often mandate that remote desktop sessions should not be left unattended for extended periods. An IT Manager can use Claude to audit current connections quickly.

> "Check our AnyDesk environment for any active sessions. If you find any, get the full details for them and list the client aliases involved."

**Step-by-step execution:**
1. Claude calls `list_all_any_desk_sessions` with query parameters filtering for active states.
2. The API returns an array of session IDs.
3. Claude loops through the array, calling `get_single_any_desk_session_by_id` for each ID to retrieve the deeper telemetry payload.
4. Claude cross-references the client IDs from the session data by calling `get_single_any_desk_client_by_id` to resolve their human-readable aliases.
5. The LLM presents a clean, formatted report of who is currently remoted into what machine.

### Scenario 2: The Helpdesk Engineer Provisioning a Device

When deploying a new machine, support engineers need to assign proper naming conventions and tags so the device is easily identifiable in the AnyDesk roster.

> "Find the new AnyDesk client with the default alias 'DESKTOP-XYZ123'. Update its alias to 'dev-workstation-alpha'."

**Step-by-step execution:**
1. Claude calls `list_all_any_desk_clients` to retrieve the list of endpoints.
2. The LLM parses the results to find the specific client matching the 'DESKTOP-XYZ123' alias and extracts its unique `id`.
3. Claude constructs a JSON payload with just the updated alias string.
4. Claude calls `any_desk_clients_partial_update`, passing the `id` in the query and the payload in the body.
5. The API returns the updated client object, and Claude confirms the successful change to the engineer.

## Security and Access Control

Granting an AI direct access to your remote desktop infrastructure requires strict governance. Truto provides multiple layers of security to lock down your MCP servers.

*   **Method Filtering**: You can restrict an MCP server to only allow `read` operations. If a user asks Claude to delete a client, Claude simply will not have the `delete_a_any_desk_client_by_id` tool in its context window.
*   **Tag Filtering**: Limit the server to expose only specific resource tags. For instance, you can expose "rosters" and "sysinfo" but hide "sessions" to protect privacy.
*   **Token Authentication (`require_api_token_auth`)**: By default, possessing the MCP URL grants access. Enabling this flag adds a secondary layer of authentication, requiring the client to also pass a valid Truto API token in the `Authorization` header to execute a tool.
*   **Time-to-Live (`expires_at`)**: Generate short-lived MCP servers for contractors or temporary audit scripts. Once the timestamp passes, the token is automatically purged from the database and the server ceases to exist.

> Ready to connect your IT infrastructure to AI agents safely? Partner with Truto to automate your AnyDesk workflows and beyond.
>
> [Talk to us](https://cal.com/truto/partner-with-truto)
