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

# MCP server

{% hint style="danger" %}
The MCP server feature in Remote Desktop Manager (RDM) is experimental and provided AS IS. Its use may involve transmitting sensitive or personal data to third-party AI/LLM providers, which Devolutions does not control.

Before proceeding, review our [Security and confidentiality disclaimer for MCP server usage](https://docs.devolutions.net/rdm/ribbon-menu-bar/tools/all-tools/mcp-server/security-and-confidentiality-disclaimer-for-mcp-server-usage).
{% endhint %}

***MCP server (experimental)*** allows you to communicate with Remote Desktop Manager using an MCP client with your preferred Large Language Model (LLM). Using this method, users can interact with the Remote Desktop Manager application through text-based prompts, allowing them to quickly and efficiently create vaults and folders, send commands to opened connections, and much more.

Although MCP servers operate by leveraging pre-configured tools, reference to these by the user is not necessary when writing prompts. For example, identifying entries with out-of-date credentials and batch updating them may require the use of multiple tools, but the user only needs to write a simple sentence asking for deprecated passwords to be updated.

{% hint style="info" %}
The ***MCP server (experimental)*** tool can be disabled altogether by [applying the appropriate Group Policy Object (GPO)](https://docs.devolutions.net/rdm/knowledge-base/how-to-articles/apply-policies-gpos).
{% endhint %}

### MCP server configuration

RDM MCP server is locally hosted on your desktop, and as such it is compatible with most MCP clients that support local MCPs. Below are some of the methods to configure it:

**Using Visual Studio Code**

1. In Visual Studio Code, open the command palette (<kbd>CTRL</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd>), and run `MCP: Open User Configuration`. This opens the `mcp.json` file on your user profile or creates it for you if it is not found.
2. Connect to Remote Desktop Manager using one of the following methods:

   * With WinGet, run `winget install jetsocat`, then:

   ```
   {
   	"servers": {
   		"rdm-mcp": {
   			"type": "stdio",
   			"command": "jetsocat",
   			"args": ["mcp-proxy", "-", "np://RDM.MCP"]
   		}
   	},
   	"inputs": []
   }
   ```

   * Directly:

   ```
   {
   	"servers": {
   		"rdm-mcp": {
   			"type": "stdio",
   			"command": "C:\\Program Files\\Devolutions\\Remote Desktop Manager\\runtimes\\win-x64\\native\\jetsocat.exe",
   			"args": ["mcp-proxy", "-", "np://RDM.MCP"]
   		}
   	},
   	"inputs": []
   }
   ```
3. Open Remote Desktop Manager, and click on ***Tools*** – ***More tools*** – ***MCP server (experimental)***.
4. In the ***MCP server (experimental)*** window, click the ***Start*** button.

**Using Claude Desktop**

1. Open Claude Desktop, and click on ***Settings*** – ***Developer*** – ***Edit Config***.
2. Open `claude_desktop_config.json`, and add the following content:

   ```
   {
   	"mcpServers": {
   		"rdm-mcp": {
   			"type": "stdio",
   			"command": "jetsocat",
   			"args": ["mcp-proxy", "-", "np://RDM.MCP"]
   		}
   	}
   }
   ```

   If you are using Claude Code (CLI), you can run this PowerShell script:

   ```powershell
   claude mcp add-json rdm --scope user '{"type": "stdio", "command": "jetsocat", "args": ["mcp-proxy", "-", "np://RDM.MCP"]}'
   ```

   Or this cmdline:

   ```
   claude mcp add-json rdm --scope user '{"type": "stdio", "command": "jetsocat", "args": ["mcp-proxy", "-", "np://RDM.MCP"]}
   ```
3. Restart Claude Desktop. The server should then be listed in the ***Developer*** section and the tools available in the chat itself.

**Using Codex CLI**

1. Open Codex in Visual Studio Code.
2. Click on ***Settings*** in the Codex panel, and then ***MCP settings*** – ***Open config.toml***. Click to create a new configuration file or use the curent one.
3. Add the following content:

   ```
   [mcp_servers."rdm-mcp"]

   command = 'C:\Program Files\Devolutions\Remote Desktop Manager\runtimes\win-x64\native\jetsocat.exe'

   args    = ['mcp-proxy', '-', 'np://RDM.MCP']
   ```

{% hint style="info" %}
The MCP server can be set to launch on Remote Desktop Manager startup by checking the option located in ***File*** – ***Settings*** – ***AI*** – ***MCP server (experimental)***.
{% endhint %}

### Tools

As stated above, Remote Desktop Manager MCP servers offers tools that can be called via prompts using your MCP client. MCP clients allow you to pick and choose the tools that best fit your needs.

{% hint style="success" %}
A good way to reduce security risks is to disable tools capable of deleting sensitive data or complex infrastructure.
{% endhint %}

For more details about each tool, ask your LLM for a list or consult the tables below.

| Workspace management   |                                                           |
| ---------------------- | --------------------------------------------------------- |
| `RDM_list_datasources` | Lists all available workspaces in Remote Desktop Manager. |

**ENTRY MANAGEMENT**

| Basic entry operations |                                                        |
| ---------------------- | ------------------------------------------------------ |
| `RDM_list_entries`     | Lists all the entries in a vault.                      |
| `RDM_get_entry`        | Retrieves detailed information about a specific entry. |
| `RDM_create_folders`   | Creates folder structures within a vault.              |

| Entry modification           |                                                                                      |
| ---------------------------- | ------------------------------------------------------------------------------------ |
| `RDM_update_entry_name`      | Updates the name of an entry.                                                        |
| `RDM_update_entry_host`      | Updates the host/server address of an entry.                                         |
| `RDM_update_entry_host_port` | Updates the port number of an entry.                                                 |
| `RDM_update_entry_username`  | <p>Updates the</p><p><em><strong>Username</strong></em></p><p>field of an entry.</p> |
| `RDM_update_entry_password`  | <p>Updates the</p><p><em><strong>Password</strong></em></p><p>field of an entry.</p> |
| `RDM_update_entry_domain`    | <p>Updates the</p><p><em><strong>Domain</strong></em></p><p>field of an entry.</p>   |
| `RDM_batch_edit_entries`     | Batch edits multiple entries using property mappings.                                |

| Entry organization |                                                                     |
| ------------------ | ------------------------------------------------------------------- |
| `RDM_move_entries` | Moves multiple entries to a different folder within the same vault. |
| `RDM_copy_entries` | Copies multiple entries to a different folder or vault root.        |

| OTP management         |                                                                                               |
| ---------------------- | --------------------------------------------------------------------------------------------- |
| `RDM_add_otp_to_entry` | Adds a one-time password (OTP) or multifactor authentication (MFA) configuration to an entry. |
| `RDM_get_entry_otp`    | Generates and retrieves the current OTP for an entry.                                         |

**CONNECTION MANAGEMENT**

| Common actions                         |                                                           |
| -------------------------------------- | --------------------------------------------------------- |
| `close_connection`                     | Closes a connection tab.                                  |
| `get_connection_info`                  | Gets the information (name, type, ID) of a connection.    |
| `RDM_open_connection`                  | Opens a session entry in Remote Desktop Manager.          |
| `RDM_list_opened_connections`          | Lists all currently opened connections.                   |
| `RDM_list_opened_connection_actions`   | Lists available actions for opened connections (by type). |
| `RDM_execute_opened_connection_action` | Executes actions on opened connections.                   |

| RDP connections        |                                                                           |
| ---------------------- | ------------------------------------------------------------------------- |
| `send_ctrl_alt_delete` | Sends <kbd>CTRL</kbd>+<kbd>Alt</kbd>+<kbd>Delete</kbd> to an RDP session. |
| `send_command`         | Executes commands via Devolutions Agent on the remote machine.            |
| `logoff`               | Logs off from an RDP session.                                             |
| `toggle_view_only`     | Toggles the view-only mode.                                               |

| SSH connections                          |                                                                         |
| ---------------------------------------- | ----------------------------------------------------------------------- |
| `send_command`                           | Sends commands to an SSH terminal.                                      |
| `send_command_from_a_vault_script_entry` | Executes vault script entries on an SSH terminal.                       |
| `send_break`                             | Sends a break signal (<kbd>CTRL</kbd>+<kbd>C</kbd>) to an SSH terminal. |
| `clear_terminal`                         | Clears the SSH terminal’s screen.                                       |
| `get_terminal_status`                    | Retrieves the SSH terminal’s connection status and state.               |

| SQL Server connections |                                                                                   |
| ---------------------- | --------------------------------------------------------------------------------- |
| `start_sql_agent`      | Starts the SQL Server Agent service.                                              |
| `stop_sql_agent`       | Stops the SQL Server Agent service.                                               |
| `restart_sql_server`   | Restarts the SQL Server service.                                                  |
| `refresh_data`         | Refreshes SQL Server data (databases, logins, etc.).                              |
| `create_new_query`     | Creates a new SQL query tab with specified query text and database.               |
| `get_database_schema`  | Retrieves a comprehensive database schema (tables, columns, relationships, etc.). |

| Hyper-V virtual machines |                                               |
| ------------------------ | --------------------------------------------- |
| `list_vms`               | Lists all virtual machines on a Hyper-V host. |
| `start_vm`               | Starts a virtual machine.                     |
| `stop_vm`                | Stops a virtual machine.                      |
| `restart_vm`             | Restarts a virtual machine.                   |

| vault management           |                                                                                |
| -------------------------- | ------------------------------------------------------------------------------ |
| `RDM_create_vaults`        | Creates one or more vaults with intelligent prompting for missing information. |
| `RDM_list_vaults`          | Lists all the vaults in a specified workspace.                                 |
| `RDM_list_vault_templates` | Lists available vault templates for a specified workspace.                     |

| Metadata and templates             |                                                                               |
| ---------------------------------- | ----------------------------------------------------------------------------- |
| `RDM_list_entry_metadata`          | Provides metadata about entry types and their localized display names.        |
| `RDM_list_entry_property_mappings` | Lists all available entry properties which can be modified via batch editing. |
| `RDM_create_custom_entry_template` | Creates custom entry templates with specified fields.                         |

| Logging and audit    |                                                                   |
| -------------------- | ----------------------------------------------------------------- |
| `RDM_get_entry_logs` | Retrieves activity logs for a specific entry within a date range. |


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.devolutions.net/rdm/ribbon-menu-bar/tools/all-tools/mcp-server.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
